LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
genf::GFTrack Class Reference

#include "GFTrack.h"

Inheritance diagram for genf::GFTrack:

Public Member Functions

 GFTrack ()
 Default constructor – needed for compatibility with ROOT. More...
 
 GFTrack (const GFTrack &)
 Copy constructor. More...
 
GFTrackoperator= (const GFTrack &)
 assignement operator More...
 
 GFTrack (GFAbsTrackRep *)
 Initializing constructor. More...
 
virtual ~GFTrack ()
 
void reset ()
 Resets the GFTrack – deletes RecoHits! More...
 
int getFailedHits (int repId=-1)
 return the number of failed Hits in track fit repId == -1 will use cardinal rep More...
 
std::vector< GFAbsRecoHit * > getHits ()
 
const GFTrackCandgetCand () const
 
GFAbsRecoHitgetHit (int id) const
 
unsigned int getNumHits () const
 
void mergeHits (GFTrack *trk)
 Merge two GFTracks. Only hits will be merged. More...
 
void releaseHits ()
 Clear hit vector. Note that hits will not be deleted! More...
 
unsigned int getNextHitToFit () const
 Accessor for fNextHitToFit. More...
 
void setNextHitToFit (unsigned int i)
 Set next hit to be used in a fit. More...
 
GFAbsTrackRepgetTrackRep (int id) const
 Accessor for track representations. More...
 
unsigned int getNumReps () const
 Get number of track represenatations. More...
 
GFAbsTrackRepgetCardinalRep () const
 Get cardinal track representation. More...
 
TVector3 getMom () const
 Get momentum at the present position. More...
 
TVector3 getMom (const GFDetPlane &pl) const
 Get momentum at GFDetPlane. More...
 
TVector3 getPos () const
 Get present position. More...
 
TVector3 getPos (const GFDetPlane &pl) const
 Get position at GFDetPlane. More...
 
void getPosMomCov (TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &cov)
 Get position, momentum, and 6x6 covariance at current position. More...
 
void getPosMomCov (const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &cov)
 Get position, momentum, and 6x6 covariance at GFDetPlane. More...
 
double getChiSqu () const
 Get chi2. More...
 
unsigned int getNDF () const
 Get NDF. More...
 
double getRedChiSqu () const
 Get chi2/NDF. More...
 
double getCharge () const
 Get charge from fit. More...
 
void fillGeoTrack (TVirtualGeoTrack *tr) const
 Fill TVirtualGeoTrack object Cardinal representation is used. More...
 
void fillGeoTrack (TVirtualGeoTrack *tr, unsigned int repid) const
 Fill TVirtualGeoTrack object with data from specified track rep. More...
 
void addFailedHit (unsigned int irep, unsigned int id)
 
void addHit (GFAbsRecoHit *theHit)
 deprecated! More...
 
void addHit (GFAbsRecoHit *theHit, unsigned int detId, unsigned int hitId, double rho=0., unsigned int planeId=0)
 Add single hit. Updates the GFTrackCand. More...
 
void addHitVector (std::vector< GFAbsRecoHit * > hits)
 Add collection of hits. More...
 
void addTrackRep (GFAbsTrackRep *theTrackRep)
 Add track represenation. More...
 
GFBookkeepinggetBK (int index=-1)
 get GFBookKeeping object for particular track rep (default is cardinal rep) More...
 
void setCandidate (const GFTrackCand &cand, bool doreset=false)
 set track candidate More...
 
void setCardinalRep (unsigned int r)
 Choose cardinal track represenatation. More...
 
void setHitMeasuredCov (TMatrixT< Double_t > mat)
 
void setHitUpdate (TMatrixT< Double_t > mat)
 
void setHitChi2 (Double_t mat)
 
void setHitState (TMatrixT< Double_t > mat)
 
void setHitCov (TMatrixT< Double_t > mat)
 
void setHitCov7x7 (TMatrixT< Double_t > mat)
 
void setHitPlaneXYZ (TVector3 pl)
 
void setHitPlaneUxUyUz (TVector3 pl)
 
void setHitPlaneU (TVector3 pl)
 
void setHitPlaneV (TVector3 pl)
 
void setPDG (int pdgt)
 
std::vector< TMatrixT< Double_t > > getHitMeasuredCov ()
 
std::vector< TMatrixT< Double_t > > getHitUpdate ()
 
std::vector< Double_t > getHitChi2 ()
 
std::vector< TMatrixT< Double_t > > getHitState ()
 
std::vector< TMatrixT< Double_t > > getHitCov ()
 
std::vector< TMatrixT< Double_t > > getHitCov7x7 ()
 
std::vector< TVector3 > getHitPlaneXYZ ()
 
std::vector< TVector3 > getHitPlaneUxUyUz ()
 
std::vector< TVector3 > getHitPlaneU ()
 
std::vector< TVector3 > getHitPlaneV ()
 
int getPDG ()
 
void getResiduals (unsigned int detId, unsigned int dim, unsigned int rep, std::vector< double > &result)
 Get residuals. More...
 
void setRepAtHit (unsigned int irep, int ihit)
 set the hit index at which plane,state&cov of rep irep is defined More...
 
int getRepAtHit (unsigned int irep)
 get the hit index at which plane,state&cov of rep irep is defined More...
 
void clearRepAtHit ()
 clear the hit indices at which plane,state&cov of reps are defined More...
 
void printBookkeeping (std::ostream &out=std::cout) const
 print bookkeeping More...
 
void Print (std::ostream &out=std::cout) const
 
void clearBookkeeping ()
 
void clearFailedHits ()
 
void getHitsByPlane (std::vector< std::vector< int > * > &retVal)
 

Private Member Functions

virtual void Print (Option_t *) const
 

Private Attributes

TObjArray * fTrackReps
 Collection of track representations. More...
 
std::vector< GFAbsRecoHit * > fHits
 Collection of RecoHits. More...
 
std::vector< GFBookkeeping * > fBookkeeping
 Collection of Bookeeping objects for failed hits in every trackrep. More...
 
std::vector< int > fRepAtHit
 repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolations More...
 
