SND@LHC Software
Loading...
Searching...
No Matches
genfit::ReferenceStateOnPlane Class Reference

StateOnPlane with linearized transport to that ReferenceStateOnPlane from previous and next ReferenceStateOnPlane More...

#include <ReferenceStateOnPlane.h>

Inheritance diagram for genfit::ReferenceStateOnPlane:
Collaboration diagram for genfit::ReferenceStateOnPlane:

Public Member Functions

 ReferenceStateOnPlane ()
 
 ReferenceStateOnPlane (const TVectorD &state, const SharedPlanePtr &plane, const AbsTrackRep *rep)
 
 ReferenceStateOnPlane (const TVectorD &state, const SharedPlanePtr &plane, const AbsTrackRep *rep, const TVectorD &auxInfo)
 
 ReferenceStateOnPlane (const StateOnPlane &state)
 
StateOnPlaneoperator= (ReferenceStateOnPlane other)
 
void swap (ReferenceStateOnPlane &other)
 
virtual ~ReferenceStateOnPlane ()
 
void setForwardSegmentLength (double len)
 
void setBackwardSegmentLength (double len)
 
void setForwardTransportMatrix (const TMatrixD &mat)
 
void setBackwardTransportMatrix (const TMatrixD &mat)
 
void setTransportMatrix (const TMatrixD &mat, int direction)
 
void setForwardNoiseMatrix (const TMatrixDSym &mat)
 
void setBackwardNoiseMatrix (const TMatrixDSym &mat)
 
void setNoiseMatrix (const TMatrixDSym &mat, int direction)
 
void setForwardDeltaState (const TVectorD &mat)
 
void setBackwardDeltaState (const TVectorD &mat)
 
void setDeltaState (const TVectorD &mat, int direction)
 
double getForwardSegmentLength () const
 
double getBackwardSegmentLength () const
 
const TMatrixD & getForwardTransportMatrix () const
 
const TMatrixD & getBackwardTransportMatrix () const
 
const TMatrixD & getTransportMatrix (int direction) const
 
const TMatrixDSym & getForwardNoiseMatrix () const
 
const TMatrixDSym & getBackwardNoiseMatrix () const
 
const TMatrixDSym & getNoiseMatrix (int direction) const
 
const TVectorD & getForwardDeltaState () const
 
const TVectorD & getBackwardDeltaState () const
 
const TVectorD & getDeltaState (int direction) const
 
void resetForward ()
 
void resetBackward ()
 
virtual void Print (Option_t *option="") const
 
- Public Member Functions inherited from genfit::StateOnPlane
 StateOnPlane (const AbsTrackRep *rep=NULL)
 
 StateOnPlane (const TVectorD &state, const SharedPlanePtr &plane, const AbsTrackRep *rep)
 
 StateOnPlane (const TVectorD &state, const SharedPlanePtr &plane, const AbsTrackRep *rep, const TVectorD &auxInfo)
 
StateOnPlaneoperator= (StateOnPlane other)
 
void swap (StateOnPlane &other)
 
virtual ~StateOnPlane ()
 
const TVectorD & getState () const
 
TVectorD & getState ()
 
const TVectorD & getAuxInfo () const
 
TVectorD & getAuxInfo ()
 
const SharedPlanePtrgetPlane () const
 
const AbsTrackRepgetRep () const
 
void setState (const TVectorD &state)
 
void setPlane (const SharedPlanePtr &plane)
 
void setStatePlane (const TVectorD &state, const SharedPlanePtr &plane)
 
void setAuxInfo (const TVectorD &auxInfo)
 
void setRep (const AbsTrackRep *rep)
 
