FairRoot/PandaRoot
Public Member Functions | Private Attributes | List of all members
PndSttCellTrackFinder Class Reference

#include <PndSttCellTrackFinder.h>

Public Member Functions

 PndSttCellTrackFinder (TClonesArray *tubeArray)
 
virtual ~PndSttCellTrackFinder ()
 
void FindTracks ()
 
void AddHits (TClonesArray *hits, TString branchName)
 
void SetUseGPU (Bool_t val)
 
void SetRunTimeBased (Bool_t val)
 
void SetClusterTime (double val)
 
void SetDevTubeNeighboringsPointer (int *dev_pointer)
 
void SetCalcWithCorrectedIsochrones (Bool_t val)
 
PndSttCellTrackFinderDataGetTrackFinderDataObject ()
 
std::map< Int_t, FairHit * > GetCorrectedIsochrones ()
 
int GetNumPrimaryTracklets ()
 
PndTrackCand GetFirstTrackCand (int i)
 
PndRiemannTrack GetFirstRiemannTrack (int i)
 
PndTrackCand GetCombiTrackCand (int i)
 
PndTrack GetCombiTrack (int i)
 
PndRiemannTrack GetCombiRiemannTrack (int i)
 
std::vector< std::vector
< Double_t > > 
GetTimeStampsTrackletGen ()
 
std::vector< std::vector
< Double_t > > 
GetTimeStampsGenerateNeighborhoodData ()
 
int NumFirstTrackCands ()
 
int NumFirstRiemannTracks ()
 
int NumCombinedTracks ()
 
int NumCombinedRiemannTracks ()
 
int NumHits ()
 
int NumHitsWithoutDouble ()
 
int NumUnambiguousNeighbors ()
 
void SetCalcFirstTrackletInf (Bool_t val)
 
void SetVerbose (Int_t val)
 
void SetBz (Double_t val)
 
void StoreTrackData ()
 
void Reset ()
 

Private Attributes

std::vector< std::vector
< Double_t > > 
fTimeStampsTrackletGen
 
std::vector< std::vector
< Double_t > > 
fTimeStampsGenerateNeighborhoodData
 
Int_t fVerbose
 
Double_t fBz
 
double fClusterTime
 
Bool_t fUseGPU
 
Bool_t fRunTimeBased
 
int * fDev_tubeNeighborings
 
Bool_t fCalcWithCorrectedIsochrones
 
Bool_t fCalcFirstTrackletInf
 
std::vector< FairHit * > fHits
 
std::multimap< int,
PndSttSkewedHit * > 
fCombinedSkewedHits
 
std::map< int, FairLink > fMapHitToFairLink
 
PndSttCellTrackFinderDatafTrackFinderData
 
PndSttCellTrackletGeneratorfTrackletGenerator
 
PndSttHitCorrectorfHitCorrector
 
std::vector< PndTrackCandfFirstTrackCand
 
std::vector< PndRiemannTrackfFirstRiemannTrack
 
std::vector< PndTrackCandfCombiTrackCand
 
std::vector< PndTrackfCombiTrack
 
std::vector< PndRiemannTrackfCombiRiemannTrack
 

Detailed Description

Definition at line 24 of file PndSttCellTrackFinder.h.

Constructor & Destructor Documentation

PndSttCellTrackFinder::PndSttCellTrackFinder ( TClonesArray *  tubeArray)
inline

Definition at line 26 of file PndSttCellTrackFinder.h.

References fTrackFinderData.

26  :
28 
29  //Generate TrackFinderData-Object
31 
32  };
PndSttCellTrackletGenerator * fTrackletGenerator
PndSttHitCorrector * fHitCorrector
PndSttCellTrackFinderData * fTrackFinderData
virtual PndSttCellTrackFinder::~PndSttCellTrackFinder ( )
inlinevirtual

Definition at line 34 of file PndSttCellTrackFinder.h.

References fCombinedSkewedHits, fHitCorrector, fHits, fTrackFinderData, fTrackletGenerator, and i.

34  {
35  delete fTrackFinderData;
36  delete fHitCorrector;
37  delete fTrackletGenerator;
38 
39  for (size_t i = 0; i < fHits.size(); ++i) {
40  delete fHits.at(i);
41  }
42  for (std::multimap<int, PndSttSkewedHit*>::iterator it =
43  fCombinedSkewedHits.begin(); it != fCombinedSkewedHits.end();
44  ++it) {
45  delete (*it).second;
46  }
47  }
Int_t i
Definition: run_full.C:25
std::vector< FairHit * > fHits
PndSttCellTrackletGenerator * fTrackletGenerator
std::multimap< int, PndSttSkewedHit * > fCombinedSkewedHits
PndSttHitCorrector * fHitCorrector
PndSttCellTrackFinderData * fTrackFinderData

