#include "hmdcidealtracking.h"

HMdcIdealTracking


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

class HMdcIdealTracking : public HReconstructor

Inheritance Chart:
TObject
<-
TNamed
<-
HTask
<-
HReconstructor
<-
HMdcIdealTracking
    private:
void clear() void collectWires(Int_t s, Int_t m, Int_t l, HGeantMdc* pGeantMdc) Int_t fillHit(Int_t module) Int_t fillHitsSeg(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) void setWires(HMdcSegSim* pMdcSeg, Int_t seg) void setWires(HMdcHitSim* pMdcHit, Int_t mod) Bool_t testTrack(HGeantKine* pGeantKine) public:
HMdcIdealTracking() HMdcIdealTracking(Text_t* name, Text_t* title) ~HMdcIdealTracking() static TClass* Class() virtual Int_t execute() void fillParallelCategories() virtual Bool_t finalize() virtual Bool_t init() virtual TClass* IsA() const virtual Bool_t reinit() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
HCategory* pGeantKineCat pointer to the category catGeantKine HCategory* pGeantMdcCat pointer to the category catMdcGeantRaw HCategory* pMdcCal1Cat pointer to the category catMdcCal1 HIterator* iterGeantKine iterator for catGeantKine HLocation locCal1 location of HMdcCal1Sim object HCategory* pMdcSegCat pointer to the category catMdcSeg HCategory* pMdcHitCat pointer to the category catMdcHit HCategory* pMdcTrkCandCat pointer to the category catMdcTrkCand HLocation locSeg location for new "segment" object HLocation locHit location for new "hit" object HLocation locTrkCand location for new HMdcTrkCand object HMdcSizesCells* pMSizesCells Bool_t isMdcActive[6][4] [sec][mod] =kTRUE if MDC is active Int_t trackNumber track number Int_t trackSector sector number of track HGeantMdc* geantHitMod[4] geant hits in 4 modules of sector HGeantMdc* geantHitLay[4][6] geant hits in 24 layers of sector UChar_t nGeantMdcLay[4] num. of HGeantMdc or HMdcCal1 hits in each module Double_t x1[4] Double_t y1[4] Double_t z1[4] x1,y1,z1 - x2,y2,z2 track piece param. Double_t x2[4] Double_t y2[4] Double_t z2[4] in sector coor.sys. for each module HMdcList24GroupCells* lCells list of fired cells from this track Bool_t fillParallel switch : kTRUE will fill HMdcHitSim,HMdcSegSim and HMdcTrkCand to ideal categories

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).



HMdcIdealTracking(void)
 Constructor

HMdcIdealTracking(Text_t *name,Text_t *title) : HReconstructor(name,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



Inline Functions


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


Last update: Fri Jan 26 12:10:22 2007


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.