EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GeaneTrackRep Class Reference

#include <EicRoot/blob/master/GenfitTools/trackrep/GeaneTrackRep/GeaneTrackRep.h>

+ Inheritance diagram for GeaneTrackRep:
+ Collaboration diagram for GeaneTrackRep:

Public Member Functions

 GeaneTrackRep ()
 
 GeaneTrackRep (FairGeanePro *geane, const GFDetPlane &plane, const TVector3 &mom, const TVector3 &poserr, const TVector3 &momerr, double q, int PDGCode)
 
 GeaneTrackRep (FairGeanePro *geane, const GFDetPlane &plane, const TVector3 &mom, const TVector3 &poserr, const TVector3 &momerr, int q, int PDGCode)
 
virtual ~GeaneTrackRep ()
 
virtual GFAbsTrackRepclone () const
 
virtual GFAbsTrackRepprototype () const
 
virtual double extrapolate (const GFDetPlane &, TMatrixT< double > &statePred)
 returns the tracklength spanned in this extrapolation
 
virtual double extrapolate (const GFDetPlane &, TMatrixT< double > &statePred, TMatrixT< double > &covPred)
 Extrapolates the track to the given detectorplane.
 
void extrapolateToPoint (const TVector3 &pos, TVector3 &poca, TVector3 &dirInPoca)
 This method is to extrapolate the track to point of closest approach to a point in space.
 
void extrapolateToLine (const TVector3 &point1, const TVector3 &point2, TVector3 &poca, TVector3 &dirInPoca, TVector3 &poca_onwire)
 This method extrapolates to the point of closest approach to a line.
 
TVector3 getPocaOnLine (const TVector3 &p1, const TVector3 &p2, bool back=false)
 
virtual TVector3 getPos (const GFDetPlane &)
 
virtual TVector3 getMom (const GFDetPlane &)
 
virtual void getPosMom (const GFDetPlane &, TVector3 &pos, TVector3 &mom)
 
virtual void getPosMomCov (const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< double > &cov)
 method which gets position, momentum and 6x6 covariance matrix
 
virtual double getCharge () const
 
int getPropDir ()
 
FairGeaneProgetPropagator ()
 
int getPDG ()
 method which gets pdg particle code
 
double getSPU ()
 
void setPropagator (FairGeanePro *g)
 
void setPropDir (int d)
 
void switchDirection ()
 
- Public Member Functions inherited from GFAbsTrackRep
 GFAbsTrackRep ()
 
 GFAbsTrackRep (int)
 
virtual ~GFAbsTrackRep ()
 
virtual double stepalong (double h, TVector3 &point, TVector3 &dir)
 make step of h cm along the track
 
double extrapolate (const GFDetPlane &plane)
 This changes the state and cov and plane of the rep.
 
unsigned int getDim () const
 returns dimension of state vector
 
virtual void Print (const Option_t *="") const
 
TMatrixT< double > getState () const
 
TMatrixT< double > getCov () const
 
double getStateElem (int i) const
 
double getCovElem (int i, int j) const
 
TVector3 getPos ()
 
TVector3 getMom ()
 
void getPosMomCov (TVector3 &pos, TVector3 &mom, TMatrixT< double > &c)
 
TMatrixT< double > getFirstState () const
 
TMatrixT< double > getFirstCov () const
 
GFDetPlane getFirstPlane () const
 
TMatrixT< double > getLastState () const
 
TMatrixT< double > getLastCov () const
 
GFDetPlane getLastPlane () const
 
double getChiSqu () const
 
double getForwardChiSqu () const
 
double getRedChiSqu () const
 returns chi2/ndf
 
double getPVal () const
 
unsigned int getNDF () const
 
double getXX0 () const
 X/X0 (total fraction of radiation length passed), cumulated during last extrapolation. The fitter has to reset XX0 via resetXX0()
 
