9 #ifndef PNDCAGBTRACKER_H 10 #define PNDCAGBTRACKER_H 57 if (index < 0 || index >= (
int)
fHits.size()) {
58 cout <<
"error hit index ind " << index <<
" size " <<
fHits.size() <<
" nHits " <<
fNHits << endl;
100 void SetHits(std::vector<PndCAGBHit> &hits);
118 void MultiplySS(
float const C[15],
float const V[15],
float K[5][5])
const;
119 void MultiplyMS(
float const C[5][5],
float const V[15],
float K[15])
const;
120 void MultiplySR(
float const C[15],
float const r_in[5],
float r_out[5])
const;
121 void FilterTracks(
float const r[5],
float const C[15],
float const m[5],
float const V[15],
float R[5],
float W[15],
float &chi2)
const;
double StatTime(int iTimer) const
const PndCAGBTrack & Track(int i) const
PndCATFIterTimerInfo fStatGTi
int TrackHit(int i) const
void StoreToFile(const char *filename) const
friend class PndCAPerformance
Try to group close hits in row formed by one track. After sort hits.
double fStatTime[fNTimers]
const PndCAGBHit * Hits() const
PndCAGBTrack * Tracks() const
static const int fNTimers
PndCATFIterTimerInfo fGTi
const PndCAParam & GetParameters() const
void FindBestCandidate(int ista, PndCATrack &best_tr, int currITrip, PndCATrack &curr_tr, unsigned char min_best_l, const PndCANPlets &triplets, unsigned int &nCalls)
void Create1Plets(const PndCATarget &target, const PndCAHits &hits, PndCAElementsOnStation< PndCANPletV > &singlets, int iStation)
void InvertCholetsky(float a[15]) const
void PickUpHits(PndCAElementsOnStation< PndCANPletV > &a, PndCAElementsOnStation< PndCANPletV > &r, int iS)
bool ReadHitsFromFile(string prefix)
bool SaveTracksInFile(string prefix) const
void RestoreFromFile(FILE *f)
double SliceTrackerCpuTime() const
vector< PndCAGBHit > fHits
void MultiplySS(float const C[15], float const V[15], float K[5][5]) const
double SliceTrackerTime() const
void SetHits(std::vector< PndCAGBHit > &hits)
void Merge(PndCATracks &tracks)
void FindNeighbours(PndCANPlets &triplets)
PndCAParam & GetParametersNonConst()
void FilterTracks(float const r[5], float const C[15], float const m[5], float const V[15], float R[5], float W[15], float &chi2) const
void MultiplySR(float const C[15], float const r_in[5], float r_out[5]) const
void CreateTracks(const PndCANPlets &triplets, PndCATracks &tracks)
void SaveHitsInFile(string prefix) const
PndCAStationSTT fStations[50]
void CreateNPlets(const PndCATarget &target, const PndCAHits &hits, PndCAElementsOnStation< PndCANPletV > &triplets, int iStation, int cellLength)
double fSliceTrackerCpuTime
void WriteEvent(FILE *out) const
void WriteSettings(std::ostream &out) const
void MultiplyMS(float const C[5][5], float const V[15], float K[15]) const
const PndCAGBHit & Hit(int index) const
void ReadSettings(std::istringstream &in)