GFTrackCand fCand
 Helper to store the indices of the hits in the track. See GFTrackCand for details. More...
 
std::vector< TMatrixT< Double_t > > fHitMeasCov
 
std::vector< TMatrixT< Double_t > > fHitUpdate
 
std::vector< TMatrixT< Double_t > > fHitState
 
std::vector< Double_t > fHitChi2
 
std::vector< TMatrixT< Double_t > > fHitCov7x7
 
std::vector< TMatrixT< Double_t > > fHitCov
 
std::vector< TVector3 > fHitPlaneXYZ
 
std::vector< TVector3 > fHitPlaneUxUyUz
 
std::vector< TVector3 > fHitPlaneU
 
std::vector< TVector3 > fHitPlaneV
 
int fPDG
 
unsigned int fCardinal_rep
 
unsigned int fNextHitToFit
 

Static Private Attributes

static const int fDefNumTrackReps = 10
 

Detailed Description

Definition at line 63 of file GFTrack.h.

Constructor & Destructor Documentation

genf::GFTrack::GFTrack ( )

Default constructor – needed for compatibility with ROOT.

Definition at line 30 of file GFTrack.cxx.

31  : fTrackReps(NULL), fCardinal_rep(0), fNextHitToFit(0)
32 {
33  //trackReps = new TObjArray(defNumTrackReps);
34 }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
unsigned int fNextHitToFit
Definition: GFTrack.h:115
unsigned int fCardinal_rep
Definition: GFTrack.h:113
genf::GFTrack::GFTrack ( const GFTrack _tr)

Copy constructor.

Definition at line 51 of file GFTrack.cxx.

References addTrackRep(), fBookkeeping, fCand, fCardinal_rep, fHits, fNextHitToFit, fRepAtHit, fTrackReps, getHit(), getNumHits(), getNumReps(), and getTrackRep().

51  : TObject() {
52  fCand=_tr.fCand;
53  fCardinal_rep=_tr.fCardinal_rep;
54  fNextHitToFit=_tr.fNextHitToFit;
55  for(unsigned int i=0;i<_tr.getNumHits();i++) {
56  fHits.push_back((_tr.getHit(i))->clone());
57  }
58  fTrackReps = NULL;
59  for(unsigned int i=0; i<_tr.getNumReps();i++) {
60  addTrackRep( (_tr.getTrackRep(i))->clone() );
61  }
62  for(unsigned int i=0; i<fBookkeeping.size(); ++i) delete fBookkeeping[i];
63  fBookkeeping.clear();
64 
65  for(unsigned int i=0;i<_tr.fBookkeeping.size();++i){
66  fBookkeeping.push_back(new GFBookkeeping(*(_tr.fBookkeeping.at(i))));
67  }
68  fRepAtHit = _tr.fRepAtHit;
69 }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
unsigned int fNextHitToFit
Definition: GFTrack.h:115
std::vector< int > fRepAtHit
repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolatio...
Definition: GFTrack.h:91
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
unsigned int fCardinal_rep
Definition: GFTrack.h:113
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
void addTrackRep(GFAbsTrackRep *theTrackRep)
Add track represenation.
Definition: GFTrack.h:326
genf::GFTrack::GFTrack ( GFAbsTrackRep defaultRep)

Initializing constructor.

A track needs at least one track representation to be useable. The given track representation has to contain starting values for the fit!

Definition at line 24 of file GFTrack.cxx.

References addTrackRep().

25  : fTrackReps(NULL),fPDG(2112), fCardinal_rep(0), fNextHitToFit(0)
26 {
27  addTrackRep(defaultRep);
28 }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
unsigned int fNextHitToFit
Definition: GFTrack.h:115
unsigned int fCardinal_rep
Definition: GFTrack.h:113
void addTrackRep(GFAbsTrackRep *theTrackRep)
Add track represenation.
Definition: GFTrack.h:326
genf::GFTrack::~GFTrack ( )
virtual

Definition at line 36 of file GFTrack.cxx.

References fBookkeeping, fHits, fTrackReps, and getNumReps().

36  {
37  if(fTrackReps!=NULL){
38  for(unsigned int i=0;i<getNumReps();i++) {
39  delete fTrackReps->At(i);
40  }
41  delete fTrackReps;
42  }
43  for(unsigned int i=0;i<fHits.size();i++) {
44  delete fHits[i];
45  }
46  for(unsigned int i=0;i<fBookkeeping.size();++i){
47  if(fBookkeeping.at(i)!=NULL) delete fBookkeeping.at(i);
48  }
49 }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86

Member Function Documentation

void genf::GFTrack::addFailedHit ( unsigned int  irep,
unsigned int  id 
)
inline

Definition at line 293 of file GFTrack.h.

Referenced by genf::GFKalman::fittingPass(), and genf::GFDaf::processTrack().

293  {
294  fBookkeeping.at(irep)->addFailedHit(id);
295  }
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
void genf::GFTrack::addHit ( GFAbsRecoHit theHit)
inline

deprecated!

Definition at line 299 of file GFTrack.h.

Referenced by mergeHits(), trkf::Track3DKalman::produce(), and trkf::Track3DKalmanSPS::produce().

299  {
300  fHits.push_back(theHit);
301  }
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
void genf::GFTrack::addHit ( GFAbsRecoHit theHit,
unsigned int  detId,
unsigned int  hitId,
double  rho = 0.,
unsigned int  planeId = 0 
)
inline

Add single hit. Updates the GFTrackCand.

Definition at line 305 of file GFTrack.h.

References genf::GFTrackCand::addHit().

309  {
310  fHits.push_back(theHit);
311  fCand.addHit(detId,hitId,rho,planeId);
312  }
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
void addHit(unsigned int detId, unsigned int hitId, double rho=0., unsigned int planeId=0)
Definition: GFTrackCand.cxx:48
void genf::GFTrack::addHitVector ( std::vector< GFAbsRecoHit * >  hits)
inline

Add collection of hits.

This is the standard way to fill the track with hit data

Definition at line 318 of file GFTrack.h.

References hits().

