class TMcp: public TObject


The TMcp class inherits from TObject. This Class provides the structure for the MCP (MicroChannel Plate) tracking system. The tracking system is composed of 2 MCP devices descibed by the TMcpDet class.

In a fully functional setup these detectors provide, after proper calibration, x-y position information produced from secondary electron emission. With both MCP devices an incoming angle can be calculated yeilding full tracking of incoming beam particles. Additionally, fast timing signals from the detectors allow for additional and in many cases superior ToF information.

During certain experiments additional gain stages have been employed. To account for these additional QDC channels there are 2 global variables declared in the rootDefine.h file which specify the number of stages. Mapping of QDC (high/low/...) channels to corner branches is currently only done for high and low gains.

I. Unpacking

II. Coordinate System

III. Basic Analysis Proceedure

IV. Important Data Members

Related References

[1] D Shapira, TA Lewis, LD Hulett - Nuclear Inst. and Methods in Physics Research, A, 2000 - Elsevier. A fast and accurate position-sensitive timing detector based on secondary electron emission [Full Text]

[2] D Shapira, TA Lewis, LD Hulett, Z Ciao - Nuclear Inst. and Methods in Physics Research, A, 2000 - Elsevier. Factors afecting the performance of detectors that use secondary electron emission from a thin foil to determine ion impact position [Full Text]

[3] G. Montagnolia, A.M. Stefaninib, M. Trottac, S. Beghinia, M. Bettinia, F. Scarlassaraa, V. Schiavona, L. Corradib, B.R. Beherab, E. Fiorettob, A. Gadeab, A. Latinab, S. Szilnerb, d, L. Donàb, M. Rigatob, N.A. Kondratieve, A. Yu. Chizhove, G. Kniajevae, E.M. Kozuline, I.V. Pokrovskiye, V.M. Voskressenskye and D. Ackermannf The large-area micro-channel plate entrance detector of the heavy-ion magnetic spectrometer PRISMA [Full Text]

 

Function Members (Methods)

public:
TMcp()
TMcp(const TMcp&)
virtual~TMcp()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Int_tCalculate(Long64_t)
Int_tCalibrate(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Option_t* option = "RECREATE")
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* option = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidCopy(TObject& mcp) const
voidCreateFolders()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tGenPrime(Long64_t entry)
Int_tGenPrime(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Option_t* option = "RECREATE")
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const Char_t*GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const Char_t*GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInitBranch(TTree* tree, Option_t* stage)
voidInitClass()
voidInitTree(TTree* tree)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
Bool_tLoadQdcTdcMap()
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tSetMcpMapFile(Char_t* filePath)
voidSetName(const Char_t* name)
voidSetNameTitle(const Char_t* name, const Char_t* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetTitle(const Char_t* title = "")
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
Bool_tUnpack(UShort_t* pEvent)
UShort_t*UnpackCharge(UShort_t* p)
UShort_t*UnpackEnergy(UShort_t* p)
UShort_t*UnpackTime(UShort_t* p)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
TBranch*b_charge! Raw QDC charge branch.
TBranch*b_ene! Raw ADC energy.
TBranch*b_iAngle!
TBranch*b_maskX! Mask x-position in mm.
TBranch*b_maskY! Mask y-position in mm.
TBranch*b_mcp0! MCP0 Branch.
TBranch*b_mcp1! MCP1 Branch.
TBranch*b_rTime! Relative time.
TBranch*b_time! Raw TDC times branch.
TBranch*b_timeCorr! Corrected time.
TBranch*b_xAngle!
TBranch*b_yAngle!
UShort_tcharge[1][32]Raw QDC charge.
UShort_tene[32]Raw ADC energy.
Bool_tfAddRndm! Add random number to convert from short data types to double.
TTree*fChain! pointer to the analyzed TTree or TChain
TMcp*fCon!
Int_tfCurrent! current Tree number in a TChain
UShort_tfNwordsNumber of words in an MCP packet.
TFolder*f_mcp0!
TFolder*f_mcp1!
Double_tiAngleIncident angle.
Double_tmaskTarGap!
Double_tmaskXMask x-position in mm.
Double_tmaskYMask y-position in mm.
TMcpDetmcp0MCP0 (Upstream MCP).
TMcpDetmcp1MCP1 (Target MCP).
Double_tmcpMcpGap! MCP0 to MCP1 distance.
Double_trTime[32]Relative time.
Double_ttShift[4]!
Double_ttarMcpPlasticGap!
Double_tthetaMCP[2]!
UShort_ttime[32]Raw TDC times.
Double_ttimeCorr[32]Corrected time.
Double_tupMcpPlasticGap!
Double_txAngle
Double_tyAngle
protected:
TStringfName! Object identifer.
TStringfTitle! Object title.
Char_t*mcpMapFile! MCP corner and time map file.
private:
Int_tfQdcSlot[1]!
TRandom3fRandom! The class's random number generator.

Class Charts

Inheritance Chart:
TObject
TMcp

Function documentation

TMcp(const TMcp& )
 -- Copy constructor.
void Copy(TObject& mcp) const
 -- Copy this method.

void Clear(Option_t* option = "")
 -- Clear the MCP tracking system data members.

Int_t Calibrate(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Option_t* option = "RECREATE")
 -- Calibrates TMcp components.

Int_t Calculate(Long64_t )
 -- Calculate the MCP tracking system quantities.

void CreateFolders()
 -- Create default folders.

Int_t GenPrime(Option_t* prefix = "", Option_t* path = "", Option_t* treeName = "", Option_t* option = "RECREATE")
 -- Generate primary data.

Int_t GenPrime(Long64_t entry)
 -- Generate primary data for an entry.

void InitBranch(TTree* tree, Option_t* stage)
 --
 Initializes or creates all the branches and member branches for the TMcp
 class on the tree.  This is typically called after instanciating TTree and
 TMcp.  The branch structure will then be generated on the TTree.
void InitClass()
 -- Initialize the MCP tracking system.
 1.  All class data members are set to their default values.
 2.  The InitClass() method for any subclass is called.
 3.  QDC and TDC mapping file is loaded.
void InitTree(TTree* tree)
 -- Initialize the MCP fChain.
 Set fChain to given tree and set the branch addresses.
Bool_t LoadQdcTdcMap()
 -- Load the QDC/TDC mapping file.

Bool_t SetMcpMapFile(Char_t* filePath)
 -- Set the path of the MCP mapping file.

void SetName(const Char_t* name)
 -- Change (i.e. set) the name of the TMcp.

void SetNameTitle(const Char_t* name, const Char_t* title)
 -- Change (i.e. set) all the TMcp parameters (name and title).

void SetTitle(const Char_t* title = "")
 -- Change (i.e. set) the title of the TMcp.

Bool_t Unpack(UShort_t* pEvent)
 -- Unpack raw MCP data from an event buffer.

UShort_t* UnpackEnergy(UShort_t* p)
 -- Unpack the raw MCP energy.

UShort_t* UnpackCharge(UShort_t* p)
 -- Unpack the raw MCP charge.

UShort_t* UnpackTime(UShort_t* p)
 -- Unpack the raw MCP time.

TMcp()
{fRandom.SetSeed(0);}
~TMcp()
{}
const Char_t * GetName() const
{return fName;}
const Char_t * GetTitle() const
{return fTitle;}

Author: Andrew M. Rogers and Mark Wallace, NSCL 07/01/2006
Last change: Sun Dec 21 12:38:49 2008
Last generated: 2008-12-21 12:38
Copyright (C) 2006-2008 Andrew M. Rogers and Mark Wallace

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.