Member Function Documentation

void PndSttCellTrackFinder::AddHits ( TClonesArray *  hits,
TString  branchName 
)

Definition at line 20 of file PndSttCellTrackFinder.cxx.

Referenced by PndSttCellTrackFinderTask::Exec().

20  {
21 
22  //std::cout << "hits added! branch name: " << branchName << "#################################################################"<<std::endl;
23  //std::cout << "size of tconesarray: " << hits->GetEntriesFast() << "#################################################################"<<std::endl;
24  fTrackFinderData->AddHits(hits, branchName);
25 
26 }
void AddHits(TClonesArray *hits, TString branchName)
CbmHit * hits[nHits]
Definition: RiemannTest.C:19
PndSttCellTrackFinderData * fTrackFinderData
void PndSttCellTrackFinder::FindTracks ( )

Definition at line 28 of file PndSttCellTrackFinder.cxx.

References fVerbose, and MAX_THREADS_PER_BLOCK.

Referenced by PndSttCellTrackFinderTask::Exec().

28  {
29 
30  // init TrackFinderData
31  vector<Double_t> timesGenerateNeighorhoodData;
32 
33  //if(fRunTimeBased){ // Bug?????????????? J.R. 01/06-2018
35  //}
37  //store timestamps for runtime analysis
38 
39  timesGenerateNeighorhoodData.push_back(TTimeStamp());
41  timesGenerateNeighorhoodData.push_back(TTimeStamp());
42 
43  //fTrackFinderData->PrintInfo();
44 
45 
47 
51 
52  //calculation on GPU is only possible without multiple STTHits and a maximum number of MAX_THREADS_PER_BLOCK
53  if (fUseGPU && (fTrackFinderData->GetAllowDoubleHits() == kFALSE)
59  }
60 
63 
67  map<int, FairHit*> correctedIsochrones =
69 
70  //Get tracks with corrected hits
71  fTrackletGenerator->SetCorrectedHits(correctedIsochrones);
72  }
73 
75  //fTrackletGenerator->PrintInfo();
76 
78 
79  // cpu time measurement
81  fTimeStampsGenerateNeighborhoodData.push_back(timesGenerateNeighorhoodData);
82 }
void SetDevTubeNeighboringsPointer(int *dev_pointer)
std::map< int, FairHit * > GetCorrectedHits()
void SetCorrectedHits(std::map< int, FairHit * > correctedHits)
#define MAX_THREADS_PER_BLOCK
std::vector< Double_t > GetTimeStamps()
PndSttCellTrackletGenerator * fTrackletGenerator
std::vector< std::vector< Double_t > > fTimeStampsTrackletGen
std::vector< std::vector< Double_t > > fTimeStampsGenerateNeighborhoodData
PndSttHitCorrector * fHitCorrector
PndSttCellTrackFinderData * fTrackFinderData
PndRiemannTrack PndSttCellTrackFinder::GetCombiRiemannTrack ( int  i)
inline

Definition at line 106 of file PndSttCellTrackFinder.h.

References fCombiRiemannTrack, and i.

Referenced by PndSttCellTrackFinderTask::Exec().

106  {
107  return fCombiRiemannTrack[i];
108  }
Int_t i
Definition: run_full.C:25
std::vector< PndRiemannTrack > fCombiRiemannTrack
PndTrack PndSttCellTrackFinder::GetCombiTrack ( int  i)
inline

Definition at line 101 of file PndSttCellTrackFinder.h.

References fCombiTrack, and i.

Referenced by PndSttCellTrackFinderTask::Exec().

101  {
102  return fCombiTrack[i];
103  }
Int_t i
Definition: run_full.C:25
std::vector< PndTrack > fCombiTrack
PndTrackCand PndSttCellTrackFinder::GetCombiTrackCand ( int  i)
inline

Definition at line 95 of file PndSttCellTrackFinder.h.

References fCombiTrackCand, and i.

Referenced by PndSttCellTrackFinderTask::Exec().

95  {
96  return fCombiTrackCand[i];
97  }
Int_t i
Definition: run_full.C:25
std::vector< PndTrackCand > fCombiTrackCand
std::map<Int_t, FairHit*> PndSttCellTrackFinder::GetCorrectedIsochrones ( )
inline

Definition at line 74 of file PndSttCellTrackFinder.h.