318  {
319  fHits = hits;
320  }
void hits()
Definition: readHits.C:15
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
void genf::GFTrack::addTrackRep ( GFAbsTrackRep theTrackRep)
inline

Add track represenation.

The given track representation has to contain starting values for fit!

Definition at line 326 of file GFTrack.h.

Referenced by GFTrack(), and operator=().

326  {
327  if(fTrackReps==NULL)fTrackReps=new TObjArray(fDefNumTrackReps);
328  fTrackReps->Add(theTrackRep);
329  fBookkeeping.push_back( new GFBookkeeping() );
330  fRepAtHit.push_back(-1);
331  }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
std::vector< int > fRepAtHit
repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolatio...
Definition: GFTrack.h:91
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
static const int fDefNumTrackReps
Definition: GFTrack.h:112
void genf::GFTrack::clearBookkeeping ( )
inline

Definition at line 416 of file GFTrack.h.

References getNumReps().

Referenced by genf::GFDaf::processTrack().

416  {
417  for(unsigned int i=0;i<getNumReps();++i){
418  fBookkeeping.at(i)->clearAll();
419  }
420  }
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
void genf::GFTrack::clearFailedHits ( )
inline

Definition at line 422 of file GFTrack.h.

References getHitsByPlane(), getNumReps(), and lar::dump::vector().

Referenced by genf::GFDaf::processTrack().

422  {
423  for(unsigned int i=0;i<getNumReps();++i){
424  fBookkeeping.at(i)->clearFailedHits();
425  }
426  }
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
void genf::GFTrack::clearRepAtHit ( )
inline

clear the hit indices at which plane,state&cov of reps are defined

Definition at line 404 of file GFTrack.h.

References getNumReps(), Print(), and printBookkeeping().

Referenced by genf::GFKalman::processTrack().

404  {
405  for(unsigned int i=0;i<getNumReps();++i){
406  fRepAtHit.at(i)=-1;
407  }
408  }
std::vector< int > fRepAtHit
repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolatio...
Definition: GFTrack.h:91
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
void genf::GFTrack::fillGeoTrack ( TVirtualGeoTrack *  tr) const
inline

Fill TVirtualGeoTrack object Cardinal representation is used.

Definition at line 283 of file GFTrack.h.

References fillGeoTrack().

Referenced by fillGeoTrack().

void fillGeoTrack(TVirtualGeoTrack *tr) const
Fill TVirtualGeoTrack object Cardinal representation is used.
Definition: GFTrack.h:283
unsigned int fCardinal_rep
Definition: GFTrack.h:113
void genf::GFTrack::fillGeoTrack ( TVirtualGeoTrack *  tr,
unsigned int  repid 
) const

Fill TVirtualGeoTrack object with data from specified track rep.

Definition at line 151 of file GFTrack.cxx.

References fCand, fHits, genf::GFTrackCand::getNHits(), genf::GFAbsTrackRep::getPos(), genf::GFAbsTrackRep::getState(), getTrackRep(), n, and genf::PrintROOTobject().

152 {
153  GFAbsTrackRep* rep=getTrackRep(repid);
154  unsigned int n=fCand.getNHits();
155  PrintROOTobject(std::cout, rep->getState());
156  for(unsigned int i=0; i<n; ++i){// loop over hits
157  GFDetPlane pl=fHits[i]->getDetPlane(rep);
158  TVector3 pos=rep->getPos(pl);
159  #ifdef NDEBUG
160  std::cout<<pos.X()<<","<<pos.Y()<<","<<pos.Z()<<std::endl;
161  #endif // NDEBUG
162  geotrk->AddPoint(pos.X(),pos.Y(),pos.Z(),0);
163  }// end loop over hits
164 }
GFAbsTrackRep * getTrackRep(int id) const
Accessor for track representations.
Definition: GFTrack.h:195
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
unsigned int getNHits() const
Definition: GFTrackCand.h:116
void PrintROOTobject(std::ostream &, const ROOTOBJ &)
Small utility functions which print some ROOT objects into an output stream.
Definition: GFException.h:129
Char_t n[5]
GFBookkeeping* genf::GFTrack::getBK ( int  index = -1)
inline

get GFBookKeeping object for particular track rep (default is cardinal rep)

Definition at line 334 of file GFTrack.h.

References getNumReps(), setCandidate(), and GFException::setFatal().

Referenced by genf::GFKalman::fittingPass(), and genf::GFDaf::processTrack().

334  {
335  if(index==-1) return fBookkeeping.at(fCardinal_rep);
336  if ((unsigned int)index >= getNumReps())
337  throw GFException("genf::GFTrack::getBK(): index out of range", __LINE__, __FILE__).setFatal();
338  return fBookkeeping.at(index);
339  }
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
unsigned int fCardinal_rep
Definition: GFTrack.h:113
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: GFException.h:50
GFException & setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
Definition: GFException.h:80
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
const GFTrackCand& genf::GFTrack::getCand ( ) const
inline

Definition at line 157 of file GFTrack.h.

References fCand.

Referenced by mergeHits().

157 {return fCand;}
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
GFAbsTrackRep* genf::GFTrack::getCardinalRep ( ) const
inline

Get cardinal track representation.

The user has to choose which track rep should be considered the best one after the fit. Usually the track representation giving the smallest chi2 is choosen. By default the first in the list is returned.

Definition at line 211 of file GFTrack.h.

Referenced by getCharge(), getChiSqu(), getMom(), getNDF(), getPos(), getPosMomCov(), and getRedChiSqu().

211 {return ((GFAbsTrackRep*)fTrackReps->At(fCardinal_rep));}
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
unsigned int fCardinal_rep
Definition: GFTrack.h:113
double genf::GFTrack::getCharge ( ) const
inline

Get charge from fit.

Cardinal representation is used.

Definition at line 279 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getCharge().

279 {return getCardinalRep()->getCharge();}
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
virtual double getCharge() const =0
double genf::GFTrack::getChiSqu ( ) const
inline

Get chi2.

Cardinal representation is used.

Definition at line 261 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getChiSqu().

261 {return getCardinalRep()->getChiSqu();}
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
double getChiSqu() const
int genf::GFTrack::getFailedHits ( int  repId = -1)
inline

