8 #ifndef PNDSTTCATRACKLETGENERATOR_H_ 9 #define PNDSTTCATRACKLETGENERATOR_H_ 68 : fTimeStamps(20), fBz(2.), fTUBE_RADIUS(0.5005), fDev_tubeNeighborings(nullptr), fHits(data->GetHits()), fCombinedSkewedHits(data->GetCombinedSkewedHits()),
69 fStrawMap(data->GetStrawMap()), fMapTubeIdToHit(data->GetMapTubeIdToHit()), fMapTubeIdToPos(data->GetMapTubeIdToPos()), fMapHitToFairLink(data->GetMapHitToFairLink()),
70 fHitNeighbors(data->GetHitNeighbors()), fSeparations(data->GetSeparations()), fUseGPU(false)
92 void SetBz(Double_t val) { fBz = val; };
105 std::vector<Double_t> fTimeStamps;
110 int *fDev_tubeNeighborings;
113 std::vector<FairHit *> fHits;
114 std::multimap<int, PndSttSkewedHit *> fCombinedSkewedHits;
117 std::map<int, int> fMapTubeIdToHit;
118 std::map<int, TVector3> fMapTubeIdToPos;
119 std::map<int, FairLink> fMapHitToFairLink;
121 map<int, vector<int>> fHitNeighbors;
122 map<int, vector<int>> fSeparations;
124 map<int, int> fStates;
125 map<int, std::set<int>> fMultiStates;
127 map<int, TrackletInf_t> fStartTracklets;
128 map<int, TrackletInf_t> fShortTracklets;
131 std::vector<PndTrackCand> fFirstTrackCand;
134 std::vector<std::set<int>> fStateCombinations;
135 std::vector<Combination_t> fCombinedData;
136 std::vector<int> fTrackletsWithoutCombi;
139 void GenerateTrackletsGPU();
142 void EvaluateState();
145 void EvaluateState(
int nNeighbors);
148 void EvaluateMultiState();
152 void InitStartTracklets();
155 void InsertCombination(std::set<int> combination);
165 void AddRemainingHits();
170 bool AddHitToBestCombi(
int hitID);
172 std::set<std::pair<int, int>> CreatePairCombis(
int firstState, std::set<int> values);
175 bool IsEndTubeOfTracklet(
int tubeID);
std::vector< Double_t > GetTimeStamps()
void SetDevTubeNeighboringsPointer(int *dev_pointer)
void SetUseGPU(Bool_t val)
PndSttCATrackletGenerator(const PndSttCAData *data)
int * EvaluateAllStates(int *, int *, int, int, int *)
std::vector< PndTrackCand > GetFirstTrackCands()
virtual ~PndSttCATrackletGenerator()
map< int, std::set< int > > GetMultiStates() const
int GetNumPrimaryTracklets()
map< int, int > GetStates() const