double extrapolateToPlane (const SharedPlanePtr &plane, bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
double extrapolateToLine (const TVector3 &linePoint, const TVector3 &lineDirection, bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
double extrapolateToPoint (const TVector3 &point, bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
double extrapolateToPoint (const TVector3 &point, const TMatrixDSym &G, bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
double extrapolateToCylinder (double radius, const TVector3 &linePoint=TVector3(0., 0., 0.), const TVector3 &lineDirection=TVector3(0., 0., 1.), bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
double extrapolateToSphere (double radius, const TVector3 &point=TVector3(0., 0., 0.), bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
double extrapolateBy (double step, bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
double extrapolateToMeasurement (const AbsMeasurement *measurement, bool stopAtBoundary=false, bool calcJacobianNoise=false)
 
TVector3 getPos () const
 
TVector3 getMom () const
 
TVector3 getDir () const
 
void getPosMom (TVector3 &pos, TVector3 &mom) const
 
void getPosDir (TVector3 &pos, TVector3 &dir) const
 
TVectorD get6DState () const
 
double getMomMag () const
 
int getPDG () const
 
double getCharge () const
 
double getQop () const
 
double getMass () const
 
void setPosMom (const TVector3 &pos, const TVector3 &mom)
 
void setPosMom (const TVectorD &state6)
 
void setChargeSign (double charge)
 
void setQop (double qop)
 

Protected Attributes

double forwardSegmentLength_
 
double backwardSegmentLength_
 
TMatrixD forwardTransportMatrix_
 
TMatrixD backwardTransportMatrix_
 
TMatrixDSym forwardNoiseMatrix_
 
TMatrixDSym backwardNoiseMatrix_
 
TVectorD forwardDeltaState_
 
TVectorD backwardDeltaState_
 
- Protected Attributes inherited from genfit::StateOnPlane
TVectorD state_
 
TVectorD auxInfo_
 
SharedPlanePtr sharedPlane_
 

Detailed Description

StateOnPlane with linearized transport to that ReferenceStateOnPlane from previous and next ReferenceStateOnPlane

Transport matrices describe transport TO that plane. We have transport matrix F, noise matrix N and delta state c. Now, state p and covariance C follow this mathematics:

p = F * p_old + c C = F * C_old * F^T + N

Definition at line 43 of file ReferenceStateOnPlane.h.

Constructor & Destructor Documentation

◆ ReferenceStateOnPlane() [1/4]

◆ ReferenceStateOnPlane() [2/4]

genfit::ReferenceStateOnPlane::ReferenceStateOnPlane ( const TVectorD &  state,
const SharedPlanePtr plane,
const AbsTrackRep rep 
)

Definition at line 41 of file ReferenceStateOnPlane.cc.

43 :
44 StateOnPlane(state, plane, rep),
47 forwardTransportMatrix_(rep->getDim(), rep->getDim()),
48 backwardTransportMatrix_(rep->getDim(), rep->getDim()),
49 forwardNoiseMatrix_(rep->getDim()),
50 backwardNoiseMatrix_(rep->getDim()),
51 forwardDeltaState_(rep->getDim()),
52 backwardDeltaState_(rep->getDim())
53{
54 ;
55}

◆ ReferenceStateOnPlane() [3/4]

genfit::ReferenceStateOnPlane::ReferenceStateOnPlane ( const TVectorD &  state,
const SharedPlanePtr plane,
const AbsTrackRep rep,
const TVectorD &  auxInfo 
)

Definition at line 57 of file ReferenceStateOnPlane.cc.

60 :
61 StateOnPlane(state, plane, rep, auxInfo),
64 forwardTransportMatrix_(rep->getDim(), rep->getDim()),
65 backwardTransportMatrix_(rep->getDim(), rep->getDim()),
66 forwardNoiseMatrix_(rep->getDim()),
67 backwardNoiseMatrix_(rep->getDim()),
68 forwardDeltaState_(rep->getDim()),
69 backwardDeltaState_(rep->getDim())
70{
71 ;
72}

◆ ReferenceStateOnPlane() [4/4]

genfit::ReferenceStateOnPlane::ReferenceStateOnPlane ( const StateOnPlane state)

Definition at line 75 of file ReferenceStateOnPlane.cc.

75 :
76 StateOnPlane(state),
79 forwardTransportMatrix_(state.getRep()->getDim(), state.getRep()->getDim()),
80 backwardTransportMatrix_(state.getRep()->getDim(), state.getRep()->getDim()),
81 forwardNoiseMatrix_(state.getRep()->getDim()),
82 backwardNoiseMatrix_(state.getRep()->getDim()),
83 forwardDeltaState_(state.getRep()->getDim()),
84 backwardDeltaState_(state.getRep()->getDim())
85{
86 std::cout << "should never come here" << std::endl;
87 exit(0);
88}

◆ ~ReferenceStateOnPlane()

virtual genfit::ReferenceStateOnPlane::~ReferenceStateOnPlane ( )
inlinevirtual

Definition at line 60 of file ReferenceStateOnPlane.h.

60{}

Member Function Documentation

◆ getBackwardDeltaState()

const TVectorD & genfit::ReferenceStateOnPlane::getBackwardDeltaState ( ) const
inline

Definition at line 84 of file ReferenceStateOnPlane.h.

84{return backwardDeltaState_;}

◆ getBackwardNoiseMatrix()

const TMatrixDSym & genfit::ReferenceStateOnPlane::getBackwardNoiseMatrix ( ) const
inline

Definition at line 81 of file ReferenceStateOnPlane.h.

◆ getBackwardSegmentLength()

double genfit::ReferenceStateOnPlane::getBackwardSegmentLength ( ) const
inline

Definition at line 76 of file ReferenceStateOnPlane.h.

◆ getBackwardTransportMatrix()

const TMatrixD & genfit::ReferenceStateOnPlane::getBackwardTransportMatrix ( ) const
inline

Definition at line 78 of file ReferenceStateOnPlane.h.

◆ getDeltaState()

const TVectorD & genfit::ReferenceStateOnPlane::getDeltaState ( int  direction) const
inline

Definition at line 85 of file ReferenceStateOnPlane.h.

85{if (direction >= 0) return forwardDeltaState_; return backwardDeltaState_;}

◆ getForwardDeltaState()

const TVectorD & genfit::ReferenceStateOnPlane::getForwardDeltaState ( ) const
inline

Definition at line 83 of file ReferenceStateOnPlane.h.

83{return forwardDeltaState_;}

◆ getForwardNoiseMatrix()

const TMatrixDSym & genfit::ReferenceStateOnPlane::getForwardNoiseMatrix ( ) const
inline

Definition at line 80 of file ReferenceStateOnPlane.h.

80{return forwardNoiseMatrix_;}

◆ getForwardSegmentLength()

double genfit::ReferenceStateOnPlane::getForwardSegmentLength ( ) const
inline

Definition at line 75 of file ReferenceStateOnPlane.h.

◆ getForwardTransportMatrix()

const TMatrixD & genfit::ReferenceStateOnPlane::getForwardTransportMatrix ( ) const
inline

Definition at line 77 of file ReferenceStateOnPlane.h.

◆ getNoiseMatrix()

const TMatrixDSym & genfit::ReferenceStateOnPlane::getNoiseMatrix ( int  direction) const
inline

Definition at line 82 of file ReferenceStateOnPlane.h.

82{if (direction >= 0) return forwardNoiseMatrix_; return backwardNoiseMatrix_;}

◆ getTransportMatrix()

const TMatrixD & genfit::ReferenceStateOnPlane::getTransportMatrix ( int  direction) const
inline

Definition at line 79 of file ReferenceStateOnPlane.h.

79{if (direction >= 0) return forwardTransportMatrix_; return backwardTransportMatrix_;}

◆ operator=()

StateOnPlane & genfit::ReferenceStateOnPlane::operator= ( ReferenceStateOnPlane  other)

Definition at line 91 of file ReferenceStateOnPlane.cc.

91 {
92 swap(other);
93 return *this;
94}
void swap(ReferenceStateOnPlane &other)

◆ Print()

void genfit::ReferenceStateOnPlane::Print ( Option_t *  option = "") const
virtual

Reimplemented from genfit::StateOnPlane.

Definition at line 130 of file ReferenceStateOnPlane.cc.

130 {
132
133 std::cout << " forwardSegmentLength: " << forwardSegmentLength_ << "\n";
134 std::cout << " forwardTransportMatrix: "; forwardTransportMatrix_.Print();
135 std::cout << " forwardNoiseMatrix: "; forwardNoiseMatrix_.Print();
136 std::cout << " forwardDeltaState: "; forwardDeltaState_.Print();
137
138 std::cout << " backwardSegmentLength_: " << backwardSegmentLength_ << "\n";
139 std::cout << " backwardTransportMatrix: "; backwardTransportMatrix_.Print();
140 std::cout << " backwardNoiseMatrix: "; backwardNoiseMatrix_.Print();
141 std::cout << " backwardDeltaState: "; backwardDeltaState_.Print();
142
143}
virtual void Print(Option_t *option="") const

◆ resetBackward()

void genfit::ReferenceStateOnPlane::resetBackward ( )

Definition at line 122 of file ReferenceStateOnPlane.cc.

122 {
124 backwardTransportMatrix_.UnitMatrix();
126 backwardDeltaState_.Zero();
127}

◆ resetForward()

void genfit::ReferenceStateOnPlane::resetForward ( )

Definition at line 115 of file ReferenceStateOnPlane.cc.

115 {
117 forwardTransportMatrix_.UnitMatrix();
118 forwardNoiseMatrix_.Zero();
119 forwardDeltaState_.Zero();
120}

◆ setBackwardDeltaState()

void genfit::ReferenceStateOnPlane::setBackwardDeltaState ( const TVectorD &  mat)
inline

Definition at line 71 of file ReferenceStateOnPlane.h.

71{backwardDeltaState_.ResizeTo(mat); backwardDeltaState_=mat;}

◆ setBackwardNoiseMatrix()

void genfit::ReferenceStateOnPlane::setBackwardNoiseMatrix ( const TMatrixDSym &  mat)
inline

Definition at line 68 of file ReferenceStateOnPlane.h.

◆ setBackwardSegmentLength()

void genfit::ReferenceStateOnPlane::setBackwardSegmentLength ( double  len)
inline

Definition at line 63 of file ReferenceStateOnPlane.h.

◆ setBackwardTransportMatrix()

void genfit::ReferenceStateOnPlane::setBackwardTransportMatrix ( const TMatrixD &  mat)
inline

Definition at line 65 of file ReferenceStateOnPlane.h.

◆ setDeltaState()

void genfit::ReferenceStateOnPlane::setDeltaState ( const TVectorD &  mat,
int  direction 
)
inline

Definition at line 72 of file ReferenceStateOnPlane.h.

72{if (direction >= 0) setForwardDeltaState(mat); else setBackwardDeltaState(mat);}
void setForwardDeltaState(const TVectorD &mat)
void setBackwardDeltaState(const TVectorD &mat)

◆ setForwardDeltaState()

void genfit::ReferenceStateOnPlane::setForwardDeltaState ( const TVectorD &  mat)
inline

Definition at line 70 of file ReferenceStateOnPlane.h.

70{forwardDeltaState_.ResizeTo(mat); forwardDeltaState_=mat;}

◆ setForwardNoiseMatrix()

void genfit::ReferenceStateOnPlane::setForwardNoiseMatrix ( const TMatrixDSym &  mat)
inline

Definition at line 67 of file ReferenceStateOnPlane.h.

67{forwardNoiseMatrix_.ResizeTo(mat); forwardNoiseMatrix_=mat;}

◆ setForwardSegmentLength()

void genfit::ReferenceStateOnPlane::setForwardSegmentLength ( double  len)
inline

Definition at line 62 of file ReferenceStateOnPlane.h.

◆ setForwardTransportMatrix()

void genfit::ReferenceStateOnPlane::setForwardTransportMatrix ( const TMatrixD &  mat)
inline

Definition at line 64 of file ReferenceStateOnPlane.h.

◆ setNoiseMatrix()

void genfit::ReferenceStateOnPlane::setNoiseMatrix ( const TMatrixDSym &  mat,
int  direction 
)
inline

Definition at line 69 of file ReferenceStateOnPlane.h.

69{if (direction >= 0) setForwardNoiseMatrix(mat); else setBackwardNoiseMatrix(mat);}
void setForwardNoiseMatrix(const TMatrixDSym &mat)
void setBackwardNoiseMatrix(const TMatrixDSym &mat)

◆ setTransportMatrix()

void genfit::ReferenceStateOnPlane::setTransportMatrix ( const TMatrixD &  mat,
int  direction 
)
inline

Definition at line 66 of file ReferenceStateOnPlane.h.

66{if (direction >= 0) setForwardTransportMatrix(mat); else setBackwardTransportMatrix(mat);}
void setForwardTransportMatrix(const TMatrixD &mat)
void setBackwardTransportMatrix(const TMatrixD &mat)

◆ swap()

void genfit::ReferenceStateOnPlane::swap ( ReferenceStateOnPlane other)

Definition at line 96 of file ReferenceStateOnPlane.cc.

96 {
97 StateOnPlane::swap(other);
98 std::swap(this->forwardSegmentLength_, other.forwardSegmentLength_);
99 std::swap(this->backwardSegmentLength_, other.backwardSegmentLength_);
100 this->forwardTransportMatrix_.ResizeTo(other.forwardTransportMatrix_);
101 std::swap(this->forwardTransportMatrix_, other.forwardTransportMatrix_);
102 this->backwardTransportMatrix_.ResizeTo(other.backwardTransportMatrix_);
103 std::swap(this->backwardTransportMatrix_, other.backwardTransportMatrix_);
104 this->forwardNoiseMatrix_.ResizeTo(other.forwardNoiseMatrix_);
105 std::swap(this->forwardNoiseMatrix_, other.forwardNoiseMatrix_);
106 this->backwardNoiseMatrix_.ResizeTo(other.backwardNoiseMatrix_);
107 std::swap(this->backwardNoiseMatrix_, other.backwardNoiseMatrix_);
108 this->forwardDeltaState_.ResizeTo(other.forwardDeltaState_);
109 std::swap(this->forwardDeltaState_, other.forwardDeltaState_);
110 this->backwardDeltaState_.ResizeTo(other.backwardDeltaState_);
111 std::swap(this->backwardDeltaState_, other.backwardDeltaState_);
112}
void swap(StateOnPlane &other)

Member Data Documentation

◆ backwardDeltaState_

TVectorD genfit::ReferenceStateOnPlane::backwardDeltaState_
protected

c

Definition at line 101 of file ReferenceStateOnPlane.h.

◆ backwardNoiseMatrix_

TMatrixDSym genfit::ReferenceStateOnPlane::backwardNoiseMatrix_
protected

noise matrix N for transport from next referenceState

Definition at line 99 of file ReferenceStateOnPlane.h.

◆ backwardSegmentLength_

double genfit::ReferenceStateOnPlane::backwardSegmentLength_
protected

Segment length from next referenceState

Definition at line 95 of file ReferenceStateOnPlane.h.

◆ backwardTransportMatrix_

TMatrixD genfit::ReferenceStateOnPlane::backwardTransportMatrix_
protected

transport matrix F from next referenceState

Definition at line 97 of file ReferenceStateOnPlane.h.

◆ forwardDeltaState_

TVectorD genfit::ReferenceStateOnPlane::forwardDeltaState_
protected

c

Definition at line 100 of file ReferenceStateOnPlane.h.

◆ forwardNoiseMatrix_

TMatrixDSym genfit::ReferenceStateOnPlane::forwardNoiseMatrix_
protected

noise matrix N for transport from previous referenceState

Definition at line 98 of file ReferenceStateOnPlane.h.

◆ forwardSegmentLength_

double genfit::ReferenceStateOnPlane::forwardSegmentLength_
protected

Segment length from previous referenceState

Definition at line 94 of file ReferenceStateOnPlane.h.

◆ forwardTransportMatrix_

TMatrixD genfit::ReferenceStateOnPlane::forwardTransportMatrix_
protected

transport matrix F from previous referenceState

Definition at line 96 of file ReferenceStateOnPlane.h.


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