return the number of failed Hits in track fit repId == -1 will use cardinal rep

Definition at line 148 of file GFTrack.h.

References fCardinal_rep.

Referenced by trkf::Track3DKalman::produce(), and trkf::Track3DKalmanSPS::produce().

148  {
149  int theRep;
150  if(repId==-1) theRep=fCardinal_rep;
151  else theRep = repId;
152  return fBookkeeping.at(theRep)->getNumFailed();
153  }
unsigned int fCardinal_rep
Definition: GFTrack.h:113
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
GFAbsRecoHit* genf::GFTrack::getHit ( int  id) const
inline

Definition at line 159 of file GFTrack.h.

Referenced by getResiduals(), GFTrack(), mergeHits(), operator=(), genf::GFKalman::processHit(), and genf::GFDaf::processTrack().

159  {
160  return fHits.at(id);
161  }
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
std::vector< Double_t > genf::GFTrack::getHitChi2 ( )
inline

Definition at line 363 of file GFTrack.h.

References fHitChi2.

Referenced by trkf::Track3DKalmanSPS::produce().

363 {return fHitChi2;}
std::vector< Double_t > fHitChi2
Definition: GFTrack.h:102
std::vector< TMatrixT<Double_t> > genf::GFTrack::getHitCov ( )
inline

Definition at line 365 of file GFTrack.h.

References fHitCov.

Referenced by trkf::Track3DKalmanSPS::produce().

365 {return fHitCov;}
std::vector< TMatrixT< Double_t > > fHitCov
Definition: GFTrack.h:104
std::vector< TMatrixT<Double_t> > genf::GFTrack::getHitCov7x7 ( )
inline

Definition at line 366 of file GFTrack.h.

References fHitCov.

Referenced by trkf::Track3DKalmanSPS::produce().

366 {return fHitCov;}
std::vector< TMatrixT< Double_t > > fHitCov
Definition: GFTrack.h:104
std::vector< TMatrixT<Double_t> > genf::GFTrack::getHitMeasuredCov ( )
inline

Definition at line 361 of file GFTrack.h.

References fHitMeasCov.

Referenced by trkf::Track3DKalmanSPS::produce().

361 {return fHitMeasCov;}
std::vector< TMatrixT< Double_t > > fHitMeasCov
Definition: GFTrack.h:99
std::vector< TVector3 > genf::GFTrack::getHitPlaneU ( )
inline

Definition at line 369 of file GFTrack.h.

References fHitPlaneU.

Referenced by trkf::Track3DKalmanSPS::produce().

369 {return fHitPlaneU;}
std::vector< TVector3 > fHitPlaneU
Definition: GFTrack.h:107
std::vector< TVector3 > genf::GFTrack::getHitPlaneUxUyUz ( )
inline

Definition at line 368 of file GFTrack.h.

References fHitPlaneUxUyUz.

Referenced by trkf::Track3DKalmanSPS::produce().

368 {return fHitPlaneUxUyUz;}
std::vector< TVector3 > fHitPlaneUxUyUz
Definition: GFTrack.h:106
std::vector< TVector3 > genf::GFTrack::getHitPlaneV ( )
inline

Definition at line 370 of file GFTrack.h.

References fHitPlaneV.

Referenced by trkf::Track3DKalmanSPS::produce().

370 {return fHitPlaneV;}
std::vector< TVector3 > fHitPlaneV
Definition: GFTrack.h:108
std::vector< TVector3 > genf::GFTrack::getHitPlaneXYZ ( )
inline

Definition at line 367 of file GFTrack.h.

References fHitPlaneXYZ.

Referenced by trkf::Track3DKalmanSPS::produce().

367 {return fHitPlaneXYZ;}
std::vector< TVector3 > fHitPlaneXYZ
Definition: GFTrack.h:105
std::vector<GFAbsRecoHit*> genf::GFTrack::getHits ( )
inline

Definition at line 155 of file GFTrack.h.

References fHits.

155 {return fHits;}
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
void genf::GFTrack::getHitsByPlane ( std::vector< std::vector< int > * > &  retVal)

use planeId information of GFTrackCand and return by ref groups of hit ids which are in the same planes.

Definition at line 219 of file GFTrack.cxx.

References fCand, fHits, genf::GFTrackCand::getHitWithPlane(), genf::GFTrackCand::getNHits(), and GFException::setFatal().

Referenced by clearFailedHits(), and genf::GFDaf::processTrack().

219  {
220  for(int i=0;retVal.size();++i){
221  delete retVal.at(i);
222  }
223  retVal.clear();
224  //this method can only be called when all hits have been loaded
225  if (fHits.size() != fCand.getNHits())
226  throw GFException("genf::GFTrack::getResiduals(): inconsistent hits", __LINE__, __FILE__).setFatal();
227  if (fHits.size() < 2)
228  throw GFException("genf::GFTrack::getResiduals(): less than 2 hits", __LINE__, __FILE__).setFatal();
229  unsigned int detId,hitId,planeId;
230  fCand.getHitWithPlane(0,detId,hitId,planeId);
231  // std::cout << "$$$ " << 0 << " " << detId << " " << hitId << " " << planeId << std::endl;
232  unsigned int lastPlane=planeId;
233  retVal.push_back(new std::vector<int>);
234  retVal.at(0)->push_back(0);
235  for(unsigned int i=1;i<fCand.getNHits();++i){
236  fCand.getHitWithPlane(i,detId,hitId,planeId);
237  //std::cout << "$$$ " << i << " " << detId << " " << hitId << " " << planeId << std::endl;
238  if(lastPlane==planeId){
239  retVal.at(retVal.size()-1)->push_back(i);
240  }
241  else{
242  lastPlane=planeId;
243  retVal.push_back(new std::vector<int>);
244  retVal.at(retVal.size()-1)->push_back(i);
245  }
246  }
247 }
void getHitWithPlane(unsigned int i, unsigned int &detId, unsigned int &hitId, unsigned int &planeId) const
Get detector ID and cluster index (hitId) for hit number i with plane id.
Definition: GFTrackCand.h:106
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
unsigned int getNHits() const
Definition: GFTrackCand.h:116
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: GFException.h:50
GFException & setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
Definition: GFException.h:80
std::vector< TMatrixT<Double_t> > genf::GFTrack::getHitState ( )
inline

