CbmRoot
Loading...
Searching...
No Matches
LitTrackFinderNNVecElectron.h
Go to the documentation of this file.
1/* Copyright (C) 2010-2011 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
15#ifndef LITTRACKFINDERNNVECELECTRON_H_
16#define LITTRACKFINDERNNVECELECTRON_H_
17
18#include "LitDetectorGeometryElectron.h"
19#include "LitHit.h"
20#include "LitHitDataElectron.h"
21#include "LitTrack.h"
22
23namespace lit
24{
25 namespace parallel
26 {
27
46 public:
51
56
63 void DoFind(const PixelHitArray& hits, const TrackArray& trackSeeds, TrackArray& tracks);
64
65 /*
66 * \brief Set detector layout.
67 * \param[in] layout Detector layout to be set.
68 */
69 void SetDetectorLayout(const LitDetectorLayoutElectron<fvec>& layout)
70 {
71 fLayout = layout;
72 fHitData.SetDetectorLayout(layout);
73 }
74
75 private:
76 void ArrangeHits(const PixelHitArray& hits);
77
78 void InitTrackSeeds(const TrackArray& trackSeeds);
79
80 /* Follows tracks through the detector
81 * @param itBegin Iterator to the first track.
82 * @param itEnd Iterator to the last track.
83 */
84 void FollowTracks();
85
86 /* TODO: Add comments
87 *
88 */
90
91 /*
92 * TODO Add comments
93 */
94 void CollectHits(LitTrackParamScal* par, LitScalTrack* track, unsigned char stationGroup, unsigned char station);
95
96 /* TODO: Add comment
97 *
98 */
99 inline void ProcessStation(LitScalTrack* tracks[], unsigned char stationGroup, unsigned char station);
100
101 /*
102 *
103 */
104 bool AddNearestHit(LitScalTrack* track, const PixelHitConstIteratorPair& hits, unsigned int nofHits,
105 int stationGroup, int station);
106
107 /*
108 *
109 */
110 void MinMaxIndex(const LitTrackParamScal* par, const PixelHitArray& hits, fscal maxErr,
111 PixelHitConstIterator& first, PixelHitConstIterator& last);
112
113 private:
114 /* Local copy of tracks */
115 TrackArray fTracks;
116 /* Detector geometry */
117 LitDetectorLayoutElectron<fvec> fLayout;
118 /* Arranged hits */
119 LitHitDataElectron<fvec> fHitData;
120 /* Maximum number of missing hits */
121 unsigned char fMaxNofMissingHits;
122 /* Sigma coefficient for fast hit search */
124 /* Maximum covariance value */
126 /* Chi square cut for pixel hits */
128 };
129
130 } // namespace parallel
131} // namespace lit
132#endif /* LITTRACKFINDERNNVECELECTRON_H_ */
TClonesArray * tracks
static vector< vector< QAHit > > hits
bool first
Track data class.
Scalar track data class.
Parallel SIMDized implementation of TRD tracking.
void DoFind(const PixelHitArray &hits, const TrackArray &trackSeeds, TrackArray &tracks)
Main function for track reconstruction.
void CollectHits(LitTrackParamScal *par, LitScalTrack *track, unsigned char stationGroup, unsigned char station)
bool AddNearestHit(LitScalTrack *track, const PixelHitConstIteratorPair &hits, unsigned int nofHits, int stationGroup, int station)
void MinMaxIndex(const LitTrackParamScal *par, const PixelHitArray &hits, fscal maxErr, PixelHitConstIterator &first, PixelHitConstIterator &last)
void ProcessStation(LitScalTrack *tracks[], unsigned char stationGroup, unsigned char station)
void SetDetectorLayout(const LitDetectorLayoutElectron< fvec > &layout)