class HMdcTrackFinder: public HReconstructor

_HADES_CLASS_DESCRIPTION

 HMdcTrackFinder

 The program for candidates to tracks finding.

 Using:
 Put in task list task:
 HMdcTrackFinder* trackFinder;

 tasks->connect((trackFinder=new HMdcTrackFinder("MdcTrackD","MdcTrackD",
                                     isCoilOff,typeClustFinder)),"...");

 isCoilOff=kTRUE(kFULSE) - The current in coil is turn off(on) for this run(s).
 typeClustFinder=1(0) - type of the work of cluster finder

 The parameters isCoilOff and typeClustFinder define the type
 of the work of cluster finder (default values of isCoilOff
 and typeClustFinder are kFALSE and 0):

    isCoilOff=kTRUE - the tracks in all MDC will finded to respect of target.
    isCoilOff=kFALSE - the tracks in MDC1 & MDC2 will finded to respect
      of target. In MDC3 & MDC4 - to respect of the the point on kick plane.

    typeClustFinder=0 - the tracks will finded in segment or sector
      (needs in a alignment of MDC's).

 1. isCoilOff=kTRUE, typeClustFinder=1:
      The tracks will be searched in each MDC (1-4) independently
 2. isCoilOff=kTRUE, typeClustFinder=0:
      The tracks will be searched in all MDC of sector together to
    respect of target (needs an alignment of MDC's).
 3. isCoilOff=kFALSE, typeClustFinder=1:
      The tracks will be searched in MDC1, MDC2 (segment 1) independently,
      in MDC3, MDC4 (segment 2) together.
 4. isCoilOff=kFALSE, typeClustFinder=0:
      The tracks will be searched in MDC1, MDC2 (segment 1) together
      (needs an alignment of MDC's).
 5. isCoilOff=kFALSE, typeClustFinder=2:
      The tracks will be searched in MDC1, MDC2 (segment 1) together
      and after it in MDC1, MDC2 (segment 1) independently.
 For isCoilOff=kFALSE the program needs HKickPlane parameters

 The member function
 trackFinder->setNLayers(nLayers);
 set the number of woring planes in MDC's
 Int_t nLayers[6][4]={ {3,6,6,6}, {6,6,6,6}, {6,6,6,6},
                       {4,6,6,6}, {6,6,6,6}, {5,6,6,6} };


 The output of the program is container HMdcClus.
 For writing of HMdcClus to ROOT file use function:
 trackFinder->setPersitency(kTRUE);
                           (put this line in macros befor makeTree()!)

 HMdcClusterToHit task copy the HMdcClus data to HMdcHit and HMdcSeg

 The HMdcHit and HMdcSeg containers filled by HMdc12Fit task.
 The new ver. of HMdc12Fit will be commited to CVS soon.


Function Members (Methods)

public:
HMdcTrackFinder()
HMdcTrackFinder(Bool_t isCOff, Int_t typeClFn = 0)
HMdcTrackFinder(const Text_t* name, const Text_t* title)
HMdcTrackFinder(const Text_t* name, const Text_t* title, Bool_t isCOff, Int_t typeClFn = 0)
virtual~HMdcTrackFinder()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::Browse(TBrowser* b)
voidcalcClFndrLevel()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
Int_tclFndrBeforField()
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)
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
voidprintStatus()
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)
voidsetLevel(Int_t l4s1, Int_t l5s1, Int_t l4s2, Int_t l5s2)
voidsetLevelSeg1(Int_t l4, Int_t l5)
voidsetLevelSeg2(Int_t l4, Int_t l5)
voidHTask::setManual()
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidsetNLayers(Int_t* lst)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
voidsetParContainers()
voidsetPersistency(Bool_t perCl)
voidsetSeg1PrPlotSize(Int_t nx, Int_t ny = -1)
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()
Int_tnoFitClFndr34()
voidsetMod34Levels()
voidsortTracksInClusters()

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:
Int_tclFndrLevel[6][4][s][m] - level for current event
HMdcEvntListCells*eventlist of fired wires in current event
HMdc34ClFinder*f34ClFinderClusters finder for MDC3&4
Bool_tHReconstructor::fActiveActive flag
HCategory*fClusCatpointer to HMdcClus data category
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
Bool_tHTask::fIsTimedtimer flag
HMdcLookUpTb*fLookUpTbMDC1&2 clus.finder (+3&4 for type=1)
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
HMdcGeantEvent*geantEventmdc geant tracks collection
Bool_tisClustToHitkTRUE -> Cl.ToHit; kFALSE->12Fit;
Bool_tHTask::isConnected
Bool_tisGeantEventOwn=kTRUE if HMdcGeantEvent is own
Bool_tHTask::isInitialised
Bool_tisMdcLCellsOwn=kTRUE if MdcEvntListCells is own
HIterator*iterClusiterator for fClusCat
Int_tlevel4[2][seg] - level for 4-layers finding
Int_tlevel5[2][seg] - level for 5-layers finding
HLocationlocClusloc. for HMdcClus category
HLocationlocNewClloc. for HMdcClus category
Bool_tHTask::manual
Int_tnBinXS1Project plot x-size
Int_tnBinYS1Project plot y-size
Int_tnModules[6][s] - number of MDCs for HMdcLookUpTb
Int_tnumLayers[6][4][s][m] - number of layers in MDC mod.
HTask*HTask::owner
Bool_tperMdcClus=kTRUE - write HMdcClus to file
Bool_tprntStkTRUE - status printed already
Int_ttypeClFinder=0 - finding in all mdc in sec.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HMdcTrackFinder(Bool_t isCOff, Int_t typeClFn)
HMdcTrackFinder(const Text_t* name, const Text_t* title, Bool_t isCOff, Int_t typeClFn = 0)
HMdcTrackFinder(void)
HMdcTrackFinder(const Text_t *name, const Text_t *title)
~HMdcTrackFinder()
void setParContainers()
Bool_t init(void)
Bool_t reinit(void)
void setPersistency(Bool_t perCl)
Int_t execute(void)
void calcClFndrLevel(void)
 Cluster finder levels determination:
Int_t clFndrBeforField(void)
 Track finder in MDCI-II or all MDC's without mag.field
void setMod34Levels(void)
Int_t noFitClFndr34(void)
void sortTracksInClusters(void)
 for sim.data only!
void setNLayers(Int_t* lst)
void setLevel(Int_t l4s1, Int_t l5s1, Int_t l4s2, Int_t l5s2)
void setLevelSeg1(Int_t l4, Int_t l5)
void setLevelSeg2(Int_t l4, Int_t l5)
void printStatus(void)
 prints the parameters to the screen
Bool_t finalize(void)
{return kTRUE;}
void setSeg1PrPlotSize(Int_t nx, Int_t ny = -1)
{nBinXS1=nx; nBinYS1=ny;}

Last change: Sat May 22 13:03:55 2010
Last generated: 2010-05-22 13:03

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.