Definition at line 364 of file GFTrack.h.

References fHitState.

Referenced by trkf::Track3DKalmanSPS::produce().

364 {return fHitState;}
std::vector< TMatrixT< Double_t > > fHitState
Definition: GFTrack.h:101
std::vector< TMatrixT<Double_t> > genf::GFTrack::getHitUpdate ( )
inline

Definition at line 362 of file GFTrack.h.

References fHitUpdate.

Referenced by trkf::Track3DKalmanSPS::produce().

362 {return fHitUpdate;}
std::vector< TMatrixT< Double_t > > fHitUpdate
Definition: GFTrack.h:100
TVector3 genf::GFTrack::getMom ( ) const
inline

Get momentum at the present position.

Cardinal representation is used.

Definition at line 218 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getMom().

218 {return getCardinalRep()->getMom();}
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
virtual TVector3 getMom(const GFDetPlane &pl)=0
TVector3 genf::GFTrack::getMom ( const GFDetPlane pl) const
inline

Get momentum at GFDetPlane.

The track will be extrapolated to GFDetPlane to get the momentum there. The track will not be modified. Cardinal representation is used.

Definition at line 225 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getMom().

225 {return getCardinalRep()->getMom(pl);}
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
virtual TVector3 getMom(const GFDetPlane &pl)=0
unsigned int genf::GFTrack::getNDF ( ) const
inline

Get NDF.

Cardinal representation is used.

Definition at line 267 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getNDF().

267 {return getCardinalRep()->getNDF();}
unsigned int getNDF() const
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
unsigned int genf::GFTrack::getNextHitToFit ( ) const
inline

Accessor for fNextHitToFit.

Definition at line 187 of file GFTrack.h.

References fNextHitToFit.

Referenced by genf::GFKalman::fittingPass().

187 {return fNextHitToFit;}
unsigned int fNextHitToFit
Definition: GFTrack.h:115
unsigned int genf::GFTrack::getNumHits ( ) const
inline

Definition at line 163 of file GFTrack.h.

References mergeHits().

Referenced by genf::GFKalman::fittingPass(), getResiduals(), GFTrack(), mergeHits(), operator=(), Print(), genf::GFKalman::processHit(), genf::GFDaf::processTrack(), and genf::GFKalman::processTrack().

163  {
164  return fHits.size();
165  }
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
unsigned int genf::GFTrack::getNumReps ( ) const
inline
int genf::GFTrack::getPDG ( )
inline

Definition at line 372 of file GFTrack.h.

References fPDG, and getResiduals().

Referenced by genf::GFKalman::processHit().

372 {return fPDG;}
TVector3 genf::GFTrack::getPos ( ) const
inline

Get present position.

Cardinal representation is used.

Definition at line 231 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getPos().

231 {return getCardinalRep()->getPos();}
virtual TVector3 getPos(const GFDetPlane &pl)=0
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
TVector3 genf::GFTrack::getPos ( const GFDetPlane pl) const
inline

Get position at GFDetPlane.

The track will be extrapolated to GFDetPlane to get the position there. The track will not be modified. Cardinal representation is used.

Definition at line 238 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getPos().

238 {return getCardinalRep()->getPos(pl);}
virtual TVector3 getPos(const GFDetPlane &pl)=0
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
void genf::GFTrack::getPosMomCov ( TVector3 &  pos,
TVector3 &  mom,
TMatrixT< Double_t > &  cov 
)
inline

Get position, momentum, and 6x6 covariance at current position.

Cardinal representation is used.

Definition at line 244 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getPosMomCov().

244  {
245  getCardinalRep()->getPosMomCov(pos,mom,cov);
246  }
virtual void getPosMomCov(const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &cov)
method which gets position, momentum and 6x6 covariance matrix
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
void genf::GFTrack::getPosMomCov ( const GFDetPlane pl,
TVector3 &  pos,
TVector3 &  mom,
TMatrixT< Double_t > &  cov 
)
inline

Get position, momentum, and 6x6 covariance at GFDetPlane.

The track will be extrapolated to GFDetPlane to get everything there. The track will not be modified. Cardinal representation is used.

Definition at line 253 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getPosMomCov().

253  {
254  getCardinalRep()->getPosMomCov(pl,pos,mom,cov);
255  }
virtual void getPosMomCov(const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< Double_t > &cov)
method which gets position, momentum and 6x6 covariance matrix
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
double genf::GFTrack::getRedChiSqu ( ) const
inline

Get chi2/NDF.

Cardinal representation is used.

Definition at line 273 of file GFTrack.h.

References getCardinalRep(), and genf::GFAbsTrackRep::getRedChiSqu().

273 {return getCardinalRep()->getRedChiSqu();}
GFAbsTrackRep * getCardinalRep() const
Get cardinal track representation.
Definition: GFTrack.h:211
double getRedChiSqu() const
returns chi2/ndf
int genf::GFTrack::getRepAtHit ( unsigned int  irep)
inline

get the hit index at which plane,state&cov of rep irep is defined

Definition at line 396 of file GFTrack.h.

References getNumReps(), and GFException::setFatal().

Referenced by genf::GFKalman::processHit().

396  {
397  if (irep >= getNumReps())
398  throw GFException("genf::GFTrack::getRepAtHit(): index out of range", __LINE__, __FILE__).setFatal();
399  return fRepAtHit.at(irep);
400  }
std::vector< int > fRepAtHit
repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolatio...
Definition: GFTrack.h:91
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: GFException.h:50
GFException & setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
Definition: GFException.h:80
void genf::GFTrack::getResiduals ( unsigned int  detId,
unsigned int  dim,
unsigned int  rep,
std::vector< double > &  result 
)

Get residuals.

Parameters
detIdwhich detector?
dim= index of coordinate to choose from resiudal vector
repwhich track representation?
resultresults are written to this vector

Definition at line 168 of file GFTrack.cxx.

