#include "hmdctrackfinder.h"

HMdcTrackFinder


class description - source file - inheritance tree (.pdf)

class HMdcTrackFinder : public HReconstructor

Inheritance Chart:
TObject
<-
TNamed
<-
HTask
<-
HReconstructor
<-
HMdcTrackFinder
<-
HMdcAlignerD

    protected:
void fillLookUpTb() HMdcCal1* nextCell(Int_t& nHits) Int_t noFitClFndr34() void setMod34Levels() public:
HMdcTrackFinder(Bool_t isCOff, Int_t typeClFn = 0) HMdcTrackFinder(Text_t* name, Text_t* title, Bool_t isCOff, Int_t typeClFn = 0) HMdcTrackFinder() HMdcTrackFinder(Text_t* name, Text_t* title) ~HMdcTrackFinder() void calcClFndrLevel() static TClass* Class() Int_t clFndrBeforField() virtual Int_t execute() virtual Bool_t finalize() virtual Bool_t init() virtual TClass* IsA() const void printStatus() virtual Bool_t reinit() 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 setNLayers(Int_t* lst) void setParContainers() void setPersistency(Bool_t perCl) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
HCategory* fCalCat pointer to CAL1 data category Bool_t isGeant =kTRUE for GEANT data HIterator* iter iterator for fCal1Cat HMdcLookUpTb* fLookUpTb clus. finder for MDC1&2 (and 3&4 for type=1) HMdc34ClFinder* f34ClFinder Clusters finder for MDC3&4 Int_t nModules[6] Int_t listModules[6][4] Int_t typeClFinder =0 - finding in all mdc in sec. HCategory* fClusCat pointer to HMdcClus data category Bool_t perMdcClus =kTRUE - write HMdcClus to file HLocation locClus loc. for HMdcClus category HLocation locNewCl loc. for HMdcClus category HIterator* iterClus iterator for fClusCat HMdcTimeCut* fcut Times cut HMdcEvntListCells* event list of fired wires in current event Int_t level4[2] level[seg] of 4-layers finding (<= Mdc hits) Int_t level5[2] level[seg] of 5-layers finding Int_t clFndrLevel[6][4] [s][m] clus. finder levels for current event Bool_t prntSt kTRUE - status printed already

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.



HMdcTrackFinder(Bool_t isCOff, Int_t typeClFn)

HMdcTrackFinder(Text_t *name, Text_t *title, Bool_t isCOff, Int_t typeClFn) : HReconstructor(name,title)

HMdcTrackFinder(void)

HMdcTrackFinder(Text_t *name, Text_t *title) : HReconstructor(name,title)

~HMdcTrackFinder()

void setParContainers()

Bool_t init(void)

Bool_t reinit(void)

void setPersistency(Bool_t perCl)

Int_t execute(void)

HMdcCal1* nextCell(Int_t& nHits)

void fillLookUpTb(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 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



Inline Functions


             Bool_t finalize()
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)


Author: V.Pechenov
Last update: 07.05.2002 by V.Pechenov


ROOT page - Class index - Class Hierarchy - Top of the page

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.