virtual void setData (const TMatrixT< double > &st, const GFDetPlane &pl, const TMatrixT< double > *cov=NULL, const TMatrixT< double > *aux=NULL)
 Puts the track representation in a given state.
 
void setCov (const TMatrixT< double > &aCov)
 
void setFirstState (const TMatrixT< double > &aState)
 
void setFirstCov (const TMatrixT< double > &aCov)
 
void setFirstPlane (const GFDetPlane &aPlane)
 
void setLastState (const TMatrixT< double > &aState)
 
void setLastCov (const TMatrixT< double > &aCov)
 
void setLastPlane (const GFDetPlane &aPlane)
 
virtual void setPosMomCov (const TVector3 &pos, const TVector3 &mom, const TMatrixT< double > &cov)
 method which sets position, momentum and 6x6 covariance matrix
 
const GFDetPlanegetReferencePlane () const
 
void setChiSqu (double aChiSqu)
 
void setForwardChiSqu (double aChiSqu)
 
void setNDF (unsigned int n)
 
void addChiSqu (double aChiSqu)
 
void addForwardChiSqu (double aChiSqu)
 
void addNDF (unsigned int n)
 
void setStatusFlag (int _val)
 
bool setInverted (bool f=true)
 Deprecated. Should be removed soon.
 
bool getStatusFlag ()
 
virtual void reset ()
 
virtual bool hasAuxInfo ()
 See if the track representation has auxillary information stored.
 
virtual const TMatrixT< double > * getAuxInfo (const GFDetPlane &)
 Get auxillary information from the track representation.
 
void resetXX0 ()
 

Public Attributes

FairGeanePro_geane
 

Private Member Functions

void checkState ()
 

Private Attributes

double _spu
 
int _pdg
 
int _backw
 

Friends

std::ostream & operator<< (std::ostream &s, const GeaneTrackRep &me)
 

Additional Inherited Members

- Protected Attributes inherited from GFAbsTrackRep
unsigned int fDimension
 Dimensionality of track representation.
 
TMatrixT< double > fState
 The vector of track parameters.
 
TMatrixT< double > fCov
 The covariance matrix.
 
double fChiSqu
 chiSqu of the track fit
 
double fForwardChiSqu
 
unsigned int fNdf
 
int fStatusFlag
 status of track representation: 0 means everything's OK
 
bool fInverted
 specifies the direction of flight of the particle
 
TMatrixT< double > fFirstState
 state, cov and plane for first and last point in fit
 
TMatrixT< double > fFirstCov
 
TMatrixT< double > fLastState
 
TMatrixT< double > fLastCov
 
GFDetPlane fFirstPlane
 
GFDetPlane fLastPlane
 
GFDetPlane fRefPlane
 
double fXX0
 

Detailed Description

Definition at line 36 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 36 of file GeaneTrackRep.h

Constructor & Destructor Documentation

GeaneTrackRep::GeaneTrackRep ( )

Definition at line 39 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 39 of file GeaneTrackRep.cxx

Referenced by clone(), and prototype().

+ Here is the caller graph for this function:

GeaneTrackRep::GeaneTrackRep ( FairGeanePro geane,
const GFDetPlane plane,
const TVector3 &  mom,
const TVector3 &  poserr,
const TVector3 &  momerr,
double  q,
int  PDGCode 
)

Definition at line 45 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 45 of file GeaneTrackRep.cxx

References _spu, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), charm_jet_coverage::mom, Acts::PrimitivesView3DTest::plane, and lit::Sign().

+ Here is the call graph for this function:

GeaneTrackRep::GeaneTrackRep ( FairGeanePro geane,
const GFDetPlane plane,
const TVector3 &  mom,
const TVector3 &  poserr,
const TVector3 &  momerr,
int  q,
int  PDGCode 
)

Definition at line 79 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 79 of file GeaneTrackRep.cxx

References _spu, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), charm_jet_coverage::mom, and Acts::PrimitivesView3DTest::plane.

+ Here is the call graph for this function:

GeaneTrackRep::~GeaneTrackRep ( )
virtual