References genf::GFAbsTrackRep::extrapolate(), fCand, genf::GFAbsRecoHit::getDetPlane(), genf::GFAbsTrackRep::getDim(), genf::GFTrackCand::getHit(), getHit(), getNumHits(), getNumReps(), getTrackRep(), and genf::GFAbsRecoHit::residualVector().

Referenced by getPDG().

172 {
173  unsigned int nhits=getNumHits();
174  if(repid>=getNumReps())return;
175  GFAbsTrackRep* rep=getTrackRep(repid);//->clone();
176  for(unsigned int ih=0; ih<nhits; ++ih){// loop over hits
177  unsigned int anid;
178  unsigned int dummy;
179  fCand.getHit(ih,anid,dummy); // check if this is a hit we want to look at
180  if(anid==detId){
181  GFAbsRecoHit* hit=getHit(ih);
182  // extrapolate trackrep there
183  int repDim=rep->getDim();
184  TMatrixT<Double_t> state(repDim,1);
185  GFDetPlane pl=hit->getDetPlane(rep);
186 
187  rep->extrapolate(pl,state);
188  //rep->setState(state);
189  //rep->setReferencePlane(pl);
190  double res=hit->residualVector(rep,state,pl)[dim][0];
191 
192  //std::cout<<res<<std::endl;
193 
194  result.push_back(res);
195  }
196  }
197 }
GFAbsTrackRep * getTrackRep(int id) const
Accessor for track representations.
Definition: GFTrack.h:195
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
GFAbsRecoHit * getHit(int id) const
Definition: GFTrack.h:159
Detector simulation of raw signals on wires.
unsigned int getNumHits() const
Definition: GFTrack.h:163
void getHit(unsigned int i, unsigned int &detId, unsigned int &hitId) const
Get detector ID and cluster index (hitId) for hit number i.
Definition: GFTrackCand.h:84
GFAbsTrackRep* genf::GFTrack::getTrackRep ( int  id) const
inline

Accessor for track representations.

Definition at line 195 of file GFTrack.h.

Referenced by genf::GFDaf::blowUpCovs(), genf::GFKalman::blowUpCovs(), genf::GFKalman::blowUpCovsDiag(), fillGeoTrack(), genf::GFKalman::fittingPass(), getResiduals(), GFTrack(), operator=(), Print(), genf::GFKalman::processHit(), genf::GFDaf::processTrack(), genf::GFKalman::processTrack(), and genf::GFKalman::switchDirection().

195  {
196  return reinterpret_cast<GFAbsTrackRep*>(fTrackReps->At(id));
197  }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
void genf::GFTrack::mergeHits ( GFTrack trk)

Merge two GFTracks. Only hits will be merged.

All hits from trk will be merged into this GFTrack. trk will be empty afterwards.

Kalman::continueTrack can be used to include the newly added hits in the fit.

Note that the new hits are inserted at the end of the present track!

Definition at line 125 of file GFTrack.cxx.

References addHit(), fHits, getCand(), genf::GFTrackCand::getHit(), getHit(), and getNumHits().

Referenced by getNumHits().

125  {
126  unsigned int nhits=trk->getNumHits();
127  for(unsigned int i=0;i<nhits;++i){
128  unsigned int detId;
129  unsigned int hitId;
130  trk->getCand().getHit(i,detId,hitId);
131  GFAbsRecoHit* hit=trk->getHit(i);
132  addHit(hit,detId,hitId);
133  }
134  trk->fHits.clear();
135 }
Detector simulation of raw signals on wires.
void addHit(GFAbsRecoHit *theHit)
deprecated!
Definition: GFTrack.h:299
genf::GFTrack & genf::GFTrack::operator= ( const GFTrack _tr)

assignement operator

Definition at line 71 of file GFTrack.cxx.

References addTrackRep(), genf::GFAbsTrackRep::clone(), fBookkeeping, fCand, fCardinal_rep, fHits, fNextHitToFit, fRepAtHit, fTrackReps, getHit(), getNumHits(), getNumReps(), and getTrackRep().

71  {
72  if(fTrackReps!=NULL){
73  for(unsigned int i=0;i<getNumReps();i++) {
74  delete fTrackReps->At(i);
75  }
76  delete fTrackReps;
77  fTrackReps=NULL;
78  }
79  for(unsigned int i=0;i<fHits.size();i++) {
80  delete fHits[i];
81  }
82  for(unsigned int i=0;i<fBookkeeping.size();++i){
83  if(fBookkeeping.at(i)!=NULL) delete fBookkeeping.at(i);
84  }
85 
86  for(unsigned int i=0;i<_tr.getNumReps();++i){
87  addTrackRep(_tr.getTrackRep(i)->clone());
88  }
89  fCand=_tr.fCand;
90  fCardinal_rep=_tr.fCardinal_rep;
91  fNextHitToFit=_tr.fNextHitToFit;
92  for(unsigned int i=0;i<_tr.getNumHits();i++) {
93  fHits.push_back((_tr.getHit(i))->clone());
94  }
95 
96  //clear the empty bookeeping objs made by addTrackRep and copy the others
97  for(unsigned int i=0; i<fBookkeeping.size(); ++i) delete fBookkeeping[i];
98  fBookkeeping.clear();
99  for(unsigned int i=0;i<_tr.fBookkeeping.size();++i){
100  fBookkeeping.push_back(new GFBookkeeping(*(_tr.fBookkeeping.at(i))));
101  }
102  fRepAtHit = _tr.fRepAtHit;
103 
104 
105  return *this;
106 }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
unsigned int fNextHitToFit
Definition: GFTrack.h:115
std::vector< int > fRepAtHit
repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolatio...
Definition: GFTrack.h:91
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
unsigned int fCardinal_rep
Definition: GFTrack.h:113
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
void addTrackRep(GFAbsTrackRep *theTrackRep)
Add track represenation.
Definition: GFTrack.h:326
void genf::GFTrack::Print ( std::ostream &  out = std::cout) const

Definition at line 209 of file GFTrack.cxx.

References fBookkeeping, getNumHits(), getNumReps(), getTrackRep(), and genf::GFAbsTrackRep::Print().

