FairRoot/PandaRoot
|
Track Representation module based on a Runge-Kutta algorithm including a full material model. More...
#include <RKTrackRep.h>
Public Member Functions | |
RKTrackRep () | |
RKTrackRep (const TVector3 &pos, const TVector3 &mom, const TVector3 &poserr, const TVector3 &momerr, const int &PDGCode) | |
RKTrackRep (const GFTrackCand *aGFTrackCandPtr) | |
RKTrackRep (const TVector3 &pos, const TVector3 &mom, const int &PDGCode) | |
RKTrackRep (const GFDetPlane &pl, const TVector3 &mom, const int &PDGCode) | |
virtual | ~RKTrackRep () |
virtual GFAbsTrackRep * | clone () const |
virtual GFAbsTrackRep * | prototype () const |
double | extrapolate (const GFDetPlane &, TMatrixT< double > &statePred, TMatrixT< double > &covPred) |
returns the tracklength spanned in this extrapolation More... | |
double | extrapolate (const GFDetPlane &, TMatrixT< double > &statePred) |
returns the tracklength spanned in this extrapolation More... | |
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. More... | |
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. More... | |
double | stepalong (double h, TVector3 &point, TVector3 &dir) |
make step of h cm along the track, returns the tracklength spanned in this extrapolation More... | |
TVector3 | getPos (const GFDetPlane &) |
Returns position of the track in the plane. More... | |
TVector3 | getMom (const GFDetPlane &) |
Returns momentum of the track in the plane. More... | |
void | getPosMom (const GFDetPlane &, TVector3 &pos, TVector3 &mom) |
Gets position and momentum in the plane. More... | |
double | getCharge () const |
Returns charge. More... | |
int | getPDG () |
void | switchDirection () |
deprecated More... | |
void | setPDG (int) |
Set PDG particle code. More... | |
void | setData (const TMatrixT< double > &st, const GFDetPlane &pl, const TMatrixT< double > *cov=NULL, const TMatrixT< double > *aux=NULL) |
Sets state, plane and (optionally) covariance. More... | |
const TMatrixT< double > * | getAuxInfo (const GFDetPlane &pl) |
Get auxillary information from the track representation. More... | |
bool | hasAuxInfo () |
See if the track representation has auxillary information stored. More... | |
void | getPosMomCov (const GFDetPlane &pl, TVector3 &pos, TVector3 &mom, TMatrixT< double > &cov) |
method which gets position, momentum and 6x6 covariance matrix More... | |
double | extrapolate (const GFDetPlane &plane) |
This changes the state and cov and plane of the rep. More... | |
unsigned int | getDim () const |
returns dimension of state vector More... | |
virtual void | Print () 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 | getRedChiSqu () const |
returns chi2/ndf More... | |
unsigned int | getNDF () const |
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) |
const GFDetPlane & | getReferencePlane () const |
void | setChiSqu (double aChiSqu) |
void | setNDF (unsigned int n) |
void | addChiSqu (double aChiSqu) |
void | addNDF (unsigned int n) |
void | setStatusFlag (int _val) |
bool | setInverted (bool f=true) |
Deprecated. Should be removed soon. More... | |
bool | getStatusFlag () |
virtual void | reset () |
Protected Attributes | |
unsigned int | fDimension |
Dimensionality of track representation. More... | |
TMatrixT< double > | fState |
The vector of track parameters. More... | |
TMatrixT< double > | fCov |
The covariance matrix. More... | |
double | fChiSqu |
chiSqu of the track fit More... | |
unsigned int | fNdf |
int | fStatusFlag |
status of track representation: 0 means everything's OK More... | |
bool | fInverted |
specifies the direction of flight of the particle More... | |
TMatrixT< double > | fFirstState |
state, cov and plane for first and last point in fit More... | |
TMatrixT< double > | fFirstCov |
TMatrixT< double > | fLastState |
TMatrixT< double > | fLastCov |
GFDetPlane | fFirstPlane |
GFDetPlane | fLastPlane |
GFDetPlane | fRefPlane |
Private Member Functions | |
RKTrackRep & | operator= (const RKTrackRep *) |
bool | RKutta (const GFDetPlane &plane, double *P, double &coveredDistance, std::vector< TVector3 > &points, std::vector< double > &pointLengths, const double &maxLen=-1, bool calcCov=true) const |
Propagates the particle through the magnetic field. More... | |
TVector3 | poca2Line (const TVector3 &extr1, const TVector3 &extr2, const TVector3 &point) const |
double | Extrap (const GFDetPlane &plane, TMatrixT< double > *state, TMatrixT< double > *cov=NULL) const |
Handles propagation and material effects. More... | |
Private Attributes | |
bool | fDirection |
int | fPdg |
PDG particle code. More... | |
double | fMass |
Mass (in GeV) More... | |
double | fCharge |
Charge. More... | |
GFDetPlane | fCachePlane |
double | fCacheSpu |
double | fSpu |
TMatrixT< double > | fAuxInfo |
Track Representation module based on a Runge-Kutta algorithm including a full material model.
The Runge Kutta implementation stems from GEANT3 originally (R. Brun et al.). Porting to C goes back to Igor Gavrilenko @ CERN. The code was taken from the Phast analysis package of the COMPASS experiment (Sergei Gerrassimov @ CERN).
Definition at line 49 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
RKTrackRep::RKTrackRep | ( | ) |
Definition at line 74 of file RKTrackRep.cxx.
Referenced by clone(), and prototype().
RKTrackRep::RKTrackRep | ( | const TVector3 & | pos, |
const TVector3 & | mom, | ||
const TVector3 & | poserr, | ||
const TVector3 & | momerr, | ||
const int & | PDGCode | ||
) |
Definition at line 78 of file RKTrackRep.cxx.
References fCharge, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), GFDetPlane::setNormal(), GFDetPlane::setO(), setPDG(), and v.
RKTrackRep::RKTrackRep | ( | const GFTrackCand * | aGFTrackCandPtr | ) |
Definition at line 128 of file RKTrackRep.cxx.
References fCharge, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFTrackCand::getDirError(), GFTrackCand::getDirSeed(), GFDetPlane::getO(), GFTrackCand::getPdgCode(), GFTrackCand::getPosError(), GFTrackCand::getPosSeed(), GFDetPlane::getU(), GFDetPlane::getV(), mom, GFDetPlane::setNormal(), GFDetPlane::setO(), setPDG(), and v.
RKTrackRep::RKTrackRep | ( | const TVector3 & | pos, |
const TVector3 & | mom, | ||
const int & | PDGCode | ||
) |
Definition at line 174 of file RKTrackRep.cxx.
References fCharge, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), GFDetPlane::setNormal(), GFDetPlane::setO(), setPDG(), and v.
RKTrackRep::RKTrackRep | ( | const GFDetPlane & | pl, |
const TVector3 & | mom, | ||
const int & | PDGCode | ||
) |
Definition at line 224 of file RKTrackRep.cxx.
References fCharge, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), setPDG(), and v.
|
virtual |
Definition at line 69 of file RKTrackRep.cxx.
|
inlineinherited |
|
inlineinherited |
|
inlinevirtual |
Implements GFAbsTrackRep.
Definition at line 74 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
References RKTrackRep().
|
private |
Handles propagation and material effects.
extrapolate(), extrapolateToPoint() and extrapolateToLine() call this function. Extrap() needs a plane as an argument, hence extrapolateToPoint() and extrapolateToLine() create virtual detector planes. In this function, RKutta() is called and the resulting points and point paths are filtered so that the direction doesn't change and tiny steps are filtered out. After the propagation the material effects in #fEffect are called. Extrap() will loop until the plane is reached, unless the propagation fails or the maximum number of iterations is exceeded.
Definition at line 991 of file RKTrackRep.cxx.
References GFDetPlane::dist(), GFDetPlane::distance(), GFMaterialEffects::effects(), fabs(), fCharge, fPdg, GFMaterialEffects::getInstance(), i, GFDetPlane::inActive(), MINSTEP, noise, P, RKutta(), and GFException::setFatal().
Referenced by extrapolate(), extrapolateToLine(), extrapolateToPoint(), and stepalong().
|
virtual |
returns the tracklength spanned in this extrapolation
The covariance matrix is transformed from the plane coordinate system to the master reference system (for the propagation) and, after propagation, back to the plane coordinate system.
Also the parameter spu (which is +1 or -1 and indicates the direction of the particle) is calculated and stored in fCacheSpu. The plane is stored in fCachePlane.
Master reference system (MARS):
\begin{eqnarray*}x & = & O_{x}+uU_{x}+vV_{x}\\y & = & O_{y}+uU_{y}+vV_{y}\\z & = & O_{z}+uU_{z}+vV_{z}\\a_{x} & = & \frac{\mbox{spu}}{\widetilde{p}}\left(N_{x}+u\prime U_{x}+v\prime V_{x}\right)\\a_{y} & = & \frac{\mbox{spu}}{\widetilde{p}}\left(N_{y}+u\prime U_{y}+v\prime V_{y}\right)\\a_{z} & = & \frac{\mbox{spu}}{\widetilde{p}}\left(N_{z}+u\prime U_{z}+v\prime V_{z}\right)\\\frac{q}{p} & = & \frac{q}{p}\end{eqnarray*}
Plane coordinate system:
\begin{eqnarray*}u & = & \left(x-O_{x}\right)U_{x}+\left(y-O_{y}\right)U_{y}+\left(z-O_{z}\right)U_{z}\\v & = & \left(x-O_{x}\right)U_{x}+\left(y-O_{y}\right)U_{y}+\left(z-O_{z}\right)U_{z}\\u\prime & = & \frac{a_{x}U_{x}+a_{y}U_{y}+a_{z}U_{z}}{a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}}\\v\prime & = & \frac{a_{x}V_{x}+a_{y}V_{y}+a_{z}V_{z}}{a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}}\\\frac{q}{p} & = & \frac{q}{p}\\\mbox{spu} & = & \frac{a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}}{|a_{x}^{2}N_{x}^{2}+a_{y}^{2}N_{y}^{2}+a_{z}^{2}N_{z}^{2}|}=\pm1\end{eqnarray*}
Jacobians:
\(J_{p,M}=\left(\begin{array}{ccccc}\frac{\partial x}{\partial u} & \frac{\partial x}{\partial v} & \frac{\partial x}{\partial u\prime} & \frac{\partial x}{\partial v\prime} & \frac{\partial x}{\partial\frac{q}{p}}\\\frac{\partial y}{\partial u} & \frac{\partial y}{\partial v} & \frac{\partial y}{\partial u\prime} & \frac{\partial y}{\partial v\prime} & \frac{\partial y}{\partial\frac{q}{p}}\\\frac{\partial z}{\partial u} & \frac{\partial z}{\partial v} & \frac{\partial z}{\partial u\prime} & \frac{\partial z}{\partial v\prime} & \frac{\partial z}{\partial\frac{q}{p}}\\\frac{\partial a_{x}}{\partial u} & \frac{\partial a_{x}}{\partial v} & \frac{\partial a_{x}}{\partial u\prime} & \frac{\partial a_{x}}{\partial v\prime} & \frac{\partial a_{x}}{\partial\frac{q}{p}}\\\frac{\partial a_{y}}{\partial u} & \frac{\partial a_{y}}{\partial v} & \frac{\partial a_{y}}{\partial u\prime} & \frac{\partial a_{y}}{\partial v\prime} & \frac{\partial a_{y}}{\partial\frac{q}{p}}\\\frac{\partial a_{z}}{\partial u} & \frac{\partial a_{z}}{\partial v} & \frac{\partial a_{z}}{\partial u\prime} & \frac{\partial a_{z}}{\partial v\prime} & \frac{\partial a_{z}}{\partial\frac{q}{p}}\\\frac{\partial\frac{q}{p}}{\partial u} & \frac{\partial\frac{q}{p}}{\partial v} & \frac{\partial\frac{q}{p}}{\partial u\prime} & \frac{\partial\frac{q}{p}}{\partial v\prime} & \frac{\partial\frac{q}{p}}{\partial\frac{q}{p}}\end{array}\right)\)
\(J_{p,M}=\left(\begin{array}{cccccc}U_{x} & V_{x} & 0 & 0 & 0\\U_{y} & V_{y} & 0 & 0 & 0\\U_{z} & V_{z} & 0 & 0 & 0\\0 & 0 & \left\{ \frac{\textrm{spu}}{\widetilde{p}}U_{x}-\left[\frac{\textrm{spu}}{\widetilde{p}^{3}}\widetilde{p}_{x}\left(U_{x}\widetilde{p}_{x}+U_{y}\widetilde{p}_{y}+U_{z}\widetilde{p}_{z}\right)\right]\right\} & \left\{ \frac{\textrm{spu}}{\widetilde{p}}V_{x}-\left[\frac{\textrm{spu}}{\widetilde{p}^{3}}\widetilde{p}_{x}\left(V_{x}\widetilde{p}_{x}+V_{y}\widetilde{p}_{y}+V_{z}\widetilde{p}_{z}\right)\right]\right\} & 0\\0 & 0 & \left\{ \frac{\textrm{spu}}{\widetilde{p}}U_{y}-\left[\frac{\textrm{spu}}{\widetilde{p}^{3}}\widetilde{p}_{y}\left(U_{x}\widetilde{p}_{x}+U_{y}\widetilde{p}_{y}+U_{z}\widetilde{p}_{z}\right)\right]\right\} & \left\{ \frac{\textrm{spu}}{\widetilde{p}}V_{y}-\left[\frac{\textrm{spu}}{\widetilde{p}^{3}}\widetilde{p}_{y}\left(V_{x}\widetilde{p}_{x}+V_{y}\widetilde{p}_{y}+V_{z}\widetilde{p}_{z}\right)\right]\right\} & 0\\0 & 0 & \left\{ \frac{\textrm{spu}}{\widetilde{p}}U_{z}-\left[\frac{\textrm{spu}}{\widetilde{p}^{3}}\widetilde{p}_{z}\left(U_{x}\widetilde{p}_{x}+U_{y}\widetilde{p}_{y}+U_{z}\widetilde{p}_{z}\right)\right]\right\} & \left\{ \frac{\textrm{spu}}{\widetilde{p}}V_{z}-\left[\frac{\textrm{spu}}{\widetilde{p}^{3}}\widetilde{p}_{z}\left(V_{x}\widetilde{p}_{x}+V_{y}\widetilde{p}_{y}+V_{z}\widetilde{p}_{z}\right)\right]\right\} & 0\\0 & 0 & 0 & 0 & 1\end{array}\right)\)
with
\begin{eqnarray*}\widetilde{p} & = & \sqrt{\widetilde{p}_{x}^{2}+\widetilde{p}_{y}^{2}+\widetilde{p}_{z}^{2}}\\\widetilde{p}_{x} & = & \textrm{spu}\left(N_{x}+u\prime U_{x}+v\prime V_{x}\right)\\\widetilde{p}_{y} & = & \textrm{spu}\left(N_{y}+u\prime U_{y}+v\prime V_{y}\right)\\\widetilde{p}_{z} & = & \textrm{spu}\left(N_{z}+u\prime U_{z}+v\prime V_{z}\right)\end{eqnarray*}
\(J_{M,p}=\left(\begin{array}{ccccccc}\frac{\partial u}{\partial x} & \frac{\partial u}{\partial y} & \frac{\partial u}{\partial z} & \frac{\partial u}{\partial a_{x}} & \frac{\partial u}{\partial a_{y}} & \frac{\partial u}{\partial a_{z}} & \frac{\partial u}{\partial\frac{q}{p}}\\\frac{\partial v}{\partial x} & \frac{\partial v}{\partial y} & \frac{\partial v}{\partial z} & \frac{\partial v}{\partial a_{x}} & \frac{\partial v}{\partial a_{y}} & \frac{\partial v}{\partial a_{z}} & \frac{\partial v}{\partial\frac{q}{p}}\\\frac{\partial u\prime}{\partial x} & \frac{\partial u\prime}{\partial y} & \frac{\partial u\prime}{\partial z} & \frac{\partial u\prime}{\partial a_{x}} & \frac{\partial u\prime}{\partial a_{y}} & \frac{\partial u\prime}{\partial a_{z}} & \frac{\partial u\prime}{\partial\frac{q}{p}}\\\frac{\partial v\prime}{\partial x} & \frac{\partial v\prime}{\partial y} & \frac{\partial v\prime}{\partial z} & \frac{\partial v\prime}{\partial a_{x}} & \frac{\partial v\prime}{\partial a_{y}} & \frac{\partial v\prime}{\partial a_{z}} & \frac{\partial v\prime}{\partial\frac{q}{p}}\\ \frac{\partial\frac{q}{p}}{\partial x} & \frac{\partial\frac{q}{p}}{\partial y} & \frac{\partial\frac{q}{p}}{\partial z} & \frac{\partial\frac{q}{p}}{\partial a_{x}} & \frac{\partial\frac{q}{p}}{\partial a_{y}} & \frac{\partial\frac{q}{p}}{\partial a_{z}} & \frac{\partial\frac{q}{p}}{\partial\frac{q}{p}}\\ \\\end{array}\right)\)
\(J_{M,p}=\left(\begin{array}{ccccccc} U_{x} & U_{y} & U_{z} & 0 & 0 & 0 & 0\\ V_{x} & V_{y} & V_{z} & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & \frac{U_{x}\left(a_{y}N_{y}+a_{z}N_{z}\right)-N_{x}\left(a_{y}U_{y}+a_{z}U_{z}\right)}{\left(a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}\right)^{2}} & \frac{U_{y}\left(a_{x}N_{x}+a_{z}N_{z}\right)-N_{y}\left(a_{x}U_{x}+a_{z}U_{z}\right)}{\left(a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}\right)^{2}} & \frac{U_{z}\left(a_{x}N_{x}+a_{y}N_{y}\right)-N_{z}\left(a_{x}U_{x}+a_{y}U_{y}\right)}{\left(a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}\right)^{2}} & 0\\ 0 & 0 & 0 & \frac{V_{x}\left(a_{y}N_{y}+a_{z}N_{z}\right)-N_{x}\left(a_{y}V_{y}+a_{z}V_{z}\right)}{\left(a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}\right)^{2}} & \frac{V_{y}\left(a_{x}N_{x}+a_{z}N_{z}\right)-N_{y}\left(a_{x}V_{x}+a_{z}V_{z}\right)}{\left(a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}\right)^{2}} & \frac{V_{z}\left(a_{x}N_{x}+a_{y}N_{y}\right)-N_{z}\left(a_{x}V_{x}+a_{y}V_{y}\right)}{\left(a_{x}N_{x}+a_{y}N_{y}+a_{z}N_{z}\right)^{2}} & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 1\\ \\\end{array}\right)\)
Implements GFAbsTrackRep.
Definition at line 442 of file RKTrackRep.cxx.
References Extrap(), fabs(), fCachePlane, fCacheSpu, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getNormal(), GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), pos, v, W, X, Y, and Z.
Referenced by getMom(), getPos(), getPosMom(), and getPosMomCov().
|
virtual |
returns the tracklength spanned in this extrapolation
Reimplemented from GFAbsTrackRep.
Definition at line 550 of file RKTrackRep.cxx.
References Extrap(), GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getNormal(), GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), pos, v, W, X, Y, and Z.
|
inherited |
This changes the state and cov and plane of the rep.
This method extrapolates to to the plane and sets the results of state, cov and also plane in itself.
Definition at line 33 of file GFAbsTrackRep.cxx.
References GFAbsTrackRep::extrapolate(), GFAbsTrackRep::fDimension, and GFAbsTrackRep::setData().
|
virtual |
This method extrapolates to the point of closest approach to a line.
Reimplemented from GFAbsTrackRep.
Definition at line 390 of file RKTrackRep.cxx.
References Extrap(), fabs(), GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), MINSTEP, poca2Line(), point, GFDetPlane::setO(), GFDetPlane::setU(), GFDetPlane::setV(), and v.
|
virtual |
This method is to extrapolate the track to point of closest approach to a point in space.
Reimplemented from GFAbsTrackRep.
Definition at line 329 of file RKTrackRep.cxx.
References Extrap(), fabs(), GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), MINSTEP, point, GFDetPlane::setON(), and v.
Referenced by PndLmdBPRungeKuttaTask::Exec(), and PndLmdPerformanceTask::Exec().
|
virtual |
Get auxillary information from the track representation.
AuxInfo is a mechanism which allows creators of track repersentations to hand out any information they like (as long as it is compatible with a TMatrixT<double>). It should be used if setData requires additional information to update the representation, but it can also be used for debugging information if needed. See also the documentation of GFAbsTrackRep::setData().
Reimplemented from GFAbsTrackRep.
Definition at line 57 of file RKTrackRep.cxx.
References fAuxInfo, fCachePlane, and fCacheSpu.
|
inlinevirtual |
Returns charge.
Implements GFAbsTrackRep.
Definition at line 144 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
References fCharge.
|
inlineinherited |
Definition at line 244 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fChiSqu.
Referenced by GFTrack::getChiSqu(), and GFAbsTrackRep::getRedChiSqu().
|
inlineinherited |
Definition at line 198 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fCov.
Referenced by GFTrack::blowUpCovs(), GFKalman::processHit(), and GFKalman::processTrack().
|
inlineinherited |
|
inlineinherited |
returns dimension of state vector
Definition at line 191 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fDimension.
Referenced by GeaneTrackRep::extrapolateToPoint(), GFKalman::getChi2Hit(), GFAbsTrackRep::getNDF(), GFTrack::getResiduals(), and GFKalman::processHit().
|
inlineinherited |
Definition at line 229 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fFirstCov.
Referenced by GenfitTrack2PndTrack().
|
inlineinherited |
Definition at line 232 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fFirstPlane.
Referenced by GenfitTrack2PndTrack().
|
inlineinherited |
Definition at line 226 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fFirstState.
Referenced by GenfitTrack2PndTrack().
|
inlineinherited |
Definition at line 238 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fLastCov.
Referenced by GenfitTrack2PndTrack().
|
inlineinherited |
Definition at line 241 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fLastPlane.
Referenced by GenfitTrack2PndTrack().
|
inlineinherited |
Definition at line 235 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fLastState.
Referenced by GenfitTrack2PndTrack().
|
virtual |
Returns momentum of the track in the plane.
If GFDetPlane equals the reference plane fRefPlane, returns current momentum; otherwise it extrapolates the track to the plane and returns the momentum.
Implements GFAbsTrackRep.
Definition at line 297 of file RKTrackRep.cxx.
References extrapolate(), fabs(), fCacheSpu, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getNormal(), GFDetPlane::getU(), and GFDetPlane::getV().
|
inlineinherited |
Definition at line 221 of file GFAbsTrackRep.h.
References GFAbsTrackRep::getMom().
Referenced by GeaneTrackRep::extrapolate(), GeaneTrackRep::extrapolateToLine(), GeaneTrackRep::extrapolateToPoint(), and GFAbsTrackRep::getMom().
|
inlineinherited |
Definition at line 252 of file GFAbsTrackRep.h.
References GFAbsTrackRep::getDim().
Referenced by GFTrack::getNDF(), and GFAbsTrackRep::getRedChiSqu().
|
inline |
Definition at line 146 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
References fPdg.
|
virtual |
Returns position of the track in the plane.
If GFDetPlane equals the reference plane fRefPlane, returns current position; otherwise it extrapolates the track to the plane and returns the position.
Implements GFAbsTrackRep.
Definition at line 287 of file RKTrackRep.cxx.
References extrapolate(), GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), and s.
|
inlineinherited |
Definition at line 220 of file GFAbsTrackRep.h.
References GFAbsTrackRep::getPos().
Referenced by GeaneTrackRep::extrapolateToLine(), and GFAbsTrackRep::getPos().
|
virtual |
Gets position and momentum in the plane.
If GFDetPlane equals the reference plane fRefPlane, it gets current position and momentum; otherwise it extrapolates the track to the plane and gets the position and momentum.
Implements GFAbsTrackRep.
Definition at line 312 of file RKTrackRep.cxx.
References extrapolate(), fabs(), fCacheSpu, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getNormal(), GFDetPlane::getO(), GFDetPlane::getU(), and GFDetPlane::getV().
|
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 1148 of file RKTrackRep.cxx.
References extrapolate(), fCacheSpu, fCharge, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), p, and W.
Referenced by PndLmdBPRungeKuttaTask::Exec().
|
inlineinherited |
Definition at line 222 of file GFAbsTrackRep.h.
References GFAbsTrackRep::getPosMomCov().
|
inlineinherited |
returns chi2/ndf
Definition at line 248 of file GFAbsTrackRep.h.
References GFAbsTrackRep::getChiSqu(), and GFAbsTrackRep::getNDF().
Referenced by GFTrack::getRedChiSqu().
|
inlineinherited |
Definition at line 295 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fRefPlane.
Referenced by GFKalman::processHit(), and GFKalman::processTrack().
|
inlineinherited |
Definition at line 195 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fState.
Referenced by GFTrack::fillGeoTrack(), GFTrack::getResiduals(), GFKalman::processHit(), and GFKalman::processTrack().
|
inlineinherited |
Definition at line 202 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fState.
|
inlineinherited |
Definition at line 318 of file GFAbsTrackRep.h.
References GFAbsTrackRep::fStatusFlag.
Referenced by GFTrack::blowUpCovs(), PndHypMicroWriter::Exec(), PndHypMicroIdealWriter::Exec(), PndHypDKalmanTask::Exec(), GFKalman::fittingPass(), for(), and GFDaf::processTrack().
|
inlinevirtual |
See if the track representation has auxillary information stored.
See if auxillary information is stored in the track representation. See the documentation of GFAbsTrackRep::getAuxInfo() for details.
Reimplemented from GFAbsTrackRep.
Definition at line 162 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
|
inlineprivate |
Definition at line 168 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
|
private |
Definition at line 376 of file RKTrackRep.cxx.
References t.
Referenced by extrapolateToLine().
|
virtualinherited |
Definition at line 97 of file GFAbsTrackRep.cxx.
References GFAbsTrackRep::fChiSqu, GFAbsTrackRep::fCov, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, and GFDetPlane::Print().
Referenced by PndLmdBPRungeKuttaTask::Exec(), PndHypDKalmanTask::Exec(), and GFTrack::Print().
|
inlinevirtual |
Implements GFAbsTrackRep.
Definition at line 75 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
References RKTrackRep().
|
virtualinherited |
Definition at line 84 of file GFAbsTrackRep.cxx.
References GFAbsTrackRep::fCov, GFAbsTrackRep::fFirstCov, GFAbsTrackRep::fFirstState, GFAbsTrackRep::fLastCov, GFAbsTrackRep::fLastState, GFAbsTrackRep::fRefPlane, GFAbsTrackRep::fState, and GFDetPlane::set().
|
private |
Propagates the particle through the magnetic field.
If the propagation is successfull and the plane is reached, the function returns true. The argument P has to contain the state (P[0] - P[6]) and a unity matrix (P[7] - P[55]) with the last column multiplied wit q/p (hence P[55] is not 1 but q/p). Propagated state and the jacobian (with the last column multiplied wit q/p) of the extrapolation are written to P. In the main loop of the Runge Kutta algorithm, the steppers in #fEffect are called and may reduce the estimated stepsize so that a maximum momentum loss will not be exceeded. If this is the case, RKutta() will only propagate the reduced distance and then return. This is to ensure that material effects, which are calculated after the propagation, are taken into account properly.
Definition at line 640 of file RKTrackRep.cxx.
References GFDetPlane::distance(), error(), fabs(), fCharge, fPdg, GFFieldManager::getFieldVal(), GFMaterialEffects::getInstance(), GFDetPlane::getNormal(), GFDetPlane::getO(), i, GFDetPlane::inActive(), MINSTEP, pos, r, R, sqrt(), GFMaterialEffects::stepper(), and W.
Referenced by Extrap().
|
inlineinherited |
|
inlineinherited |
|
virtual |
Sets state, plane and (optionally) covariance.
This function also sets the parameter fSpu to the value stored in fCacheSpu. Therefore it has to be ensured that the plane #pl is the same as the plane of the last extrapolation (i.e. fCachePlane), where fCacheSpu was calculated. Hence, if the argument #pl is not equal to fCachePlane, an error message is shown an an exception is thrown.
Reimplemented from GFAbsTrackRep.
Definition at line 43 of file RKTrackRep.cxx.
References fCachePlane, fCacheSpu, fCharge, fSpu, GFAbsTrackRep::fState, and GFAbsTrackRep::setData().
|
inlineinherited |
Definition at line 279 of file GFAbsTrackRep.h.
|
inlineinherited |
Definition at line 282 of file GFAbsTrackRep.h.
|
inlineinherited |
Definition at line 276 of file GFAbsTrackRep.h.
|
inlineinherited |
Deprecated. Should be removed soon.
Definition at line 316 of file GFAbsTrackRep.h.
References f.
|
inlineinherited |
Definition at line 288 of file GFAbsTrackRep.h.
|
inlineinherited |
Definition at line 291 of file GFAbsTrackRep.h.
|
inlineinherited |
Definition at line 285 of file GFAbsTrackRep.h.
|
inlineinherited |
Definition at line 300 of file GFAbsTrackRep.h.
References n.
Referenced by GFKalman::fittingPass().
void RKTrackRep::setPDG | ( | int | i | ) |
Set PDG particle code.
Definition at line 274 of file RKTrackRep.cxx.
References exit(), fCharge, fMass, fPdg, and i.
Referenced by RKTrackRep().
|
inlineinherited |
Definition at line 309 of file GFAbsTrackRep.h.
Referenced by GFKalman::fittingPass(), and GFDaf::processTrack().
|
virtual |
make step of h cm along the track, returns the tracklength spanned in this extrapolation
Also returns the position and direction by reference. It does NOT alter the state of the trackrep and starts extrapolating from fRefPlane.
Reimplemented from GFAbsTrackRep.
Definition at line 1192 of file RKTrackRep.cxx.
References Extrap(), fabs(), GFAbsTrackRep::fRefPlane, fSpu, GFAbsTrackRep::fState, GFDetPlane::getO(), GFDetPlane::getU(), GFDetPlane::getV(), MINSTEP, point, GFDetPlane::setON(), and v.
|
inlinevirtual |
deprecated
Implements GFAbsTrackRep.
Definition at line 149 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
References fDirection.
|
private |
Definition at line 211 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
Referenced by getAuxInfo().
|
private |
Definition at line 208 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
Referenced by extrapolate(), getAuxInfo(), and setData().
|
private |
Definition at line 209 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
Referenced by extrapolate(), getAuxInfo(), getMom(), getPosMom(), getPosMomCov(), and setData().
|
private |
Charge.
Definition at line 206 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
Referenced by Extrap(), getCharge(), getPosMomCov(), RKTrackRep(), RKutta(), setData(), and setPDG().
|
protectedinherited |
chiSqu of the track fit
Definition at line 94 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getChiSqu(), and GFAbsTrackRep::Print().
|
protectedinherited |
The covariance matrix.
Definition at line 91 of file GFAbsTrackRep.h.
Referenced by GeaneTrackRep::extrapolate(), extrapolate(), GeaneTrackRep::extrapolateToLine(), GeaneTrackRep::extrapolateToPoint(), GeaneTrackRep::GeaneTrackRep(), GFAbsTrackRep::getCov(), GFAbsTrackRep::getCovElem(), GeaneTrackRep::getPocaOnLine(), GeaneTrackRep::getPosMomCov(), getPosMomCov(), GFAbsTrackRep::Print(), GFAbsTrackRep::reset(), and RKTrackRep().
|
protectedinherited |
Dimensionality of track representation.
Definition at line 85 of file GFAbsTrackRep.h.
Referenced by GeaneTrackRep::extrapolate(), GFAbsTrackRep::extrapolate(), and GFAbsTrackRep::getDim().
|
private |
Definition at line 199 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
Referenced by switchDirection().
|
protectedinherited |
Definition at line 104 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getFirstCov(), and GFAbsTrackRep::reset().
|
protectedinherited |
Definition at line 108 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getFirstPlane().
|
protectedinherited |
state, cov and plane for first and last point in fit
Definition at line 103 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getFirstState(), and GFAbsTrackRep::reset().
|
protectedinherited |
specifies the direction of flight of the particle
Definition at line 100 of file GFAbsTrackRep.h.
|
protectedinherited |
Definition at line 107 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getLastCov(), and GFAbsTrackRep::reset().
|
protectedinherited |
Definition at line 109 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getLastPlane().
|
protectedinherited |
Definition at line 106 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getLastState(), and GFAbsTrackRep::reset().
|
private |
Mass (in GeV)
Definition at line 204 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
Referenced by setPDG().
|
protectedinherited |
Definition at line 95 of file GFAbsTrackRep.h.
|
private |
|
protectedinherited |
Definition at line 112 of file GFAbsTrackRep.h.
Referenced by GeaneTrackRep::extrapolate(), extrapolate(), GeaneTrackRep::extrapolateToLine(), extrapolateToLine(), GeaneTrackRep::extrapolateToPoint(), extrapolateToPoint(), GeaneTrackRep::GeaneTrackRep(), GeaneTrackRep::getMom(), getMom(), GeaneTrackRep::getPocaOnLine(), GeaneTrackRep::getPos(), getPos(), GeaneTrackRep::getPosMom(), getPosMom(), GeaneTrackRep::getPosMomCov(), getPosMomCov(), GFAbsTrackRep::getReferencePlane(), GFAbsTrackRep::Print(), GFAbsTrackRep::reset(), RKTrackRep(), and stepalong().
|
private |
Definition at line 210 of file tracking/GenfitTools/trackrep/RKTrackRep/RKTrackRep.h.
Referenced by extrapolate(), extrapolateToLine(), extrapolateToPoint(), getMom(), getPosMom(), getPosMomCov(), RKTrackRep(), setData(), and stepalong().
|
protectedinherited |
The vector of track parameters.
Definition at line 88 of file GFAbsTrackRep.h.
Referenced by GeaneTrackRep::checkState(), GeaneTrackRep::extrapolate(), extrapolate(), GeaneTrackRep::extrapolateToLine(), extrapolateToLine(), GeaneTrackRep::extrapolateToPoint(), extrapolateToPoint(), GeaneTrackRep::GeaneTrackRep(), GeaneTrackRep::getCharge(), GeaneTrackRep::getMom(), getMom(), GeaneTrackRep::getPocaOnLine(), GeaneTrackRep::getPos(), getPos(), GeaneTrackRep::getPosMom(), getPosMom(), GeaneTrackRep::getPosMomCov(), getPosMomCov(), GFAbsTrackRep::getState(), GFAbsTrackRep::getStateElem(), GFAbsTrackRep::Print(), GFAbsTrackRep::reset(), RKTrackRep(), setData(), and stepalong().
|
protectedinherited |
status of track representation: 0 means everything's OK
Definition at line 98 of file GFAbsTrackRep.h.
Referenced by GFAbsTrackRep::getStatusFlag().