References fHitCorrector, and PndSttHitCorrector::GetCorrectedHits().

Referenced by PndSttCellTrackFinderTask::Exec().

74  {
76  }
std::map< int, FairHit * > GetCorrectedHits()
PndSttHitCorrector * fHitCorrector
PndRiemannTrack PndSttCellTrackFinder::GetFirstRiemannTrack ( int  i)
inline

Definition at line 89 of file PndSttCellTrackFinder.h.

References fFirstRiemannTrack, and i.

Referenced by PndSttCellTrackFinderTask::Exec().

89  {
90  return fFirstRiemannTrack[i];
91  }
Int_t i
Definition: run_full.C:25
std::vector< PndRiemannTrack > fFirstRiemannTrack
PndTrackCand PndSttCellTrackFinder::GetFirstTrackCand ( int  i)
inline

Definition at line 83 of file PndSttCellTrackFinder.h.

References fFirstTrackCand, and i.

Referenced by PndSttCellTrackFinderTask::Exec().

83  {
84  return fFirstTrackCand[i];
85  }
Int_t i
Definition: run_full.C:25
std::vector< PndTrackCand > fFirstTrackCand
int PndSttCellTrackFinder::GetNumPrimaryTracklets ( )
inline
std::vector<std::vector<Double_t> > PndSttCellTrackFinder::GetTimeStampsGenerateNeighborhoodData ( )
inline

Definition at line 116 of file PndSttCellTrackFinder.h.

References fTimeStampsGenerateNeighborhoodData.

Referenced by PndSttCellTrackFinderTask::FinishTask().

116  {
118  }
std::vector< std::vector< Double_t > > fTimeStampsGenerateNeighborhoodData
std::vector<std::vector<Double_t> > PndSttCellTrackFinder::GetTimeStampsTrackletGen ( )
inline

Definition at line 111 of file PndSttCellTrackFinder.h.

References fTimeStampsTrackletGen.

Referenced by PndSttCellTrackFinderTask::FinishTask().

111  {
112  return fTimeStampsTrackletGen;
113  }
std::vector< std::vector< Double_t > > fTimeStampsTrackletGen
PndSttCellTrackFinderData* PndSttCellTrackFinder::GetTrackFinderDataObject ( )
inline

Definition at line 70 of file PndSttCellTrackFinder.h.

References fTrackFinderData.

Referenced by PndSttCellTrackFinderTask::Init().

70  {
71  return fTrackFinderData;
72  }
PndSttCellTrackFinderData * fTrackFinderData
int PndSttCellTrackFinder::NumCombinedRiemannTracks ( )
inline

Definition at line 136 of file PndSttCellTrackFinder.h.

References fCombiRiemannTrack.

Referenced by PndSttCellTrackFinderTask::Exec().

136  {
137  return fCombiRiemannTrack.size();
138  }
std::vector< PndRiemannTrack > fCombiRiemannTrack
int PndSttCellTrackFinder::NumCombinedTracks ( )
inline

Definition at line 131 of file PndSttCellTrackFinder.h.

References fCombiTrackCand.

Referenced by PndSttCellTrackFinderTask::Exec().

131  {
132  return fCombiTrackCand.size();
133  }
std::vector< PndTrackCand > fCombiTrackCand
int PndSttCellTrackFinder::NumFirstRiemannTracks ( )
inline

Definition at line 126 of file PndSttCellTrackFinder.h.

References fFirstRiemannTrack.

Referenced by PndSttCellTrackFinderTask::Exec().

126  {
127  return fFirstRiemannTrack.size();
128  }
std::vector< PndRiemannTrack > fFirstRiemannTrack
int PndSttCellTrackFinder::NumFirstTrackCands ( )
inline

Definition at line 121 of file PndSttCellTrackFinder.h.

References fFirstTrackCand.

Referenced by PndSttCellTrackFinderTask::Exec().

121  {
122  return fFirstTrackCand.size();
123  }
std::vector< PndTrackCand > fFirstTrackCand
int PndSttCellTrackFinder::NumHits ( )
inline
int PndSttCellTrackFinder::NumHitsWithoutDouble ( )
inline
int PndSttCellTrackFinder::NumUnambiguousNeighbors ( )
inline

Definition at line 150 of file PndSttCellTrackFinder.h.

References fTrackFinderData, and PndSttCellTrackFinderData::GetSeparations().

Referenced by PndSttCellTrackFinderTask::FinishEvent().

