PandaRoot
PndCATrack Class Reference

#include <PndCATracks.h>

Public Member Functions

 PndCATrack ()
 
int NHits () const
 
vector< PndCATES > & IHits ()
 
const vector< PndCATES > & IHits () const
 
void AddHit (char iS, int iH)
 
void AddHit (const PndCATES &iH)
 
float & Chi2 ()
 
const float & Chi2 () const
 
char & NDF ()
 
const char & NDF () const
 
char & Level ()
 
const char & Level () const
 
int NUsedHits (const PndCAHits &hits) const
 
void SetHitsAsUsed (PndCAHits &hits) const
 
const PndCATrackParam Fit (const PndCAHits &hits, const PndCATarget &target, const PndCAParam &caParam, bool dir=true)
 

Static Public Member Functions

static bool Compare (const PndCATrack *a, const PndCATrack *b)
 

Detailed Description

Definition at line 27 of file PndCATracks.h.

Constructor & Destructor Documentation

◆ PndCATrack()

PndCATrack::PndCATrack ( )
inline

Definition at line 29 of file PndCATracks.h.

References PndCAParameters::MaxNStations.

29 : fChi2(0), fNDF(-5), fIHits(), fLevel(0) { fIHits.reserve(PndCAParameters::MaxNStations); };

Member Function Documentation

◆ AddHit() [1/2]

void PndCATrack::AddHit ( char  iS,
int  iH 
)
inline

Definition at line 36 of file PndCATracks.h.

37  {
38  fIHits.push_back(PndCATES(iS, iH));
39  fNDF++;
40  }

◆ AddHit() [2/2]

void PndCATrack::AddHit ( const PndCATES iH)
inline

Definition at line 41 of file PndCATracks.h.

42  {
43  fIHits.push_back(iH);
44  fNDF++;
45  }

◆ Chi2() [1/2]

float& PndCATrack::Chi2 ( )
inline

Definition at line 47 of file PndCATracks.h.

47 { return fChi2; }

◆ Chi2() [2/2]

const float& PndCATrack::Chi2 ( ) const
inline

Definition at line 48 of file PndCATracks.h.

48 { return fChi2; }

◆ Compare()

static bool PndCATrack::Compare ( const PndCATrack a,
const PndCATrack b 
)
inlinestatic

Definition at line 54 of file PndCATracks.h.

Referenced by PndCATracks::SelectAndSaveTracks().

55  {
56  // return (a->fIHits.size() > b->fIHits.size()) ||
57  // ( (a->fIHits.size() == b->fIHits.size()) &&
58  // ( (a->fIHits[0].s < b->fIHits[0].s) ||
59  // ( (a->fIHits[0].s == b->fIHits[0].s) && (a->fChi2 < b->fChi2)
60  // )
61  // )
62  // );
63  return (a->fIHits.size() > b->fIHits.size()) || ((a->fIHits.size() == b->fIHits.size()) && (a->fChi2 < b->fChi2));
64  }

◆ Fit()

const PndCATrackParam PndCATrack::Fit ( const PndCAHits hits,
const PndCATarget target,
const PndCAParam caParam,
bool  dir = true 
)
inline

Definition at line 138 of file PndCATracks.h.

References PndCATrackParam::Chi2(), PndCAFunctionality::Fit(), IHits(), PndCATrackParam::NDF(), and NHits().

Referenced by SetHitsAsUsed().

139 {
140 
141  vector<PndCATESV> iHits(NHits());
142  const int NTHits = iHits.size();
143 
144  for (unsigned short ihit = 0; ihit < NTHits; ihit++) {
145  iHits[ihit] = IHits()[ihit];
146  }
147  PndCATrackParamVector param;
148  PndCAFunctionality::Fit(caParam, hits, param, iHits, target0, dir);
149  PndCATrackParam paramS(param, 0);
150  fChi2 = paramS.Chi2();
151  fNDF = paramS.NDF();
152  return paramS;
153 }
float_m Fit(const PndCAParam &caParam, const PndCAHits &hits, PndCATrackParamVector &param, const vector< PndCATESV > &iHits, const PndCATarget &target, bool dir, const float_m &active=float_m(true))
int NHits() const
Definition: PndCATracks.h:31
vector< PndCATES > & IHits()
Definition: PndCATracks.h:33

◆ IHits() [1/2]

vector<PndCATES>& PndCATrack::IHits ( )
inline

Definition at line 33 of file PndCATracks.h.

Referenced by Fit().

33 { return fIHits; }

◆ IHits() [2/2]

const vector<PndCATES>& PndCATrack::IHits ( ) const
inline

Definition at line 34 of file PndCATracks.h.

34 { return fIHits; }

◆ Level() [1/2]

char& PndCATrack::Level ( )
inline

Definition at line 51 of file PndCATracks.h.

51 { return fLevel; }

◆ Level() [2/2]

const char& PndCATrack::Level ( ) const
inline

Definition at line 52 of file PndCATracks.h.

52 { return fLevel; }

◆ NDF() [1/2]

char& PndCATrack::NDF ( )
inline

Definition at line 49 of file PndCATracks.h.

49 { return fNDF; }

◆ NDF() [2/2]

const char& PndCATrack::NDF ( ) const
inline

Definition at line 50 of file PndCATracks.h.

50 { return fNDF; }

◆ NHits()

int PndCATrack::NHits ( ) const
inline

Definition at line 31 of file PndCATracks.h.

Referenced by Fit().

31 { return fIHits.size(); }

◆ NUsedHits()

int PndCATrack::NUsedHits ( const PndCAHits hits) const
inline

Definition at line 66 of file PndCATracks.h.

References PndCAHit::IsUsed().

Referenced by PndCATracks::SelectAndSaveTracks().

67  {
68  int nused = 0;
69  for (unsigned int iH = 0; iH < fIHits.size(); ++iH) {
70  const PndCAHit &h = hits[fIHits[iH]];
71  if (h.IsUsed())
72  nused++;
73  }
74  return nused;
75  }
bool IsUsed() const
Definition: PndCAHits.h:66

◆ SetHitsAsUsed()

void PndCATrack::SetHitsAsUsed ( PndCAHits hits) const
inline

Definition at line 77 of file PndCATracks.h.

References Fit(), and PndCAHit::SetAsUsed().

Referenced by PndCATracks::SelectAndSaveTracks().

78  {
79  for (unsigned int iH = 0; iH < fIHits.size(); ++iH) {
80  PndCAHit &h = hits[fIHits[iH]];
81  h.SetAsUsed();
82  }
83  }
void SetAsUsed()
Definition: PndCAHits.h:67

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