CbmRoot
LitTrackFinderNNVecElectron.h
Go to the documentation of this file.
1 
11 #ifndef LITTRACKFINDERNNVECELECTRON_H_
12 #define LITTRACKFINDERNNVECELECTRON_H_
13 
14 #include "../LitHit.h"
15 #include "../LitTrack.h"
16 #include "LitDetectorGeometryElectron.h"
17 #include "LitHitDataElectron.h"
18 
19 namespace lit {
20  namespace parallel {
21 
40  public:
45 
50 
57  void DoFind(const PixelHitArray& hits,
58  const TrackArray& trackSeeds,
59  TrackArray& tracks);
60 
61  /*
62  * \brief Set detector layout.
63  * \param[in] layout Detector layout to be set.
64  */
65  void SetDetectorLayout(const LitDetectorLayoutElectron<fvec>& layout) {
66  fLayout = layout;
67  fHitData.SetDetectorLayout(layout);
68  }
69 
70  private:
71  void ArrangeHits(const PixelHitArray& hits);
72 
73  void InitTrackSeeds(const TrackArray& trackSeeds);
74 
75  /* Follows tracks through the detector
76  * @param itBegin Iterator to the first track.
77  * @param itEnd Iterator to the last track.
78  */
79  void FollowTracks();
80 
81  /* TODO: Add comments
82  *
83  */
85 
86  /*
87  * TODO Add comments
88  */
90  LitScalTrack* track,
91  unsigned char stationGroup,
92  unsigned char station);
93 
94  /* TODO: Add comment
95  *
96  */
97  inline void ProcessStation(LitScalTrack* tracks[],
98  unsigned char stationGroup,
99  unsigned char station);
100 
101  /*
102  *
103  */
104  bool AddNearestHit(LitScalTrack* track,
105  const PixelHitConstIteratorPair& hits,
106  unsigned int nofHits,
107  int stationGroup,
108  int station);
109 
110  /*
111  *
112  */
113  void MinMaxIndex(const LitTrackParamScal* par,
114  const PixelHitArray& hits,
115  fscal maxErr,
116  PixelHitConstIterator& first,
117  PixelHitConstIterator& last);
118 
119  private:
120  /* Local copy of tracks */
121  TrackArray fTracks;
122  /* Detector geometry */
123  LitDetectorLayoutElectron<fvec> fLayout;
124  /* Arranged hits */
125  LitHitDataElectron<fvec> fHitData;
126  /* Maximum number of missing hits */
127  unsigned char fMaxNofMissingHits;
128  /* Sigma coefficient for fast hit search */
130  /* Maximum covariance value */
132  /* Chi square cut for pixel hits */
134  };
135 
136  } // namespace parallel
137 } // namespace lit
138 #endif /* LITTRACKFINDERNNVECELECTRON_H_ */
fscal
float fscal
Definition: L1/vectors/P4_F32vec4.h:250
lit::parallel::LitTrackFinderNNVecElectron::fMaxCovSq
fscal fMaxCovSq
Definition: LitTrackFinderNNVecElectron.h:131
F32vec4
Definition: L1/vectors/P4_F32vec4.h:47
lit::parallel::LitTrackFinderNNVecElectron::fHitData
LitHitDataElectron< fvec > fHitData
Definition: LitTrackFinderNNVecElectron.h:125
lit::parallel::LitTrackFinderNNVecElectron::fSigmaCoef
fscal fSigmaCoef
Definition: LitTrackFinderNNVecElectron.h:129
lit::parallel::LitTrackFinderNNVecElectron::fChiSqPixelHitCut
fvec fChiSqPixelHitCut
Definition: LitTrackFinderNNVecElectron.h:133
lit::parallel::LitTrackFinderNNVecElectron::fLayout
LitDetectorLayoutElectron< fvec > fLayout
Definition: LitTrackFinderNNVecElectron.h:123
lit::parallel::LitScalTrack
Scalar track data class.
Definition: LitScalTrack.h:33
lit::parallel::LitTrackParam< fscal >
lit::parallel::LitTrackFinderNNVecElectron::fTracks
TrackArray fTracks
Definition: LitTrackFinderNNVecElectron.h:121
tracks
TClonesArray * tracks
Definition: Analyze_matching.h:17
lit::parallel::LitTrackFinderNNVecElectron::InitTrackSeeds
void InitTrackSeeds(const TrackArray &trackSeeds)
Definition: LitTrackFinderNNVecElectron.cxx:72
lit::parallel::LitTrackFinderNNVecElectron::LitTrackFinderNNVecElectron
LitTrackFinderNNVecElectron()
Constructor.
Definition: LitTrackFinderNNVecElectron.cxx:27
lit::parallel::LitTrackFinderNNVecElectron::FollowTracks
void FollowTracks()
Definition: LitTrackFinderNNVecElectron.cxx:85
first
bool first
Definition: LKFMinuit.cxx:143
lit::parallel::LitTrackFinderNNVecElectron::PropagateToFirstStation
void PropagateToFirstStation(LitScalTrack *tracks[])
Definition: LitTrackFinderNNVecElectron.cxx:202
lit::parallel::LitTrackFinderNNVecElectron::MinMaxIndex
void MinMaxIndex(const LitTrackParamScal *par, const PixelHitArray &hits, fscal maxErr, PixelHitConstIterator &first, PixelHitConstIterator &last)
Definition: LitTrackFinderNNVecElectron.cxx:394
lit::parallel::LitTrackFinderNNVecElectron::CollectHits
void CollectHits(LitTrackParamScal *par, LitScalTrack *track, unsigned char stationGroup, unsigned char station)
Definition: LitTrackFinderNNVecElectron.cxx:271
lit::parallel::LitTrackFinderNNVecElectron::~LitTrackFinderNNVecElectron
virtual ~LitTrackFinderNNVecElectron()
Destructor.
Definition: LitTrackFinderNNVecElectron.cxx:33
hits
static vector< vector< QAHit > > hits
Definition: CbmTofHitFinderTBQA.cxx:114
lit::parallel::LitTrackFinderNNVecElectron::ArrangeHits
void ArrangeHits(const PixelHitArray &hits)
Definition: LitTrackFinderNNVecElectron.cxx:61
lit::parallel::LitTrackFinderNNVecElectron::ProcessStation
void ProcessStation(LitScalTrack *tracks[], unsigned char stationGroup, unsigned char station)
Definition: LitTrackFinderNNVecElectron.cxx:238
lit::parallel::LitTrackFinderNNVecElectron::AddNearestHit
bool AddNearestHit(LitScalTrack *track, const PixelHitConstIteratorPair &hits, unsigned int nofHits, int stationGroup, int station)
Definition: LitTrackFinderNNVecElectron.cxx:292
lit::parallel::LitTrackFinderNNVecElectron::fMaxNofMissingHits
unsigned char fMaxNofMissingHits
Definition: LitTrackFinderNNVecElectron.h:127
lit::parallel::LitTrackFinderNNVecElectron::DoFind
void DoFind(const PixelHitArray &hits, const TrackArray &trackSeeds, TrackArray &tracks)
Main function for track reconstruction.
Definition: LitTrackFinderNNVecElectron.cxx:35
lit::parallel::LitTrackFinderNNVecElectron::SetDetectorLayout
void SetDetectorLayout(const LitDetectorLayoutElectron< fvec > &layout)
Definition: LitTrackFinderNNVecElectron.h:65
lit::parallel::LitTrackFinderNNVecElectron
Parallel SIMDized implementation of TRD tracking.
Definition: LitTrackFinderNNVecElectron.h:39
lit
Definition: LitTrackFinderNNVecElectron.h:19