150  {
151  return fTrackFinderData->GetSeparations()[1].size()
152  + fTrackFinderData->GetSeparations()[2].size();
153  }
std::map< int, std::vector< int > > GetSeparations() const
PndSttCellTrackFinderData * fTrackFinderData
void PndSttCellTrackFinder::Reset ( )
inline

Definition at line 183 of file PndSttCellTrackFinder.h.

References PndSttCellTrackFinderData::clear(), fCombiRiemannTrack, fCombiTrack, fCombiTrackCand, fFirstRiemannTrack, fFirstTrackCand, fHitCorrector, fHits, fTrackFinderData, and fTrackletGenerator.

Referenced by PndSttCellTrackFinderTask::Exec().

183  {
184  fHits.clear();
186 
187  fFirstTrackCand.clear();
188  fFirstRiemannTrack.clear();
189 
190  fCombiTrackCand.clear();
191  fCombiTrack.clear();
192  fCombiRiemannTrack.clear();
193 
194  delete fHitCorrector;
195  delete fTrackletGenerator;
196 
197  }
std::vector< PndTrackCand > fFirstTrackCand
std::vector< FairHit * > fHits
std::vector< PndTrackCand > fCombiTrackCand
PndSttCellTrackletGenerator * fTrackletGenerator
std::vector< PndRiemannTrack > fCombiRiemannTrack
PndSttHitCorrector * fHitCorrector
PndSttCellTrackFinderData * fTrackFinderData
std::vector< PndRiemannTrack > fFirstRiemannTrack
std::vector< PndTrack > fCombiTrack
void PndSttCellTrackFinder::SetBz ( Double_t  val)
inline

Definition at line 165 of file PndSttCellTrackFinder.h.

References fBz, and val.

Referenced by PndSttCellTrackFinderTask::Init().

165  {
166  fBz = val;
167  }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndSttCellTrackFinder::SetCalcFirstTrackletInf ( Bool_t  val)
inline

Definition at line 155 of file PndSttCellTrackFinder.h.

References fCalcFirstTrackletInf, and val.

Referenced by PndSttCellTrackFinderTask::Init().

155  {
157  }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndSttCellTrackFinder::SetCalcWithCorrectedIsochrones ( Bool_t  val)
inline

Definition at line 66 of file PndSttCellTrackFinder.h.

References fCalcWithCorrectedIsochrones, and val.

Referenced by PndSttCellTrackFinderTask::Init().

66  {
68  }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndSttCellTrackFinder::SetClusterTime ( double  val)
inline

Definition at line 59 of file PndSttCellTrackFinder.h.

References fClusterTime, and val.

Referenced by PndSttCellTrackFinderTask::Init().

59  {
60  fClusterTime = val;
61  }; // J.R. 20/04-2018
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndSttCellTrackFinder::SetDevTubeNeighboringsPointer ( int *  dev_pointer)
inline

Definition at line 62 of file PndSttCellTrackFinder.h.

References fDev_tubeNeighborings.

Referenced by PndSttCellTrackFinderTask::Init().

62  {
63  fDev_tubeNeighborings = dev_pointer;
64  }
void PndSttCellTrackFinder::SetRunTimeBased ( Bool_t  val)
inline

Definition at line 56 of file PndSttCellTrackFinder.h.

References fRunTimeBased, and val.

Referenced by PndSttCellTrackFinderTask::Init().

56  {
58  }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndSttCellTrackFinder::SetUseGPU ( Bool_t  val)
inline

Definition at line 53 of file PndSttCellTrackFinder.h.

References fUseGPU, and val.

Referenced by PndSttCellTrackFinderTask::Init().

53  {
54  fUseGPU = val;
55  }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndSttCellTrackFinder::SetVerbose ( Int_t  val)
inline

Definition at line 160 of file PndSttCellTrackFinder.h.

References fVerbose, and val.

Referenced by PndSttCellTrackFinderTask::Init().

160  {
161  fVerbose = val;
162  }
Double_t val[nBoxes][nFEBox]
Definition: createCalib.C:11
void PndSttCellTrackFinder::StoreTrackData ( )
inline

Definition at line 170 of file PndSttCellTrackFinder.h.

References fCalcFirstTrackletInf, fCombiRiemannTrack, fCombiTrack, fCombiTrackCand, fFirstRiemannTrack, fFirstTrackCand, fTrackletGenerator, PndSttCellTrackletGenerator::GetCombiRiemannTracks(), PndSttCellTrackletGenerator::GetCombiTrackCands(), PndSttCellTrackletGenerator::GetCombiTracks(), PndSttCellTrackletGenerator::GetFirstRiemannTracks(), and PndSttCellTrackletGenerator::GetFirstTrackCands().