Definition at line 120 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 120 of file GeaneTrackRep.cxx

Member Function Documentation

void GeaneTrackRep::checkState ( )
private

Definition at line 532 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 532 of file GeaneTrackRep.cxx

References GFAbsTrackRep::fState.

Referenced by extrapolate(), extrapolateToPoint(), and getPocaOnLine().

+ Here is the caller graph for this function:

virtual GFAbsTrackRep* GeaneTrackRep::clone ( ) const
inlinevirtual

Implements GFAbsTrackRep.

Definition at line 60 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 60 of file GeaneTrackRep.h

References GeaneTrackRep().

+ Here is the call graph for this function:

double GeaneTrackRep::extrapolate ( const GFDetPlane plane,
TMatrixT< double > &  statePred 
)
virtual

returns the tracklength spanned in this extrapolation

There is a default implementation in GFAbsTrackRep.cxx which just drops the predicted covaraiance. If your trackrep has a way to extrapolate without giving a correct cov (that would be faster probably), please overwrite it. This method does NOT alter the state of the object!

TODO: make this faster by neglecting covariances ?

Reimplemented from GFAbsTrackRep.

Definition at line 129 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 129 of file GeaneTrackRep.cxx

Referenced by GFTools::getBiasedSmoothedData(), getMom(), getPos(), getPosMom(), getPosMomCov(), and GFTools::getSmoothedData().

+ Here is the caller graph for this function:

double GeaneTrackRep::extrapolate ( const GFDetPlane plane,
TMatrixT< double > &  statePred,
TMatrixT< double > &  covPred 
)
virtual

Extrapolates the track to the given detectorplane.

Results are put into statePred and covPred This method does NOT alter the state of the object!

Implements GFAbsTrackRep.

Definition at line 139 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 139 of file GeaneTrackRep.cxx

References _backw, _geane, _pdg, _spu, checkState(), GFDetPlane::dist(), GFAbsTrackRep::fCov, GFAbsTrackRep::fDimension, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, FairTrackParP::GetCov(), FairGeanePro::GetLengthAtPCA(), GFAbsTrackRep::getMom(), GFDetPlane::getO(), FairTrackPar::GetQp(), FairTrackParP::GetSPU(), FairTrackParP::GetTV(), FairTrackParP::GetTW(), GFDetPlane::getU(), GFDetPlane::getV(), FairTrackParP::GetV(), FairTrackParP::GetW(), FairTrackPar::GetX(), FairTrackPar::GetY(), FairTrackPar::GetZ(), pos(), FairGeanePro::Propagate(), FairGeanePro::PropagateFromPlane(), FairGeanePro::PropagateToPlane(), FairGeanePro::setBackProp(), GFException::setFatal(), THETACUT, Acts::UnitConstants::u, and v.

+ Here is the call graph for this function:

void GeaneTrackRep::extrapolateToLine ( const TVector3 &  point1,
const TVector3 &  point2,
TVector3 &  poca,
TVector3 &  normVec,
TVector3 &  poca_onwire 
)
virtual

This method extrapolates to the point of closest approach to a line.

This method extrapolates to the POCA to a line, i.e. a wire. There is a default implementation just like for the extrapolateToPoca for trackReps which do not need this feature, which will abort the execution if it is ever called. This method does NOT alter the state of the object!

Reimplemented from GFAbsTrackRep.

Definition at line 340 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 340 of file GeaneTrackRep.cxx

References _geane, _pdg, _spu, FairGeanePro::ActualFindPCA(), GFAbsTrackRep::fCov, FairGeanePro::FindPCA(), GFAbsTrackRep::fRefPlane, FairGeaneUtil::FromMat25ToVec15(), GFAbsTrackRep::fState, GFAbsTrackRep::getMom(), GFDetPlane::getO(), GFAbsTrackRep::getPos(), getPropDir(), GFDetPlane::getU(), GFDetPlane::getV(), GFException::setFatal(), start(), and THETACUT.

