CbmRoot
Loading...
Searching...
No Matches
LitTrackFinderNNVecMuon.h
Go to the documentation of this file.
1/* Copyright (C) 2009-2012 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
12#ifndef LITTRACKFINDERNNVECMUON_H_
13#define LITTRACKFINDERNNVECMUON_H_
14
16#include "LitHitDataMuon.h"
17
18#include <map>
19#include <vector>
20
21namespace lit
22{
23 namespace parallel
24 {
25
39 public:
44
49
56 virtual void DoFind(const PixelHitArray& hits, const TrackArray& trackSeeds, TrackArray& tracks);
57
63 {
64 fLayout = layout;
66 }
67
68 private:
69 void ArrangeHits(const PixelHitArray& hits);
70
71 /* Initializes the track seeds
72 * @param itBegin Iterator to the first track seed.
73 * @param itEnd iterator to the last track seed. */
74 void InitTrackSeeds(const TrackArray& trackSeeds);
75
76 /* Follows tracks through the detector
77 * @param itBegin Iterator to the first track.
78 * @param itEnd Iterator to the last track. */
79 void FollowTracks();
80
81 /* TODO: Add comments
82 *
83 */
84 void PropagateThroughAbsorber(const std::vector<unsigned int>& tracksId1, const LitAbsorber<fvec>& absorber);
85
86 /* TODO: Add comments
87 *
88 */
89 inline void PropagateThroughAbsorber(const TrackArray& tracks, const LitAbsorber<fvec>& absorber);
90
91 /*
92 * TODO Add comments
93 */
94 void CollectHits(std::vector<LitTrackParamScal>& par, LitScalTrack* track, unsigned char stationGroup,
95 unsigned char station, unsigned char nofSubstations);
96
97 /*
98 * TODO Add comments
99 */
100 void ProcessStation(const std::vector<unsigned int>& tracksId1, unsigned char stationGroup,
101 unsigned char station);
102
103 /* TODO: Add comment
104 *
105 */
106 inline void ProcessStation(const TrackArray& tracks, unsigned char stationGroup, unsigned char station);
107
108 /* Adds the nearest hit to the track.
109 * @param track Pointer to the track.
110 * @param hits Reference to hit vector from which the nearest hit will be attached.
111 * @return True if the hit was attached to track.
112 */
113 bool AddNearestHit(LitScalTrack* track, const PixelHitArray& hits, const std::vector<LitTrackParamScal*>& pars,
114 unsigned int nofHits);
115
116 /*
117 *
118 */
119 void MinMaxIndex(const LitTrackParamScal* par, const PixelHitArray& hits, fscal maxErr,
120 PixelHitConstIterator& first, PixelHitConstIterator& last);
121
122 private:
123 TrackArray fTracks; // Local copy of tracks
126 unsigned char fMaxNofMissingHits; // Maximum number of missing hits
127 bool
128 fIsProcessSubstationsTogether; // If true than hits from all substations are gathered together and hit selection is done over all this hits at a time
129 fscal fSigmaCoef; // Sigma coefficient for fast hit search
130 fscal fMaxCovSq; // Maximum covariance value
131 fvec fChiSqPixelHitCut; // Chi square cut for pixel hits
132 };
133
134 } // namespace parallel
135} // namespace lit
136#endif /* LITTRACKFINDERNNVECMUON_H_ */
TClonesArray * tracks
static vector< vector< QAHit > > hits
bool first
Classes for muon geometry description of CBM.
Class for accessing hits in the track reconstruction.
Absorber in muon detector layout.
Definition LitAbsorber.h:29
void SetDetectorLayout(const LitDetectorLayoutMuon< T > &layout)
Set detector layout for which hits are arranged.
Scalar track data class.
void SetDetectorLayout(const LitDetectorLayoutMuon< fvec > &layout)
Sets detector layout for the tracking.
void InitTrackSeeds(const TrackArray &trackSeeds)
void MinMaxIndex(const LitTrackParamScal *par, const PixelHitArray &hits, fscal maxErr, PixelHitConstIterator &first, PixelHitConstIterator &last)
void CollectHits(std::vector< LitTrackParamScal > &par, LitScalTrack *track, unsigned char stationGroup, unsigned char station, unsigned char nofSubstations)
void PropagateThroughAbsorber(const std::vector< unsigned int > &tracksId1, const LitAbsorber< fvec > &absorber)
bool AddNearestHit(LitScalTrack *track, const PixelHitArray &hits, const std::vector< LitTrackParamScal * > &pars, unsigned int nofHits)
void ProcessStation(const std::vector< unsigned int > &tracksId1, unsigned char stationGroup, unsigned char station)
virtual void DoFind(const PixelHitArray &hits, const TrackArray &trackSeeds, TrackArray &tracks)
Main function for tracking.
void ArrangeHits(const PixelHitArray &hits)