CbmRoot
|
Parallel SIMDized implementation of TRD tracking. More...
#include <LitTrackFinderNNVecElectron.h>
Public Member Functions | |
LitTrackFinderNNVecElectron () | |
Constructor. More... | |
virtual | ~LitTrackFinderNNVecElectron () |
Destructor. More... | |
void | DoFind (const PixelHitArray &hits, const TrackArray &trackSeeds, TrackArray &tracks) |
Main function for track reconstruction. More... | |
void | SetDetectorLayout (const LitDetectorLayoutElectron< fvec > &layout) |
Private Member Functions | |
void | ArrangeHits (const PixelHitArray &hits) |
void | InitTrackSeeds (const TrackArray &trackSeeds) |
void | FollowTracks () |
void | PropagateToFirstStation (LitScalTrack *tracks[]) |
void | CollectHits (LitTrackParamScal *par, LitScalTrack *track, unsigned char stationGroup, unsigned char station) |
void | ProcessStation (LitScalTrack *tracks[], 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) |
Private Attributes | |
TrackArray | fTracks |
LitDetectorLayoutElectron< fvec > | fLayout |
LitHitDataElectron< fvec > | fHitData |
unsigned char | fMaxNofMissingHits |
fscal | fSigmaCoef |
fscal | fMaxCovSq |
fvec | fChiSqPixelHitCut |
Parallel SIMDized implementation of TRD tracking.
Parallel SIMDized implementation of TRD tracking. Input: array with track seeds and array with hits. Output: reconstructed tracks. Algorithm is based on track following and Kalman Filter methods. Implementation is based on nearest neighbor approach: track is propagated from station to station and nearest hit from validation gate is attached to track.
Definition at line 39 of file LitTrackFinderNNVecElectron.h.
lit::parallel::LitTrackFinderNNVecElectron::LitTrackFinderNNVecElectron | ( | ) |
Constructor.
LitTrackFinderNNVecElectron.cxx
Definition at line 27 of file LitTrackFinderNNVecElectron.cxx.
|
virtual |
Destructor.
Definition at line 33 of file LitTrackFinderNNVecElectron.cxx.
|
private |
Definition at line 292 of file LitTrackFinderNNVecElectron.cxx.
References lit::parallel::LitScalTrack::AddHit(), fvecLen, lit::parallel::LitScalTrack::GetParamLast(), hits, i, lit::parallel::LitScalTrack::IncChiSq(), lit::parallel::LitFiltration(), max(), lit::parallel::NDF(), lit::parallel::PackPixelHit(), lit::parallel::PackTrackParam(), lit::parallel::LitScalTrack::SetNDF(), lit::parallel::LitScalTrack::SetParamLast(), and lit::parallel::UnpackTrackParam().
|
private |
Definition at line 61 of file LitTrackFinderNNVecElectron.cxx.
References hits.
|
private |
Definition at line 271 of file LitTrackFinderNNVecElectron.cxx.
References hits, lit::parallel::LitScalTrack::IncNofMissingHits(), and lit::parallel::LitScalTrack::SetParamLast().
void lit::parallel::LitTrackFinderNNVecElectron::DoFind | ( | const PixelHitArray & | hits, |
const TrackArray & | trackSeeds, | ||
TrackArray & | tracks | ||
) |
Main function for track reconstruction.
[in] | Hit | array. |
[in] | Track | seed array. |
[out] | Output | array with reconstructed tracks. |
Definition at line 35 of file LitTrackFinderNNVecElectron.cxx.
References lit::parallel::LitScalTrack::GetNofHits(), hits, lit::parallel::LitScalTrack::IsGood(), and tracks.
|
private |
Definition at line 85 of file LitTrackFinderNNVecElectron.cxx.
|
private |
Definition at line 72 of file LitTrackFinderNNVecElectron.cxx.
References fabs(), lit::parallel::LitScalTrack::GetParamFirst(), lit::parallel::LitScalTrack::GetParamLast(), lit::parallel::LitTrackParam< T >::Qp, lit::parallel::LitScalTrack::SetParamLast(), and lit::parallel::LitScalTrack::SetPreviousTrackId().
|
private |
Definition at line 394 of file LitTrackFinderNNVecElectron.cxx.
References lit::parallel::LitTrackParam< T >::C0, first, hits, sqrt(), lit::parallel::LitScalPixelHit::X, and lit::parallel::LitTrackParam< T >::X.
|
inlineprivate |
Definition at line 238 of file LitTrackFinderNNVecElectron.cxx.
References fvecLen, i, lit::parallel::LitAddMaterial(), lit::parallel::LitLineExtrapolation(), lit::parallel::PackTrackParam(), tracks, and lit::parallel::UnpackTrackParam().
|
private |
Definition at line 202 of file LitTrackFinderNNVecElectron.cxx.
References fvecLen, i, lit::parallel::LitAddMaterial(), lit::parallel::LitRK4Extrapolation(), lit::parallel::PackTrackParam(), tracks, and lit::parallel::UnpackTrackParam().
|
inline |
Definition at line 65 of file LitTrackFinderNNVecElectron.h.
|
private |
Definition at line 133 of file LitTrackFinderNNVecElectron.h.
|
private |
Definition at line 125 of file LitTrackFinderNNVecElectron.h.
Referenced by SetDetectorLayout().
|
private |
Definition at line 123 of file LitTrackFinderNNVecElectron.h.
Referenced by SetDetectorLayout().
|
private |
Definition at line 131 of file LitTrackFinderNNVecElectron.h.
|
private |
Definition at line 127 of file LitTrackFinderNNVecElectron.h.
|
private |
Definition at line 129 of file LitTrackFinderNNVecElectron.h.
|
private |
Definition at line 121 of file LitTrackFinderNNVecElectron.h.