+ Here is the call graph for this function:

void GeaneTrackRep::extrapolateToPoint ( const TVector3 &  point,
TVector3 &  poca,
TVector3 &  normVec 
)
virtual

This method is to extrapolate the track to point of closest approach to a point in space.

There is an empty implementation of this method in GFAbsTrackRep.cxx, which will just abort with an error message. One can overwrite this method if one wishes to implement a track representation, which should have this feature. An example of an experiment in which you would not need this feature would be track fitting (not so much vertexing) in an experiment with only planar trackers like silicons or planar wire chambers and such. An example where you would need it, would be a TPC where you have to fit the track to space points, or other drift chambers with complicated hit topology. This method does NOT alter the state of the object!

Reimplemented from GFAbsTrackRep.

Definition at line 253 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 253 of file GeaneTrackRep.cxx

References _backw, _geane, _pdg, _spu, FairGeanePro::BackTrackToVirtualPlaneAtPCA(), checkState(), Acts::Test::dim, GFDetPlane::dist(), GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, FairTrackParP::GetCov(), GFAbsTrackRep::getDim(), FairTrackParP::GetJVer(), FairTrackParP::GetKVer(), GFAbsTrackRep::getMom(), GFDetPlane::getO(), FairTrackPar::GetQp(), FairTrackParP::GetTV(), FairTrackParP::GetTW(), GFDetPlane::getU(), GFDetPlane::getV(), FairTrackParP::GetV(), FairTrackParP::GetW(), FairTrackPar::GetX(), FairTrackPar::GetY(), FairTrackPar::GetZ(), FairGeanePro::Propagate(), FairGeanePro::PropagateFromPlane(), FairGeanePro::PropagateToVirtualPlaneAtPCA(), GFException::setFatal(), FairGeanePro::SetPoint(), and THETACUT.

+ Here is the call graph for this function:

virtual double GeaneTrackRep::getCharge ( ) const
inlinevirtual

Implements GFAbsTrackRep.

Definition at line 101 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 101 of file GeaneTrackRep.h

References GFAbsTrackRep::fState.

TVector3 GeaneTrackRep::getMom ( const GFDetPlane pl)
virtual

Implements GFAbsTrackRep.

Definition at line 473 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 473 of file GeaneTrackRep.cxx

References _spu, extrapolate(), GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, GFDetPlane::getNormal(), GFDetPlane::getU(), GFDetPlane::getV(), and charm_jet_coverage::mom.

+ Here is the call graph for this function:

int GeaneTrackRep::getPDG ( )
inlinevirtual

method which gets pdg particle code

default implementation in cxx; should be implemented in a ConcreteTrackRep

Reimplemented from GFAbsTrackRep.

Definition at line 104 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 104 of file GeaneTrackRep.h

References _pdg.

TVector3 GeaneTrackRep::getPocaOnLine ( const TVector3 &  p1,
const TVector3 &  p2,
bool  back = false 
)

Definition at line 408 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 408 of file GeaneTrackRep.cxx

References _geane, _pdg, _spu, FairGeanePro::BackTrackToVirtualPlaneAtPCA(), checkState(), GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, GFDetPlane::getO(), FairGeanePro::GetPCAOnWire(), GFDetPlane::getU(), GFDetPlane::getV(), FairGeanePro::Propagate(), FairGeanePro::PropagateFromPlane(), FairGeanePro::PropagateToVirtualPlaneAtPCA(), GFException::setFatal(), and FairGeanePro::SetWire().

+ Here is the call graph for this function:

TVector3 GeaneTrackRep::getPos ( const GFDetPlane pl)
virtual

Implements GFAbsTrackRep.

Definition at line 465 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 465 of file GeaneTrackRep.cxx

References extrapolate(), GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), and GFDetPlane::getV().

+ Here is the call graph for this function:

void GeaneTrackRep::getPosMom ( const GFDetPlane pl,
TVector3 &  pos,
TVector3 &  mom 
)
virtual