Referenced by clearRepAtHit().

209  {
210  for(unsigned int i=0;i<getNumReps();++i){
211  getTrackRep(i)->Print(out);
212  fBookkeeping.at(i)->Print(out);
213  }
214  out << "GFTrack has " << getNumHits() << " detector hits." << std::endl;
215 
216 }
GFAbsTrackRep * getTrackRep(int id) const
Accessor for track representations.
Definition: GFTrack.h:195
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
unsigned int getNumHits() const
Definition: GFTrack.h:163
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
virtual void Print(std::ostream &out=std::cout) const
virtual void genf::GFTrack::Print ( Option_t *  ) const
inlineprivatevirtual

Definition at line 434 of file GFTrack.h.

435  { throw std::logic_error(std::string(__func__) + "::Print(Option_t*) not available"); }
void genf::GFTrack::printBookkeeping ( std::ostream &  out = std::cout) const

print bookkeeping

Definition at line 200 of file GFTrack.cxx.

References fBookkeeping, and getNumReps().

Referenced by clearRepAtHit().

200  {
201  out << "GFTrack::printBookkeeping()" << std::endl;
202  for(unsigned int i=0;i<getNumReps();++i){
203  out << "trackRep " << i << ":" << std::endl;
204  fBookkeeping.at(i)->Print(out);
205  }
206 
207 }
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
void genf::GFTrack::releaseHits ( )
inline

Clear hit vector. Note that hits will not be deleted!

Be carefull not to create memory leaks here.

Definition at line 183 of file GFTrack.h.

183 {fHits.clear();}
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
void genf::GFTrack::reset ( )

Resets the GFTrack – deletes RecoHits!

Definition at line 110 of file GFTrack.cxx.

References fBookkeeping, fHits, fRepAtHit, fTrackReps, and getNumReps().

Referenced by setCandidate().

110  {
111  if(fTrackReps!=NULL){
112  for(unsigned int i=0;i<getNumReps();i++) {
113  delete fTrackReps->At(i);
114  delete fBookkeeping.at(i);
115  }
116  }
117  for(unsigned int i=0;i<fHits.size();i++) {
118  delete fHits[i];
119  }
120  fHits.clear();
121  fRepAtHit.clear();
122 }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
std::vector< int > fRepAtHit
repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolatio...
Definition: GFTrack.h:91
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
std::vector< GFAbsRecoHit * > fHits
Collection of RecoHits.
Definition: GFTrack.h:80
std::vector< GFBookkeeping * > fBookkeeping
Collection of Bookeeping objects for failed hits in every trackrep.
Definition: GFTrack.h:86
void genf::GFTrack::setCandidate ( const GFTrackCand cand,
bool  doreset = false 
)

set track candidate

Definition at line 139 of file GFTrack.cxx.

References fCand, fTrackReps, getNumReps(), and reset().

Referenced by getBK().

140 {
141  fCand=cand;
142  // reset fits
143  if(doreset) {
144  for(unsigned int i=0;i<getNumReps();i++) {
145  ((GFAbsTrackRep*)fTrackReps->At(i))->reset();
146  }
147  }
148 }
TObjArray * fTrackReps
Collection of track representations.
Definition: GFTrack.h:76
GFTrackCand fCand
Helper to store the indices of the hits in the track. See GFTrackCand for details.
Definition: GFTrack.h:96
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
void reset()
Resets the GFTrack – deletes RecoHits!
Definition: GFTrack.cxx:110
void genf::GFTrack::setCardinalRep ( unsigned int  r)
inline

Choose cardinal track represenatation.

See also
getCardinalRep

Definition at line 348 of file GFTrack.h.

348 {if((int)r<fTrackReps->GetEntriesFast())fCardinal_rep=r;}
unsigned int fCardinal_rep
Definition: GFTrack.h:113
void genf::GFTrack::setHitChi2 ( Double_t  mat)
inline

Definition at line 352 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

352 {fHitChi2.push_back(mat);}
std::vector< Double_t > fHitChi2
Definition: GFTrack.h:102
Float_t mat
Definition: plot.C:40
void genf::GFTrack::setHitCov ( TMatrixT< Double_t >  mat)
inline

Definition at line 354 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

354 {fHitCov.push_back(mat);}
Float_t mat
Definition: plot.C:40
std::vector< TMatrixT< Double_t > > fHitCov
Definition: GFTrack.h:104
void genf::GFTrack::setHitCov7x7 ( TMatrixT< Double_t >  mat)
inline

Definition at line 355 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

355 {fHitCov7x7.push_back(mat);}
std::vector< TMatrixT< Double_t > > fHitCov7x7
Definition: GFTrack.h:103
Float_t mat
Definition: plot.C:40
void genf::GFTrack::setHitMeasuredCov ( TMatrixT< Double_t >  mat)
inline

Definition at line 350 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

350 {fHitMeasCov.push_back(mat);}
Float_t mat
Definition: plot.C:40
std::vector< TMatrixT< Double_t > > fHitMeasCov
Definition: GFTrack.h:99
void genf::GFTrack::setHitPlaneU ( TVector3  pl)
inline

Definition at line 358 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

358 { fHitPlaneU.push_back(pl);}
std::vector< TVector3 > fHitPlaneU
Definition: GFTrack.h:107
void genf::GFTrack::setHitPlaneUxUyUz ( TVector3  pl)
inline

Definition at line 357 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

357 { fHitPlaneUxUyUz.push_back(pl);}
std::vector< TVector3 > fHitPlaneUxUyUz
Definition: GFTrack.h:106
void genf::GFTrack::setHitPlaneV ( TVector3  pl)
inline

Definition at line 359 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

359 { fHitPlaneV.push_back(pl);}
std::vector< TVector3 > fHitPlaneV
Definition: GFTrack.h:108
void genf::GFTrack::setHitPlaneXYZ ( TVector3  pl)
inline

Definition at line 356 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

356 { fHitPlaneXYZ.push_back(pl);}
std::vector< TVector3 > fHitPlaneXYZ
Definition: GFTrack.h:105
void genf::GFTrack::setHitState ( TMatrixT< Double_t >  mat)
inline

