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 15 of file PndCATracks.h.

Constructor & Destructor Documentation

◆ PndCATrack()

PndCATrack::PndCATrack ( )
inline

Definition at line 17 of file PndCATracks.h.

References PndCAParameters::MaxNStations.

17 : 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 24 of file PndCATracks.h.

25  {
26  fIHits.push_back(PndCATES(iS, iH));
27  fNDF++;
28  }

◆ AddHit() [2/2]

void PndCATrack::AddHit ( const PndCATES iH)
inline

Definition at line 29 of file PndCATracks.h.

30  {
31  fIHits.push_back(iH);
32  fNDF++;
33  }

◆ Chi2() [1/2]

float& PndCATrack::Chi2 ( )
inline

Definition at line 35 of file PndCATracks.h.

35 { return fChi2; }

◆ Chi2() [2/2]

const float& PndCATrack::Chi2 ( ) const
inline

Definition at line 36 of file PndCATracks.h.

36 { return fChi2; }

◆ Compare()

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

Definition at line 42 of file PndCATracks.h.

Referenced by PndCATracks::SelectAndSaveTracks().

43  {
44  // return (a->fIHits.size() > b->fIHits.size()) ||
45  // ( (a->fIHits.size() == b->fIHits.size()) &&
46  // ( (a->fIHits[0].s < b->fIHits[0].s) ||
47  // ( (a->fIHits[0].s == b->fIHits[0].s) && (a->fChi2 < b->fChi2)
48  // )
49  // )
50  // );
51  return (a->fIHits.size() > b->fIHits.size()) || ((a->fIHits.size() == b->fIHits.size()) && (a->fChi2 < b->fChi2));
52  }

◆ Fit()

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

Definition at line 126 of file PndCATracks.h.

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

Referenced by SetHitsAsUsed().

127 {
128 
129  vector<PndCATESV> iHits(NHits());
130  const int NTHits = iHits.size();
131 
132  for (unsigned short ihit = 0; ihit < NTHits; ihit++) {
133  iHits[ihit] = IHits()[ihit];
134  }
135  PndCATrackParamVector param;
136  PndCAFunctionality::Fit(caParam, hits, param, iHits, target0, dir);
137  PndCATrackParam paramS(param, 0);
138  fChi2 = paramS.Chi2();
139  fNDF = paramS.NDF();
140  return paramS;
141 }
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:19
vector< PndCATES > & IHits()
Definition: PndCATracks.h:21

◆ IHits() [1/2]

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

Definition at line 21 of file PndCATracks.h.

Referenced by Fit().

21 { return fIHits; }

◆ IHits() [2/2]

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

Definition at line 22 of file PndCATracks.h.

22 { return fIHits; }

◆ Level() [1/2]

char& PndCATrack::Level ( )
inline

Definition at line 39 of file PndCATracks.h.

39 { return fLevel; }

◆ Level() [2/2]

const char& PndCATrack::Level ( ) const
inline

Definition at line 40 of file PndCATracks.h.

40 { return fLevel; }

◆ NDF() [1/2]

char& PndCATrack::NDF ( )
inline

Definition at line 37 of file PndCATracks.h.

37 { return fNDF; }

◆ NDF() [2/2]

const char& PndCATrack::NDF ( ) const
inline

Definition at line 38 of file PndCATracks.h.

38 { return fNDF; }

◆ NHits()

int PndCATrack::NHits ( ) const
inline

Definition at line 19 of file PndCATracks.h.

Referenced by Fit().

19 { return fIHits.size(); }

◆ NUsedHits()

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

Definition at line 54 of file PndCATracks.h.

References PndCAHit::IsUsed().

Referenced by PndCATracks::SelectAndSaveTracks().

55  {
56  int nused = 0;
57  for (unsigned int iH = 0; iH < fIHits.size(); ++iH) {
58  const PndCAHit &h = hits[fIHits[iH]];
59  if (h.IsUsed())
60  nused++;
61  }
62  return nused;
63  }
bool IsUsed() const
Definition: PndCAHits.h:54

◆ SetHitsAsUsed()

void PndCATrack::SetHitsAsUsed ( PndCAHits hits) const
inline

Definition at line 65 of file PndCATracks.h.

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

Referenced by PndCATracks::SelectAndSaveTracks().

66  {
67  for (unsigned int iH = 0; iH < fIHits.size(); ++iH) {
68  PndCAHit &h = hits[fIHits[iH]];
69  h.SetAsUsed();
70  }
71  }
void SetAsUsed()
Definition: PndCAHits.h:55

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