Analysis Software
Documentation for sPHENIX simulation software
|
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v) More...
#include <GenFit/blob/master/trackReps/include/RKTrackRep.h>
Public Member Functions | |
RKTrackRep () | |
RKTrackRep (int pdgCode, char propDir=0) | |
virtual | ~RKTrackRep () |
virtual AbsTrackRep * | clone () const override |
Clone the trackRep. | |
virtual double | extrapolateToPlane (StateOnPlane &state, const SharedPlanePtr &plane, bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state to plane, and returns the extrapolation length and, via reference, the extrapolated state. | |
virtual double | extrapolateToLine (StateOnPlane &state, const TVector3 &linePoint, const TVector3 &lineDirection, bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state to the POCA to a line, and returns the extrapolation length and, via reference, the extrapolated state. | |
virtual double | extrapolateToPoint (StateOnPlane &state, const TVector3 &point, bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state to the POCA to a point, and returns the extrapolation length and, via reference, the extrapolated state. | |
virtual double | extrapolateToPoint (StateOnPlane &state, const TVector3 &point, const TMatrixDSym &G, bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state to the POCA to a point in the metric of G, and returns the extrapolation length and, via reference, the extrapolated state. | |
virtual double | extrapolateToCylinder (StateOnPlane &state, double radius, const TVector3 &linePoint=TVector3(0., 0., 0.), const TVector3 &lineDirection=TVector3(0., 0., 1.), bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state to the cylinder surface, and returns the extrapolation length and, via reference, the extrapolated state. | |
virtual double | extrapolateToCone (StateOnPlane &state, double radius, const TVector3 &linePoint=TVector3(0., 0., 0.), const TVector3 &lineDirection=TVector3(0., 0., 1.), bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state to the cone surface, and returns the extrapolation length and, via reference, the extrapolated state. | |
virtual double | extrapolateToSphere (StateOnPlane &state, double radius, const TVector3 &point=TVector3(0., 0., 0.), bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state to the sphere surface, and returns the extrapolation length and, via reference, the extrapolated state. | |
virtual double | extrapolateBy (StateOnPlane &state, double step, bool stopAtBoundary=false, bool calcJacobianNoise=false) const override |
Extrapolates the state by step (cm) and returns the extrapolation length and, via reference, the extrapolated state. | |
unsigned int | getDim () const override |
Get the dimension of the state vector used by the track representation. | |
virtual TVector3 | getPos (const StateOnPlane &state) const override |
Get the cartesian position of a state. | |
virtual TVector3 | getMom (const StateOnPlane &state) const override |
Get the cartesian momentum vector of a state. | |
virtual void | getPosMom (const StateOnPlane &state, TVector3 &pos, TVector3 &mom) const override |
Get cartesian position and momentum vector of a state. | |
virtual double | getMomMag (const StateOnPlane &state) const override |
get the magnitude of the momentum in GeV. | |
virtual double | getMomVar (const MeasuredStateOnPlane &state) const override |
get the variance of the absolute value of the momentum . | |
virtual TMatrixDSym | get6DCov (const MeasuredStateOnPlane &state) const override |
Get the 6D covariance. | |
virtual void | getPosMomCov (const MeasuredStateOnPlane &state, TVector3 &pos, TVector3 &mom, TMatrixDSym &cov) const override |
Translates MeasuredStateOnPlane into 3D position, momentum and 6x6 covariance. | |
virtual double | getCharge (const StateOnPlane &state) const override |
Get the (fitted) charge of a state. This is not always equal the pdg charge (e.g. if the charge sign was flipped during the fit). | |
virtual double | getQop (const StateOnPlane &state) const override |
Get charge over momentum. | |
double | getSpu (const StateOnPlane &state) const |
double | getTime (const StateOnPlane &state) const override |
Get the time corresponding to the StateOnPlane. Extrapolation. | |
virtual void | getForwardJacobianAndNoise (TMatrixD &jacobian, TMatrixDSym &noise, TVectorD &deltaState) const override |
Get the jacobian and noise matrix of the last extrapolation. | |
virtual void | getBackwardJacobianAndNoise (TMatrixD &jacobian, TMatrixDSym &noise, TVectorD &deltaState) const override |
Get the jacobian and noise matrix of the last extrapolation if it would have been done in opposite direction. | |
std::vector< genfit::MatStep > | getSteps () const override |
Get stepsizes and material properties of crossed materials of the last extrapolation. | |
virtual double | getRadiationLenght () const override |
Get the accumulated X/X0 (path / radiation length) of the material crossed in the last extrapolation. | |
virtual void | setPosMom (StateOnPlane &state, const TVector3 &pos, const TVector3 &mom) const override |
Set position and momentum of state. | |
virtual void | setPosMom (StateOnPlane &state, const TVectorD &state6) const override |
Set position and momentum of state. | |
virtual void | setPosMomErr (MeasuredStateOnPlane &state, const TVector3 &pos, const TVector3 &mom, const TVector3 &posErr, const TVector3 &momErr) const override |
Set position and momentum and error of state. | |
virtual void | setPosMomCov (MeasuredStateOnPlane &state, const TVector3 &pos, const TVector3 &mom, const TMatrixDSym &cov6x6) const override |
Set position, momentum and covariance of state. | |
virtual void | setPosMomCov (MeasuredStateOnPlane &state, const TVectorD &state6, const TMatrixDSym &cov6x6) const override |
Set position, momentum and covariance of state. | |
virtual void | setChargeSign (StateOnPlane &state, double charge) const override |
Set the sign of the charge according to charge. | |
virtual void | setQop (StateOnPlane &state, double qop) const override |
Set charge/momentum. | |
void | setSpu (StateOnPlane &state, double spu) const |
void | setTime (StateOnPlane &state, double time) const override |
Set time at which the state was defined. | |
virtual double | RKPropagate (M1x7 &state7, M7x7 *jacobian, M1x3 &SA, double S, bool varField=true, bool calcOnlyLastRowOfJ=false) const |
The actual Runge Kutta propagation. | |
virtual bool | isSameType (const AbsTrackRep *other) override |
check if other is of same type (e.g. RKTrackRep). | |
virtual bool | isSame (const AbsTrackRep *other) override |
check if other is of same type (e.g. RKTrackRep) and has same pdg code. | |
Public Member Functions inherited from genfit::AbsTrackRep | |
AbsTrackRep () | |
AbsTrackRep (int pdgCode, char propDir=0) | |
virtual | ~AbsTrackRep () |
virtual double | extrapolateToLine (StateOnPlane &state, const TVector3 &point1, const TVector3 &point2, TVector3 &poca, TVector3 &dirInPoca, TVector3 &poca_onwire, bool stopAtBoundary=false, bool calcJacobianNoise=false) const |
Resembles the interface of GFAbsTrackRep in old versions of genfit. | |
double | extrapolateToMeasurement (StateOnPlane &state, const AbsMeasurement *measurement, bool stopAtBoundary=false, bool calcJacobianNoise=false) const |
extrapolate to an AbsMeasurement | |
TVector3 | getDir (const StateOnPlane &state) const |
Get the direction vector of a state. | |
void | getPosDir (const StateOnPlane &state, TVector3 &pos, TVector3 &dir) const |
Get cartesian position and direction vector of a state. | |
virtual TVectorD | get6DState (const StateOnPlane &state) const |
Get the 6D state vector (x, y, z, p_x, p_y, p_z). | |
virtual void | get6DStateCov (const MeasuredStateOnPlane &state, TVectorD &stateVec, TMatrixDSym &cov) const |
Translates MeasuredStateOnPlane into 6D state vector (x, y, z, p_x, p_y, p_z) and 6x6 covariance. | |
int | getPDG () const |
Get the pdg code. | |
double | getPDGCharge () const |
Get the charge of the particle of the pdg code. | |
double | getMass (const StateOnPlane &state) const |
Get tha particle mass in GeV/c^2. | |
char | getPropDir () const |
Get propagation direction. (-1, 0, 1) -> (backward, auto, forward). | |
void | calcJacobianNumerically (const genfit::StateOnPlane &origState, const genfit::SharedPlanePtr destPlane, TMatrixD &jacobian) const |
Calculate Jacobian of transportation numerically. Slow but accurate. Can be used to validate (semi)analytic calculations. | |
bool | switchPDGSign () |
try to multiply pdg code with -1. (Switch from particle to anti-particle and vice versa). | |
void | setPropDir (int dir) |
Set propagation direction. (-1, 0, 1) -> (backward, auto, forward). | |
void | switchPropDir () |
Switch propagation direction. Has no effect if propDir_ is set to 0. | |
virtual void | setDebugLvl (unsigned int lvl=1) |
virtual void | Print (const Option_t *="") const |
Protected Attributes | |
StateOnPlane | lastStartState_ |
StateOnPlane | lastEndState_ |
state where the last extrapolation has started | |
Protected Attributes inherited from genfit::AbsTrackRep | |
int | pdgCode_ |
Particle code. | |
char | propDir_ |
propagation direction (-1, 0, 1) -> (backward, auto, forward) | |
unsigned int | debugLvl_ |
Private Member Functions | |
void | initArrays () const |
virtual double | extrapToPoint (StateOnPlane &state, const TVector3 &point, const TMatrixDSym *G=nullptr, bool stopAtBoundary=false, bool calcJacobianNoise=false) const |
void | getState7 (const StateOnPlane &state, M1x7 &state7) const |
void | getState5 (StateOnPlane &state, const M1x7 &state7) const |
void | calcJ_pM_5x7 (M5x7 &J_pM, const TVector3 &U, const TVector3 &V, const M1x3 &pTilde, double spu) const |
void | transformPM6 (const MeasuredStateOnPlane &state, M6x6 &out6x6) const |
void | calcJ_Mp_7x5 (M7x5 &J_Mp, const TVector3 &U, const TVector3 &V, const TVector3 &W, const M1x3 &A) const |
void | calcForwardJacobianAndNoise (const M1x7 &startState7, const DetPlane &startPlane, const M1x7 &destState7, const DetPlane &destPlane) const |
void | transformM6P (const M6x6 &in6x6, const M1x7 &state7, MeasuredStateOnPlane &state) const |
bool | RKutta (const M1x4 &SU, const DetPlane &plane, double charge, double mass, M1x7 &state7, M7x7 *jacobianT, M1x7 *J_MMT_unprojected_lastRow, double &coveredDistance, double &flightTime, bool &checkJacProj, M7x7 &noiseProjection, StepLimits &limits, bool onlyOneStep=false, bool calcOnlyLastRowOfJ=false) const |
Propagates the particle through the magnetic field. | |
double | estimateStep (const M1x7 &state7, const M1x4 &SU, const DetPlane &plane, const double &charge, double &relMomLoss, StepLimits &limits) const |
TVector3 | pocaOnLine (const TVector3 &linePoint, const TVector3 &lineDirection, const TVector3 &point) const |
double | Extrap (const DetPlane &startPlane, const DetPlane &destPlane, double charge, double mass, bool &isAtBoundary, M1x7 &state7, double &flightTime, bool fillExtrapSteps, TMatrixDSym *cov=nullptr, bool onlyOneStep=false, bool stopAtBoundary=false, double maxStep=1.E99) const |
Handles propagation and material effects. | |
void | checkCache (const StateOnPlane &state, const SharedPlanePtr *plane) const |
double | momMag (const M1x7 &state7) const |
Private Attributes | |
std::vector< RKStep > | RKSteps_ |
state where the last extrapolation has ended | |
int | RKStepsFXStart_ |
RungeKutta steps made in the last extrapolation. | |
int | RKStepsFXStop_ |
std::vector< ExtrapStep > | ExtrapSteps_ |
TMatrixD | fJacobian_ |
steps made in Extrap during last extrapolation | |
TMatrixDSym | fNoise_ |
bool | useCache_ |
unsigned int | cachePos_ |
use cached RKSteps_ for extrapolation | |
StepLimits | limits_ |
M7x7 | noiseArray_ |
M7x7 | noiseProjection_ |
noise matrix of the last extrapolation | |
M7x7 | J_MMT_ |
Friends | |
class | RKTrackRepTests_momMag_Test |
class | RKTrackRepTests_calcForwardJacobianAndNoise_Test |
class | RKTrackRepTests_getState7_Test |
class | RKTrackRepTests_getState5_Test |
Additional Inherited Members | |
Protected Member Functions inherited from genfit::AbsTrackRep | |
AbsTrackRep (const AbsTrackRep &) | |
protect from calling copy c'tor from outside the class. Use clone() if you want a copy! | |
AbsTrackRep & | operator= (const AbsTrackRep &) |
protect from calling assignment operator from outside the class. Use clone() instead! | |
AbsTrackRep with 5D track parameterization in plane coordinates: (q/p, u', v', u, v)
q/p is charge over momentum. u' and v' are direction tangents. u and v are positions on a DetPlane.
Definition at line 72 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 72 of file RKTrackRep.h
genfit::RKTrackRep::RKTrackRep | ( | ) |
Definition at line 45 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 45 of file RKTrackRep.cc
References initArrays().
Referenced by clone().
genfit::RKTrackRep::RKTrackRep | ( | int | pdgCode, |
char | propDir = 0 |
||
) |
Definition at line 60 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 60 of file RKTrackRep.cc
References initArrays().
|
virtual |
Definition at line 75 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 75 of file RKTrackRep.cc
|
private |
Definition at line 933 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 933 of file RKTrackRep.cc
References calcJ_Mp_7x5(), calcJ_pM_5x7(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, ExtrapSteps_, fJacobian_, fNoise_, genfit::DetPlane::getNormal(), genfit::DetPlane::getU(), genfit::DetPlane::getV(), i, genfit::RKTools::J_MpTxcov7xJ_Mp(), and genfit::RKTools::J_pMTTxJ_MMTTxJ_MpTT().
Referenced by Extrap(), and genfit::TEST_F().
|
private |
Definition at line 1674 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1674 of file RKTrackRep.cc
References genfit::RKMatrix< nRows, nCols >::begin(), and genfit::RKMatrix< nRows, nCols >::end().
Referenced by calcForwardJacobianAndNoise().
|
private |
Definition at line 1568 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1568 of file RKTrackRep.cc
References genfit::RKMatrix< nRows, nCols >::begin(), and genfit::RKMatrix< nRows, nCols >::end().
Referenced by calcForwardJacobianAndNoise().
|
private |
Definition at line 2582 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 2582 of file RKTrackRep.cc
References cachePos_, genfit::AbsTrackRep::debugLvl_, genfit::debugOut, ExtrapSteps_, genfit::StateOnPlane::getPlane(), getPos(), genfit::StateOnPlane::getRep(), genfit::StateOnPlane::getState(), i, initArrays(), lastEndState_, lastStartState_, MINSTEP, RKSteps_, RKStepsFXStart_, RKStepsFXStop_, genfit::Exception::setFatal(), genfit::StateOnPlane::setStatePlane(), and useCache_.
Referenced by extrapolateBy(), extrapolateToCone(), extrapolateToCylinder(), extrapolateToLine(), extrapolateToPlane(), extrapolateToSphere(), and extrapToPoint().
|
inlineoverridevirtual |
Clone the trackRep.
Implements genfit::AbsTrackRep.
Definition at line 85 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 85 of file RKTrackRep.h
References RKTrackRep().
|
private |
Definition at line 2077 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 2077 of file RKTrackRep.cc
References testing::An(), cachePos_, genfit::AbsTrackRep::debugLvl_, genfit::debugOut, E, genfit::MaterialEffects::getInstance(), genfit::StepLimits::getLimit(), genfit::StepLimits::getLimitSigned(), genfit::StepLimits::getLowestLimitSignedVal(), genfit::StepLimits::getLowestLimitVal(), genfit::StepLimits::getStepSign(), genfit::DetPlane::isFinite(), genfit::DetPlane::isInActive(), MINSTEP, genfit::AbsTrackRep::pdgCode_, genfit::StepLimits::Print(), genfit::AbsTrackRep::propDir_, genfit::StepLimits::removeLimit(), RKPropagate(), RKSteps_, RKStepsFXStop_, genfit::StepLimits::setLimit(), genfit::StepLimits::setStepSign(), genfit::MaterialEffects::stepper(), genfit::stp_fieldCurv, genfit::stp_plane, genfit::stp_sMax, and useCache_.
Referenced by RKutta().
|
private |
Handles propagation and material effects.
extrapolateToPlane(), extrapolateToPoint() and extrapolateToLine() etc. 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 are called via the MaterialEffects singleton. Extrap() will loop until the plane is reached, unless the propagation fails or the maximum number of iterations is exceeded.
fNoMaterial &&
Definition at line 2311 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 2311 of file RKTrackRep.cc
References genfit::RKMatrix< nRows, nCols >::begin(), calcForwardJacobianAndNoise(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, genfit::DetPlane::distance(), genfit::MaterialEffects::effects(), ExtrapSteps_, fJacobian_, fNoise_, genfit::MaterialEffects::getInstance(), genfit::StepLimits::getLowestLimit(), genfit::DetPlane::getNormal(), genfit::DetPlane::getO(), i, genfit::DetPlane::isInActive(), it, J_MMT_, limits_, MINSTEP, noiseArray_, noiseProjection_, norm, genfit::RKTools::Np_N_NpT(), genfit::AbsTrackRep::pdgCode_, genfit::DetPlane::Print(), genfit::RKTools::printDim(), genfit::StepLimits::reset(), RKSteps_, RKStepsFXStart_, RKStepsFXStop_, RKutta(), genfit::Exception::setFatal(), genfit::StepLimits::setLimit(), genfit::stp_boundary, genfit::stp_plane, and genfit::stp_sMaxArg.
Referenced by extrapolateBy(), extrapolateToCone(), extrapolateToCylinder(), extrapolateToLine(), extrapolateToPlane(), extrapolateToSphere(), and extrapToPoint().
|
overridevirtual |
Extrapolates the state by step (cm) and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 723 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 723 of file RKTrackRep.cc
References charge(), checkCache(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, upload::dest, Extrap(), extrapolateToPlane(), genfit::StateOnPlane::getAuxInfo(), getCharge(), genfit::AbsTrackRep::getMass(), genfit::StateOnPlane::getPlane(), getState5(), getState7(), TPC_Cluster_Drift_Animator::iterations, lastEndState_, mass, MINSTEP, Acts::PrimitivesView3DTest::plane, Acts::Test::pos, genfit::Exception::setFatal(), genfit::StateOnPlane::setPlane(), and filter::state.
|
overridevirtual |
Extrapolates the state to the cone surface, and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 478 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 478 of file RKTrackRep.cc
References KFPMath::a, KFPMath::b, Acts::PhysicalConstants::c, charge(), checkCache(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, upload::dest, Acts::UnitConstants::e, Extrap(), extrapolateToPlane(), genfit::StateOnPlane::getAuxInfo(), getCharge(), genfit::AbsTrackRep::getMass(), genfit::StateOnPlane::getPlane(), getState5(), getState7(), TPC_Cluster_Drift_Animator::iterations, k, lastEndState_, mass, MINSTEP, Acts::PrimitivesView3DTest::plane, Acts::Test::pos, genfit::Exception::setFatal(), genfit::StateOnPlane::setPlane(), and filter::state.
|
overridevirtual |
Extrapolates the state to the cylinder surface, and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 353 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 353 of file RKTrackRep.cc
References KFPMath::a, KFPMath::b, Acts::PhysicalConstants::c, charge(), checkCache(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, upload::dest, Extrap(), extrapolateToPlane(), genfit::StateOnPlane::getAuxInfo(), getCharge(), genfit::AbsTrackRep::getMass(), genfit::StateOnPlane::getPlane(), getState5(), getState7(), TPC_Cluster_Drift_Animator::iterations, k, lastEndState_, mass, MINSTEP, Acts::PrimitivesView3DTest::plane, Acts::Test::pos, genfit::Exception::setFatal(), genfit::StateOnPlane::setPlane(), and filter::state.
|
overridevirtual |
Extrapolates the state to the POCA to a line, and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 135 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 135 of file RKTrackRep.cc
References charge(), checkCache(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, Extrap(), extrapolateToPlane(), genfit::StateOnPlane::getAuxInfo(), getCharge(), genfit::AbsTrackRep::getMass(), genfit::StateOnPlane::getPlane(), getState5(), getState7(), TPC_Cluster_Drift_Animator::iterations, lastEndState_, mass, MINSTEP, Acts::PrimitivesView3DTest::plane, pocaOnLine(), genfit::Exception::setFatal(), genfit::StateOnPlane::setPlane(), filter::state, and step.
|
overridevirtual |
Extrapolates the state to plane, and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 80 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 80 of file RKTrackRep.cc
References checkCache(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, Extrap(), getCharge(), genfit::AbsTrackRep::getMass(), genfit::StateOnPlane::getPlane(), getState5(), getState7(), getTime(), lastEndState_, Acts::PrimitivesView3DTest::plane, genfit::StateOnPlane::setPlane(), setTime(), and filter::state.
Referenced by extrapolateBy(), extrapolateToCone(), extrapolateToCylinder(), extrapolateToLine(), extrapolateToSphere(), and extrapToPoint().
|
inlineoverridevirtual |
Extrapolates the state to the POCA to a point, and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 100 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 100 of file RKTrackRep.h
References extrapToPoint().
|
inlineoverridevirtual |
Extrapolates the state to the POCA to a point in the metric of G, and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 107 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 107 of file RKTrackRep.h
References extrapToPoint().
|
overridevirtual |
Extrapolates the state to the sphere surface, and returns the extrapolation length and, via reference, the extrapolated state.
If stopAtBoundary is true, the extrapolation stops as soon as a material boundary is encountered.
If state has a covariance, jacobian and noise matrices will be calculated and the covariance will be propagated. If state has no covariance, jacobian and noise will only be calculated if calcJacobianNoise == true.
Implements genfit::AbsTrackRep.
Definition at line 612 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 612 of file RKTrackRep.cc
References charge(), checkCache(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, upload::dest, Extrap(), extrapolateToPlane(), genfit::StateOnPlane::getAuxInfo(), getCharge(), genfit::AbsTrackRep::getMass(), genfit::StateOnPlane::getPlane(), getState5(), getState7(), TPC_Cluster_Drift_Animator::iterations, k, lastEndState_, mass, MINSTEP, Acts::PrimitivesView3DTest::plane, Acts::Test::pos, genfit::Exception::setFatal(), genfit::StateOnPlane::setPlane(), and filter::state.
|
privatevirtual |
Definition at line 236 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 236 of file RKTrackRep.cc
References charge(), checkCache(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, Extrap(), extrapolateToPlane(), genfit::StateOnPlane::getAuxInfo(), getCharge(), genfit::AbsTrackRep::getMass(), genfit::StateOnPlane::getPlane(), getState5(), getState7(), TPC_Cluster_Drift_Animator::iterations, lastEndState_, mass, MINSTEP, Acts::PrimitivesView3DTest::plane, genfit::Exception::setFatal(), genfit::StateOnPlane::setPlane(), filter::state, and step.
Referenced by extrapolateToPoint().
|
overridevirtual |
Get the 6D covariance.
Implements genfit::AbsTrackRep.
Definition at line 853 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 853 of file RKTrackRep.cc
References Acts::Test::cov, and transformPM6().
|
overridevirtual |
Get the jacobian and noise matrix of the last extrapolation if it would have been done in opposite direction.
Implements genfit::AbsTrackRep.
Definition at line 1003 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1003 of file RKTrackRep.cc
References genfit::AbsTrackRep::debugLvl_, genfit::debugOut, Acts::UnitConstants::e, ExtrapSteps_, fJacobian_, fNoise_, genfit::StateOnPlane::getState(), lastEndState_, lastStartState_, genfit::Exception::setFatal(), and utils::status.
|
overridevirtual |
Get the (fitted) charge of a state. This is not always equal the pdg charge (e.g. if the charge sign was flipped during the fit).
Implements genfit::AbsTrackRep.
Reimplemented in genfit::MplTrackRep.
Definition at line 861 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 861 of file RKTrackRep.cc
References genfit::AbsTrackRep::getPDGCharge(), genfit::StateOnPlane::getState(), and genfit::Exception::setFatal().
Referenced by extrapolateBy(), extrapolateToCone(), extrapolateToCylinder(), extrapolateToLine(), extrapolateToPlane(), extrapolateToSphere(), extrapToPoint(), getMom(), getMomMag(), getMomVar(), getPosMom(), setPosMom(), setPosMomErr(), transformM6P(), and transformPM6().
|
inlineoverridevirtual |
Get the dimension of the state vector used by the track representation.
Implements genfit::AbsTrackRep.
Definition at line 142 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 142 of file RKTrackRep.h
|
overridevirtual |
Get the jacobian and noise matrix of the last extrapolation.
Implements genfit::AbsTrackRep.
Definition at line 979 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 979 of file RKTrackRep.cc
References genfit::AbsTrackRep::debugLvl_, genfit::debugOut, fJacobian_, fNoise_, genfit::StateOnPlane::getState(), lastEndState_, and lastStartState_.
|
overridevirtual |
Get the cartesian momentum vector of a state.
Implements genfit::AbsTrackRep.
Definition at line 826 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 826 of file RKTrackRep.cc
References getCharge(), and getState7().
|
overridevirtual |
get the magnitude of the momentum in GeV.
Implements genfit::AbsTrackRep.
Definition at line 879 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 879 of file RKTrackRep.cc
References assert, getCharge(), genfit::StateOnPlane::getState(), and merge_hashes::p.
|
overridevirtual |
get the variance of the absolute value of the momentum .
Implements genfit::AbsTrackRep.
Definition at line 887 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 887 of file RKTrackRep.cc
References getCharge(), genfit::MeasuredStateOnPlane::getCov(), genfit::StateOnPlane::getState(), and genfit::Exception::setFatal().
|
overridevirtual |
Get the cartesian position of a state.
Implements genfit::AbsTrackRep.
Definition at line 818 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 818 of file RKTrackRep.cc
References getState7().
Referenced by checkCache().
|
overridevirtual |
Get cartesian position and momentum vector of a state.
Implements genfit::AbsTrackRep.
Definition at line 836 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 836 of file RKTrackRep.cc
References getCharge(), and getState7().
Referenced by getPosMomCov().
|
overridevirtual |
Translates MeasuredStateOnPlane into 3D position, momentum and 6x6 covariance.
Implements genfit::AbsTrackRep.
Definition at line 846 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 846 of file RKTrackRep.cc
References getPosMom(), and transformPM6().
|
inlineoverridevirtual |
Get charge over momentum.
Implements genfit::AbsTrackRep.
Definition at line 155 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 155 of file RKTrackRep.h
References genfit::StateOnPlane::getState().
|
overridevirtual |
Get the accumulated X/X0 (path / radiation length) of the material crossed in the last extrapolation.
Implements genfit::AbsTrackRep.
Definition at line 1063 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1063 of file RKTrackRep.cc
double genfit::RKTrackRep::getSpu | ( | const StateOnPlane & | state | ) | const |
Definition at line 907 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 907 of file RKTrackRep.cc
References genfit::StateOnPlane::getAuxInfo(), and genfit::Exception::setFatal().
Referenced by getState7(), and transformPM6().
|
private |
Definition at line 1533 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1533 of file RKTrackRep.cc
References genfit::StateOnPlane::getPlane(), genfit::StateOnPlane::getState(), and setSpu().
Referenced by extrapolateBy(), extrapolateToCone(), extrapolateToCylinder(), extrapolateToLine(), extrapolateToPlane(), extrapolateToSphere(), extrapToPoint(), setPosMom(), and genfit::TEST_F().
|
private |
Definition at line 1499 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1499 of file RKTrackRep.cc
References assert, genfit::StateOnPlane::getPlane(), getSpu(), genfit::StateOnPlane::getState(), i, norm, and genfit::Exception::setFatal().
Referenced by extrapolateBy(), extrapolateToCone(), extrapolateToCylinder(), extrapolateToLine(), extrapolateToPlane(), extrapolateToSphere(), extrapToPoint(), getMom(), getPos(), getPosMom(), setPosMomCov(), and genfit::TEST_F().
|
overridevirtual |
Get stepsizes and material properties of crossed materials of the last extrapolation.
Implements genfit::AbsTrackRep.
Definition at line 1043 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1043 of file RKTrackRep.cc
|
overridevirtual |
Get the time corresponding to the StateOnPlane. Extrapolation.
Implements genfit::AbsTrackRep.
Definition at line 923 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 923 of file RKTrackRep.cc
References genfit::StateOnPlane::getAuxInfo().
Referenced by extrapolateToPlane().
|
private |
Definition at line 1480 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1480 of file RKTrackRep.cc
References genfit::RKMatrix< nRows, nCols >::begin(), genfit::RKMatrix< nRows, nCols >::end(), ExtrapSteps_, fJacobian_, fNoise_, genfit::StateOnPlane::getAuxInfo(), i, J_MMT_, lastEndState_, lastStartState_, limits_, noiseArray_, noiseProjection_, genfit::StepLimits::reset(), and RKSteps_.
Referenced by checkCache(), and RKTrackRep().
|
overridevirtual |
check if other is of same type (e.g. RKTrackRep) and has same pdg code.
Implements genfit::AbsTrackRep.
Definition at line 2672 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 2672 of file RKTrackRep.cc
References genfit::AbsTrackRep::getPDG(), and isSameType().
|
overridevirtual |
check if other is of same type (e.g. RKTrackRep).
Implements genfit::AbsTrackRep.
Definition at line 2664 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 2664 of file RKTrackRep.cc
Referenced by isSame().
Definition at line 2658 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 2658 of file RKTrackRep.cc
Referenced by genfit::TEST_F().
|
private |
Definition at line 2299 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 2299 of file RKTrackRep.cc
References t.
Referenced by extrapolateToLine().
|
virtual |
The actual Runge Kutta propagation.
propagate state7 with step S. Fills SA (Start directions derivatives dA/S). This is a single Runge-Kutta step. If jacobian is nullptr, only the state is propagated, otherwise also the 7x7 jacobian is calculated. If varField is false, the magnetic field will only be evaluated at the starting position. The return value is an estimation on how good the extrapolation is, and it is usually fine if it is > 1. It gives a suggestion how you must scale S so that the quality will be sufficient.
Reimplemented in genfit::MplTrackRep.
Definition at line 1274 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1274 of file RKTrackRep.cc
References A, genfit::AbsTrackRep::debugLvl_, genfit::debugOut, Acts::UnitConstants::e, genfit::FieldManager::getFieldVal(), genfit::FieldManager::getInstance(), i, Acts::UnitConstants::J, Acts::IntegrationTest::R, physmon_track_finding_ttbar::r, S(), and start.
Referenced by estimateStep(), genfit::TGeoMaterialInterface::findNextBoundary(), RKutta(), genfit::MaterialEffects::stepper(), and genfit::TEST_F().
|
private |
Propagates the particle through the magnetic field.
If the propagation is successful and the plane is reached, the function returns true. Propagated state and the jacobian of the extrapolation are written to state7 and jacobianT. The jacobian is only calculated if jacobianT != nullptr. In the main loop of the Runge Kutta algorithm, the estimateStep() is called and may reduce the estimated stepsize so that a maximum momentum loss will not be exceeded, and stop at material boundaries. 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 1801 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1801 of file RKTrackRep.cc
References A, testing::An(), genfit::RKMatrix< nRows, nCols >::begin(), genfit::AbsTrackRep::debugLvl_, genfit::debugOut, E, estimateStep(), genfit::StepLimits::getLowestLimit(), i, j, MINSTEP, momentum, norm, genfit::DetPlane::Print(), Acts::IntegrationTest::R, genfit::StepLimits::removeLimit(), RKPropagate(), RKSteps_, RKStepsFXStop_, S(), genfit::Exception::setFatal(), genfit::stp_boundary, genfit::stp_fieldCurv, genfit::stp_momLoss, and genfit::stp_plane.
Referenced by Extrap().
|
overridevirtual |
Set the sign of the charge according to charge.
Implements genfit::AbsTrackRep.
Definition at line 1248 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1248 of file RKTrackRep.cc
References genfit::StateOnPlane::getState(), and genfit::Exception::setFatal().
|
overridevirtual |
Set position and momentum of state.
Implements genfit::AbsTrackRep.
Definition at line 1083 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1083 of file RKTrackRep.cc
References genfit::StateOnPlane::getAuxInfo(), getCharge(), genfit::StateOnPlane::getPlane(), genfit::StateOnPlane::getRep(), genfit::StateOnPlane::getState(), getState5(), i, MINSTEP, norm, Acts::PrimitivesView3DTest::plane, genfit::Exception::setFatal(), genfit::StateOnPlane::setPlane(), and setSpu().
Referenced by setPosMom(), setPosMomCov(), and setPosMomErr().
|
overridevirtual |
Set position and momentum of state.
Implements genfit::AbsTrackRep.
Definition at line 1153 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1153 of file RKTrackRep.cc
References setPosMom().
|
overridevirtual |
Set position, momentum and covariance of state.
Implements genfit::AbsTrackRep.
Definition at line 1204 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1204 of file RKTrackRep.cc
References getState7(), setPosMom(), and transformM6P().
|
overridevirtual |
Set position, momentum and covariance of state.
Implements genfit::AbsTrackRep.
Definition at line 1222 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1222 of file RKTrackRep.cc
References getState7(), Acts::Test::pos, setPosMom(), and transformM6P().
|
overridevirtual |
Set position and momentum and error of state.
Implements genfit::AbsTrackRep.
Definition at line 1162 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1162 of file RKTrackRep.cc
References Acts::Test::cov, getCharge(), genfit::MeasuredStateOnPlane::getCov(), genfit::StateOnPlane::getPlane(), and setPosMom().
|
inlineoverridevirtual |
Set charge/momentum.
Implements genfit::AbsTrackRep.
Definition at line 174 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 174 of file RKTrackRep.h
References genfit::StateOnPlane::getState().
void genfit::RKTrackRep::setSpu | ( | StateOnPlane & | state, |
double | spu | ||
) | const |
Definition at line 1262 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1262 of file RKTrackRep.cc
References genfit::StateOnPlane::getAuxInfo().
Referenced by getState5(), and setPosMom().
|
overridevirtual |
Set time at which the state was defined.
Implements genfit::AbsTrackRep.
Definition at line 1267 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1267 of file RKTrackRep.cc
References genfit::StateOnPlane::getAuxInfo(), and Acts::Test::time.
Referenced by extrapolateToPlane().
|
private |
Definition at line 1719 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1719 of file RKTrackRep.cc
References genfit::RKMatrix< nRows, nCols >::begin(), genfit::RKMatrix< nRows, nCols >::end(), getCharge(), genfit::MeasuredStateOnPlane::getCov(), genfit::StateOnPlane::getPlane(), genfit::RKTools::J_MpTxcov6xJ_Mp(), and merge_hashes::p.
Referenced by setPosMomCov().
|
private |
Definition at line 1613 of file RKTrackRep.cc.
View newest version in sPHENIX GitHub at line 1613 of file RKTrackRep.cc
References genfit::RKMatrix< nRows, nCols >::begin(), genfit::RKMatrix< nRows, nCols >::end(), getCharge(), genfit::MeasuredStateOnPlane::getCov(), genfit::StateOnPlane::getPlane(), getSpu(), genfit::StateOnPlane::getState(), genfit::RKTools::J_pMTxcov5xJ_pM(), and merge_hashes::p.
Referenced by get6DCov(), and getPosMomCov().
|
friend |
Definition at line 74 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 74 of file RKTrackRep.h
|
friend |
Definition at line 76 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 76 of file RKTrackRep.h
|
friend |
Definition at line 75 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 75 of file RKTrackRep.h
|
friend |
Definition at line 73 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 73 of file RKTrackRep.h
|
mutableprivate |
use cached RKSteps_ for extrapolation
Definition at line 303 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 303 of file RKTrackRep.h
Referenced by checkCache(), and estimateStep().
|
mutableprivate |
Definition at line 297 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 297 of file RKTrackRep.h
Referenced by calcForwardJacobianAndNoise(), checkCache(), Extrap(), getBackwardJacobianAndNoise(), initArrays(), and genfit::TEST_F().
|
mutableprivate |
steps made in Extrap during last extrapolation
Definition at line 299 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 299 of file RKTrackRep.h
Referenced by calcForwardJacobianAndNoise(), Extrap(), getBackwardJacobianAndNoise(), getForwardJacobianAndNoise(), and initArrays().
|
mutableprivate |
Definition at line 300 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 300 of file RKTrackRep.h
Referenced by calcForwardJacobianAndNoise(), Extrap(), getBackwardJacobianAndNoise(), getForwardJacobianAndNoise(), and initArrays().
|
mutableprivate |
Definition at line 310 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 310 of file RKTrackRep.h
Referenced by Extrap(), and initArrays().
|
mutableprotected |
state where the last extrapolation has started
Definition at line 290 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 290 of file RKTrackRep.h
Referenced by checkCache(), extrapolateBy(), extrapolateToCone(), extrapolateToCylinder(), extrapolateToLine(), extrapolateToPlane(), extrapolateToSphere(), extrapToPoint(), getBackwardJacobianAndNoise(), getForwardJacobianAndNoise(), and initArrays().
|
mutableprotected |
Definition at line 289 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 289 of file RKTrackRep.h
Referenced by checkCache(), getBackwardJacobianAndNoise(), getForwardJacobianAndNoise(), and initArrays().
|
mutableprivate |
Definition at line 307 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 307 of file RKTrackRep.h
Referenced by Extrap(), and initArrays().
|
mutableprivate |
Definition at line 308 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 308 of file RKTrackRep.h
Referenced by Extrap(), and initArrays().
|
mutableprivate |
noise matrix of the last extrapolation
Definition at line 309 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 309 of file RKTrackRep.h
Referenced by Extrap(), and initArrays().
|
mutableprivate |
state where the last extrapolation has ended
Definition at line 294 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 294 of file RKTrackRep.h
Referenced by checkCache(), estimateStep(), Extrap(), getRadiationLenght(), getSteps(), initArrays(), and RKutta().
|
mutableprivate |
RungeKutta steps made in the last extrapolation.
Definition at line 295 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 295 of file RKTrackRep.h
Referenced by checkCache(), and Extrap().
|
mutableprivate |
Definition at line 296 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 296 of file RKTrackRep.h
Referenced by checkCache(), estimateStep(), Extrap(), and RKutta().
|
mutableprivate |
Definition at line 302 of file RKTrackRep.h.
View newest version in sPHENIX GitHub at line 302 of file RKTrackRep.h
Referenced by checkCache(), and estimateStep().