Implements GFAbsTrackRep.

Definition at line 483 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 483 of file GeaneTrackRep.cxx

References extrapolate(), GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, GFDetPlane::getNormal(), GFDetPlane::getO(), GFDetPlane::getU(), and GFDetPlane::getV().

+ Here is the call graph for this function:

void GeaneTrackRep::getPosMomCov ( const GFDetPlane pl,
TVector3 &  pos,
TVector3 &  mom,
TMatrixT< double > &  cov 
)
virtual

method which gets position, momentum and 6x6 covariance matrix

default implementation in cxx file, if a ConcreteTrackRep can not implement this functionality

Reimplemented from GFAbsTrackRep.

Definition at line 495 of file GeaneTrackRep.cxx.

View newest version in sPHENIX GitHub at line 495 of file GeaneTrackRep.cxx

References _spu, extrapolate(), GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, FairGeaneUtil::FromMat25ToVec15(), GFAbsTrackRep::fState, FairTrackParP::GetMARSCov(), GFDetPlane::getNormal(), GFDetPlane::getO(), GFDetPlane::getU(), and GFDetPlane::getV().

+ Here is the call graph for this function:

FairGeanePro* GeaneTrackRep::getPropagator ( )
inline

Definition at line 103 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 103 of file GeaneTrackRep.h

References _geane.

int GeaneTrackRep::getPropDir ( )
inline

Definition at line 102 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 102 of file GeaneTrackRep.h

References _backw.

Referenced by extrapolateToLine().

+ Here is the caller graph for this function:

double GeaneTrackRep::getSPU ( )
inline

Definition at line 105 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 105 of file GeaneTrackRep.h

References _spu.

virtual GFAbsTrackRep* GeaneTrackRep::prototype ( ) const
inlinevirtual

Implements GFAbsTrackRep.

Definition at line 61 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 61 of file GeaneTrackRep.h

References GeaneTrackRep().

+ Here is the call graph for this function:

void GeaneTrackRep::setPropagator ( FairGeanePro g)
inline

Definition at line 107 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 107 of file GeaneTrackRep.h

References _geane, and g().

+ Here is the call graph for this function:

void GeaneTrackRep::setPropDir ( int  d)
inline

Definition at line 108 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 108 of file GeaneTrackRep.h

References _backw, and d.

Referenced by PndRecoDafFit::Fit(), PndRecoKalmanFit::Fit(), GFTools::getBiasedSmoothedData(), and GFTools::getSmoothedData().

+ Here is the caller graph for this function:

void GeaneTrackRep::switchDirection ( )
inlinevirtual

Implements GFAbsTrackRep.

Definition at line 109 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 109 of file GeaneTrackRep.h

References _backw.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const GeaneTrackRep me 
)
friend

Member Data Documentation

int GeaneTrackRep::_backw
private

Definition at line 123 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 123 of file GeaneTrackRep.h

Referenced by extrapolate(), extrapolateToPoint(), getPropDir(), setPropDir(), and switchDirection().

FairGeanePro* GeaneTrackRep::_geane

Definition at line 119 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 119 of file GeaneTrackRep.h

Referenced by extrapolate(), extrapolateToLine(), extrapolateToPoint(), getPocaOnLine(), getPropagator(), and setPropagator().

int GeaneTrackRep::_pdg
private

Definition at line 122 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 122 of file GeaneTrackRep.h

Referenced by extrapolate(), extrapolateToLine(), extrapolateToPoint(), getPDG(), and getPocaOnLine().

double GeaneTrackRep::_spu
private

Definition at line 121 of file GeaneTrackRep.h.

View newest version in sPHENIX GitHub at line 121 of file GeaneTrackRep.h

Referenced by extrapolate(), extrapolateToLine(), extrapolateToPoint(), GeaneTrackRep(), getMom(), getPocaOnLine(), getPosMomCov(), and getSPU().


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