class HMdcIdealTracking: public HReconstructor

_HADES_CLASS_DESCRIPTION


 HMdcIdealTracking

 Filling of HMdcHitSim, HMdcSegSim and HMdcTrackCand containers
 by pure GEANT information. With fillParallelCategories() the
 reconstructor is forced to fill HMdcHitIdeal, HMdcSegIdeal and
 HMdcTrackCandIdeal (catMdcHitIdeal,catMdcSegIdeal,catMdcTrkCandIdeal).
 This catgeories are copies of the above. In this case the ideal tracking
 can be run in parallel to the normal tracking.

 HMdcHitSim is filled by corresponding HGeantMdc information.
 HMdcSegSim - by two HGeantMdc hits (only x and y position is used)
              or by HGeantMdc if only one Mdc is active in segment
              The list of wires is filled if catMdcCal1Sim exists.
 HMdcTrackCand - for true combinations of inner and outer segments only

 HMdcHit::getTrackFinder() return 2 for containers filled by this
 code.

 Conditions of HGeantMdc hits selection:
 1. Direction: target->meta.
 2. Hits in the same sector only (after selection 1.
 3. For inner segment >=5 HGeantMdc hits (or HMdcCal1Sim hist).
 4. For outer segment must be inner one.
 5. For outer segment >=4 HGeantMdc hits (or HMdcCal1Sim hist).


Function Members (Methods)

public:
HMdcIdealTracking()
HMdcIdealTracking(const Text_t* name, const Text_t* title)
virtual~HMdcIdealTracking()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Bool_tHReconstructor::connectTask(HTask* task, Int_t n = 0)
virtual voidTNamed::Copy(TObject& named) const
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 Int_texecute()
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 voidTNamed::FillBuffer(char*& buffer)
voidfillParallelCategories()
virtual Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual HTask*HTask::getOwner()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
virtual Bool_tinit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tHReconstructor::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual HTask*HReconstructor::next(Int_t& errCode)
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)
HTask&HTask::operator=(const HTask&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidHReconstructor::printTimer()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_treinit()
voidTObject::ResetBit(UInt_t f)
virtual voidHReconstructor::resetTimer()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidHReconstructor::setActive(Bool_t state)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual Bool_tHTask::setConnections()
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidHTask::setManual()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
voidsetResolutionX(Double_t x0, Double_t x1, Double_t x2, Double_t x3)
voidsetResolutionY(Double_t y0, Double_t y1, Double_t y2, Double_t y3)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
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
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()
private:
voidclear()
voidcollectWires(Int_t s, Int_t m, Int_t l, HGeantMdc* pGeantMdc)
Int_tfillHit(Int_t module)
Int_tfillHitsSeg(Int_t segment)
HMdcTrkCand*fillTrkCandISeg(Int_t segIndex)
HMdcTrkCand*fillTrkCandOSeg(HMdcTrkCand* fTCand, Int_t segIndex)
HMdcHitSim*getHitSlot(Int_t module, Int_t& index)
HMdcSegSim*getSegSlot(Int_t segment, Int_t& index)
voidsetWires(HMdcSegSim* pMdcSeg, Int_t seg)
voidsetWires(HMdcHitSim* pMdcHit, Int_t mod)
Bool_ttestTrack(HGeantKine* pGeantKine)

Data Members

public:
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tHReconstructor::fActiveActive flag
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
Bool_tHTask::fIsTimedtimer flag
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
Bool_tHTask::manual
HTask*HTask::owner
private:
Bool_tfillParallelswitch : kTRUE will fill HMdcHitSim,HMdcSegSim and HMdcTrkCand to ideal categories
HGeantMdc*geantHitLay[4][6]geant hits in 24 layers of sector
HGeantMdc*geantHitMod[4]geant hits in 4 modules of sector
Bool_tisMdcActive[6][4][sec][mod] =kTRUE if MDC is active
HIterator*iterGeantKineiterator for catGeantKine
HMdcList24GroupCells*lCellslist of fired cells from this track
HLocationlocCal1location of HMdcCal1Sim object
HLocationlocHitlocation for new "hit" object
HLocationlocSeglocation for new "segment" object
HLocationlocTrkCandlocation for new HMdcTrkCand object
UChar_tnGeantMdcLay[4]num. of HGeantMdc or HMdcCal1 hits in each module
HCategory*pGeantKineCatpointer to the category catGeantKine
HCategory*pGeantMdcCatpointer to the category catMdcGeantRaw
HMdcSizesCells*pMSizesCells
HCategory*pMdcCal1Catpointer to the category catMdcCal1
HCategory*pMdcHitCatpointer to the category catMdcHit
HCategory*pMdcSegCatpointer to the category catMdcSeg
HCategory*pMdcTrkCandCatpointer to the category catMdcTrkCand
Double_tsigX[4]sigma for gaussian resolution for MDC in x [mm]
Double_tsigY[4]sigma for gaussian resolution for MDC in y [mm]
Int_ttrackNumbertrack number
Int_ttrackSectorsector number of track
Double_tx1[4]
Double_tx2[4]
Double_ty1[4]
Double_ty2[4]
Double_tz1[4]x1,y1,z1 - x2,y2,z2 track piece param.
Double_tz2[4]in sector coor.sys. for each module

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcIdealTracking(void)
 Constructor
HMdcIdealTracking(const Text_t* name, const Text_t* title)
 Constructor
~HMdcIdealTracking()
 Destructor
void clear(void)
 Setting pointer to the categories to NULL
Bool_t init(void)
 Categories and parameters initialization
Bool_t reinit(void)
 Parameters reinitialization
Int_t execute(void)
 Filling of HMdcHitSim, HMdcSegSim and HMdcTrackCand containers
 by pure GEANT information.
 HMdcHitSim is filled by corresponding HGeantMdc information.
 HMdcSegSim - by two HGeantMdc hits (only x and y position is used)
              or by HGeantMdc if only one Mdc is active in segment
 HMdcTrackCand - for true combinations of inner and outer segments only
Bool_t testTrack(HGeantKine* pGeantKine)
 Selection tracks.
 Conditions of HGeantMdc hits selection:
 1. Direction: target->meta
 2. Hits in the same sector only (after selection 1.
 3. For inner segment >=5 HGeantMdc hits (or HMdcCal1Sim hist)
 4. For outer segment must be inner one.
 5. For outer segment >=4 HGeantMdc hits (or HMdcCal1Sim hist)
void collectWires(Int_t s, Int_t m, Int_t l, HGeantMdc* pGeantMdc)
 Collecting list of fired wires (if category catMdcCal1 exist)
Int_t fillHitsSeg(Int_t segment)
 Filling HMdcSegSim container
HMdcSegSim* getSegSlot(Int_t segment, Int_t& index)
 Geting a slot for HMdcSegSim obj. and setting address
Int_t fillHit(Int_t module)
 Filling HMdcHitSim container
HMdcHitSim* getHitSlot(Int_t module, Int_t& index)
 Geting a slot for HMdcHitSim obj. and setting address
HMdcTrkCand* fillTrkCandISeg(Int_t segIndex)
 Filling HMdcTrkCand container by inner segment
HMdcTrkCand* fillTrkCandOSeg(HMdcTrkCand* fTCand, Int_t segIndex)
 Filling HMdcTrkCand container by outer segment
Bool_t finalize(void)
void setWires(HMdcSegSim* pMdcSeg, Int_t seg)
 Filling list of cells in HMdcSeg
void setWires(HMdcHitSim* pMdcHit, Int_t mod)
 Filling list of cells in HMdcHit
void fillParallelCategories()
{fillParallel=kTRUE;}
void setResolutionX(Double_t x0, Double_t x1, Double_t x2, Double_t x3)
{sigX[0] = x0; sigX[1] = x1; sigX[2] = x2; sigX[3] = x3;}
void setResolutionY(Double_t y0, Double_t y1, Double_t y2, Double_t y3)
{sigY[0] = y0; sigY[1] = y1; sigY[2] = y2; sigY[3] = y3;}

Last change: Sat May 22 13:02:28 2010
Last generated: 2010-05-22 13:02

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.