Definition at line 353 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

353 {fHitState.push_back(mat);}
std::vector< TMatrixT< Double_t > > fHitState
Definition: GFTrack.h:101
Float_t mat
Definition: plot.C:40
void genf::GFTrack::setHitUpdate ( TMatrixT< Double_t >  mat)
inline

Definition at line 351 of file GFTrack.h.

Referenced by genf::GFKalman::processHit().

351 {fHitUpdate.push_back(mat);}
std::vector< TMatrixT< Double_t > > fHitUpdate
Definition: GFTrack.h:100
Float_t mat
Definition: plot.C:40
void genf::GFTrack::setNextHitToFit ( unsigned int  i)
inline

Set next hit to be used in a fit.

Definition at line 191 of file GFTrack.h.

Referenced by genf::GFKalman::fittingPass(), and genf::GFKalman::processTrack().

191 {fNextHitToFit=i;}
unsigned int fNextHitToFit
Definition: GFTrack.h:115
void genf::GFTrack::setPDG ( int  pdgt)
inline

Definition at line 360 of file GFTrack.h.

Referenced by trkf::Track3DKalmanSPS::produce().

360 {fPDG = pdgt;}
void genf::GFTrack::setRepAtHit ( unsigned int  irep,
int  ihit 
)
inline

set the hit index at which plane,state&cov of rep irep is defined

Definition at line 388 of file GFTrack.h.

References getNumReps(), and GFException::setFatal().

Referenced by genf::GFKalman::processHit().

388  {
389  if (irep >= getNumReps())
390  throw GFException("genf::GFTrack::setRepAtHit(): index out of range", __LINE__, __FILE__).setFatal();
391  fRepAtHit.at(irep) = ihit;
392  }
std::vector< int > fRepAtHit
repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolatio...
Definition: GFTrack.h:91
unsigned int getNumReps() const
Get number of track represenatations.
Definition: GFTrack.h:201
Exception class for error handling in GENFIT (provides storage for diagnostic information) ...
Definition: GFException.h:50
GFException & setFatal(bool b=true)
set fatal flag. if this is true, the fit stops for this current track repr.
Definition: GFException.h:80

Member Data Documentation

std::vector< GFBookkeeping* > genf::GFTrack::fBookkeeping
private

Collection of Bookeeping objects for failed hits in every trackrep.

Definition at line 86 of file GFTrack.h.

Referenced by GFTrack(), operator=(), Print(), printBookkeeping(), reset(), and ~GFTrack().

GFTrackCand genf::GFTrack::fCand
private

Helper to store the indices of the hits in the track. See GFTrackCand for details.

Definition at line 96 of file GFTrack.h.

Referenced by fillGeoTrack(), getCand(), getHitsByPlane(), getResiduals(), GFTrack(), operator=(), and setCandidate().

unsigned int genf::GFTrack::fCardinal_rep
private

Definition at line 113 of file GFTrack.h.

Referenced by getFailedHits(), GFTrack(), and operator=().

const int genf::GFTrack::fDefNumTrackReps = 10
staticprivate

Definition at line 112 of file GFTrack.h.

std::vector< Double_t > genf::GFTrack::fHitChi2
private

Definition at line 102 of file GFTrack.h.

Referenced by getHitChi2().

std::vector< TMatrixT<Double_t> > genf::GFTrack::fHitCov
private

Definition at line 104 of file GFTrack.h.

Referenced by getHitCov(), and getHitCov7x7().

std::vector< TMatrixT<Double_t> > genf::GFTrack::fHitCov7x7
private

Definition at line 103 of file GFTrack.h.

std::vector< TMatrixT<Double_t> > genf::GFTrack::fHitMeasCov
private

Definition at line 99 of file GFTrack.h.

Referenced by getHitMeasuredCov().

std::vector< TVector3 > genf::GFTrack::fHitPlaneU
private

Definition at line 107 of file GFTrack.h.

Referenced by getHitPlaneU().

std::vector< TVector3 > genf::GFTrack::fHitPlaneUxUyUz
private

Definition at line 106 of file GFTrack.h.

Referenced by getHitPlaneUxUyUz().

std::vector< TVector3 > genf::GFTrack::fHitPlaneV
private

Definition at line 108 of file GFTrack.h.

Referenced by getHitPlaneV().

std::vector< TVector3 > genf::GFTrack::fHitPlaneXYZ
private

Definition at line 105 of file GFTrack.h.

Referenced by getHitPlaneXYZ().

std::vector<GFAbsRecoHit*> genf::GFTrack::fHits
private

Collection of RecoHits.

Definition at line 80 of file GFTrack.h.

Referenced by fillGeoTrack(), getHits(), getHitsByPlane(), GFTrack(), mergeHits(), operator=(), reset(), and ~GFTrack().

std::vector< TMatrixT<Double_t> > genf::GFTrack::fHitState
private

Definition at line 101 of file GFTrack.h.

Referenced by getHitState().

std::vector< TMatrixT<Double_t> > genf::GFTrack::fHitUpdate
private

Definition at line 100 of file GFTrack.h.

Referenced by getHitUpdate().

unsigned int genf::GFTrack::fNextHitToFit
private

Definition at line 115 of file GFTrack.h.

Referenced by getNextHitToFit(), GFTrack(), and operator=().

int genf::GFTrack::fPDG
private

Definition at line 110 of file GFTrack.h.

Referenced by getPDG().

std::vector<int> genf::GFTrack::fRepAtHit
private

repAtHit keeps track of at which hit index which rep is currently defined, to avoid null extrapolations

Definition at line 91 of file GFTrack.h.

Referenced by GFTrack(), operator=(), and reset().

TObjArray* genf::GFTrack::fTrackReps
private

Collection of track representations.

this array is only to be added to in the addTrackRep method because the synchronized construction of bookkeeping objects and repAtHit array is ensured there. NEVER delete elements from this array! If this functionality will be need, it has to be done synchronized with bookkeeping!!

Definition at line 76 of file GFTrack.h.

Referenced by GFTrack(), operator=(), reset(), setCandidate(), and ~GFTrack().


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