170  {
172 
175 
179 
180  }
std::vector< PndTrackCand > GetFirstTrackCands()
std::vector< PndTrackCand > fFirstTrackCand
std::vector< PndRiemannTrack > GetCombiRiemannTracks()
std::vector< PndTrackCand > fCombiTrackCand
PndSttCellTrackletGenerator * fTrackletGenerator
std::vector< PndTrackCand > GetCombiTrackCands()
std::vector< PndRiemannTrack > fCombiRiemannTrack
std::vector< PndRiemannTrack > fFirstRiemannTrack
std::vector< PndTrack > fCombiTrack
std::vector< PndRiemannTrack > GetFirstRiemannTracks()
std::vector< PndTrack > GetCombiTracks()

Member Data Documentation

Double_t PndSttCellTrackFinder::fBz
private

Definition at line 205 of file PndSttCellTrackFinder.h.

Referenced by SetBz().

Bool_t PndSttCellTrackFinder::fCalcFirstTrackletInf
private

Definition at line 215 of file PndSttCellTrackFinder.h.

Referenced by SetCalcFirstTrackletInf(), and StoreTrackData().

Bool_t PndSttCellTrackFinder::fCalcWithCorrectedIsochrones
private

Definition at line 213 of file PndSttCellTrackFinder.h.

Referenced by SetCalcWithCorrectedIsochrones().

double PndSttCellTrackFinder::fClusterTime
private

Definition at line 207 of file PndSttCellTrackFinder.h.

Referenced by SetClusterTime().

std::multimap<int, PndSttSkewedHit*> PndSttCellTrackFinder::fCombinedSkewedHits
private

Definition at line 217 of file PndSttCellTrackFinder.h.

Referenced by ~PndSttCellTrackFinder().

std::vector<PndRiemannTrack> PndSttCellTrackFinder::fCombiRiemannTrack
private
std::vector<PndTrack> PndSttCellTrackFinder::fCombiTrack
private

Definition at line 230 of file PndSttCellTrackFinder.h.

Referenced by GetCombiTrack(), Reset(), and StoreTrackData().

std::vector<PndTrackCand> PndSttCellTrackFinder::fCombiTrackCand
private
int* PndSttCellTrackFinder::fDev_tubeNeighborings
private

Definition at line 211 of file PndSttCellTrackFinder.h.

Referenced by SetDevTubeNeighboringsPointer().

std::vector<PndRiemannTrack> PndSttCellTrackFinder::fFirstRiemannTrack
private
std::vector<PndTrackCand> PndSttCellTrackFinder::fFirstTrackCand
private
PndSttHitCorrector* PndSttCellTrackFinder::fHitCorrector
private

Definition at line 223 of file PndSttCellTrackFinder.h.

Referenced by GetCorrectedIsochrones(), Reset(), and ~PndSttCellTrackFinder().

std::vector<FairHit*> PndSttCellTrackFinder::fHits
private

Definition at line 216 of file PndSttCellTrackFinder.h.

Referenced by Reset(), and ~PndSttCellTrackFinder().

std::map<int, FairLink> PndSttCellTrackFinder::fMapHitToFairLink
private

Definition at line 219 of file PndSttCellTrackFinder.h.

Bool_t PndSttCellTrackFinder::fRunTimeBased
private

Definition at line 210 of file PndSttCellTrackFinder.h.

Referenced by SetRunTimeBased().

std::vector<std::vector<Double_t> > PndSttCellTrackFinder::fTimeStampsGenerateNeighborhoodData
private

Definition at line 202 of file PndSttCellTrackFinder.h.

Referenced by GetTimeStampsGenerateNeighborhoodData().

std::vector<std::vector<Double_t> > PndSttCellTrackFinder::fTimeStampsTrackletGen
private

Definition at line 201 of file PndSttCellTrackFinder.h.

Referenced by GetTimeStampsTrackletGen().

PndSttCellTrackFinderData* PndSttCellTrackFinder::fTrackFinderData
private
PndSttCellTrackletGenerator* PndSttCellTrackFinder::fTrackletGenerator
private
Bool_t PndSttCellTrackFinder::fUseGPU
private

Definition at line 209 of file PndSttCellTrackFinder.h.

Referenced by SetUseGPU().

Int_t PndSttCellTrackFinder::fVerbose
private

Definition at line 204 of file PndSttCellTrackFinder.h.

Referenced by SetVerbose().


The documentation for this class was generated from the following files: