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

StateOnPlane with additional covariance matrix. More...

#include <MeasuredStateOnPlane.h>

Inheritance diagram for genfit::MeasuredStateOnPlane:
Collaboration diagram for genfit::MeasuredStateOnPlane:

Public Member Functions

 MeasuredStateOnPlane (const AbsTrackRep *rep=NULL)
 
 MeasuredStateOnPlane (const TVectorD &state, const TMatrixDSym &cov, const genfit::SharedPlanePtr &plane, const AbsTrackRep *rep)
 
 MeasuredStateOnPlane (const TVectorD &state, const TMatrixDSym &cov, const genfit::SharedPlanePtr &plane, const AbsTrackRep *rep, const TVectorD &auxInfo)
 
 MeasuredStateOnPlane (const MeasuredStateOnPlane &o)
 
 MeasuredStateOnPlane (const StateOnPlane &state, const TMatrixDSym &cov)
 
MeasuredStateOnPlaneoperator= (MeasuredStateOnPlane other)
 
void swap (MeasuredStateOnPlane &other)
 
virtual ~MeasuredStateOnPlane ()
 
const TMatrixDSym & getCov () const
 
TMatrixDSym & getCov ()
 
void blowUpCov (double blowUpFac, bool resetOffDiagonals=true)
 
void setStateCov (const TVectorD &state, const TMatrixDSym &cov)
 
void setStateCovPlane (const TVectorD &state, const TMatrixDSym &cov, const SharedPlanePtr &plane)
 
void setCov (const TMatrixDSym &cov)
 
TMatrixDSym get6DCov () const
 
void getPosMomCov (TVector3 &pos, TVector3 &mom, TMatrixDSym &cov) const
 
void get6DStateCov (TVectorD &stateVec, TMatrixDSym &cov) const
 
double getMomVar () const
 
void setPosMomErr (const TVector3 &pos, const TVector3 &mom, const TVector3 &posErr, const TVector3 &momErr)
 
void setPosMomCov (const TVector3 &pos, const TVector3 &mom, const TMatrixDSym &cov6x6)
 
void setPosMomCov (const TVectorD &state6, const TMatrixDSym &cov6x6)
 
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

TMatrixDSym cov_
 
- Protected Attributes inherited from genfit::StateOnPlane
TVectorD state_
 
TVectorD auxInfo_
 
SharedPlanePtr sharedPlane_
 

Detailed Description

StateOnPlane with additional covariance matrix.

Definition at line 38 of file MeasuredStateOnPlane.h.

Constructor & Destructor Documentation

◆ MeasuredStateOnPlane() [1/5]

genfit::MeasuredStateOnPlane::MeasuredStateOnPlane ( const AbsTrackRep rep = NULL)
inline

Definition at line 97 of file MeasuredStateOnPlane.h.

97 :
98 StateOnPlane(rep), cov_(0,0)
99{
100 if (rep != NULL) {
101 cov_.ResizeTo(rep->getDim(), rep->getDim());
102 }
103}
StateOnPlane(const AbsTrackRep *rep=NULL)

◆ MeasuredStateOnPlane() [2/5]

genfit::MeasuredStateOnPlane::MeasuredStateOnPlane ( const TVectorD &  state,
const TMatrixDSym &  cov,
const genfit::SharedPlanePtr plane,
const AbsTrackRep rep 
)
inline

Definition at line 105 of file MeasuredStateOnPlane.h.

105 :
106 StateOnPlane(state, plane, rep), cov_(cov)
107{
108 assert(rep != NULL);
109 //assert(cov_.GetNcols() == (signed)rep->getDim());
110}

◆ MeasuredStateOnPlane() [3/5]

genfit::MeasuredStateOnPlane::MeasuredStateOnPlane ( const TVectorD &  state,
const TMatrixDSym &  cov,
const genfit::SharedPlanePtr plane,
const AbsTrackRep rep,
const TVectorD &  auxInfo 
)
inline

Definition at line 112 of file MeasuredStateOnPlane.h.

112 :
113 StateOnPlane(state, plane, rep, auxInfo), cov_(cov)
114{
115 assert(rep != NULL);
116 //assert(cov_.GetNcols() == (signed)rep->getDim());
117}

◆ MeasuredStateOnPlane() [4/5]

genfit::MeasuredStateOnPlane::MeasuredStateOnPlane ( const MeasuredStateOnPlane o)
inline

Definition at line 119 of file MeasuredStateOnPlane.h.

119 :
120 StateOnPlane(o), cov_(o.cov_)
121{
122}

◆ MeasuredStateOnPlane() [5/5]

genfit::MeasuredStateOnPlane::MeasuredStateOnPlane ( const StateOnPlane state,
const TMatrixDSym &  cov 
)
inline

Definition at line 124 of file MeasuredStateOnPlane.h.

124 :
125 StateOnPlane(state), cov_(cov)
126{
127 //assert(cov_.GetNcols() == (signed)getRep()->getDim());
128}

◆ ~MeasuredStateOnPlane()

virtual genfit::MeasuredStateOnPlane::~MeasuredStateOnPlane ( )
inlinevirtual

Definition at line 51 of file MeasuredStateOnPlane.h.

51{}

Member Function Documentation

◆ blowUpCov()

void genfit::MeasuredStateOnPlane::blowUpCov ( double  blowUpFac,
bool  resetOffDiagonals = true 
)

Definition at line 46 of file MeasuredStateOnPlane.cc.

46 {
47
48 if (resetOffDiagonals) {
49 unsigned int dim = cov_.GetNcols();
50 for (unsigned int i=0; i<dim; ++i) {
51 for (unsigned int j=0; j<dim; ++j) {
52 if (i != j)
53 cov_(i,j) = 0; // reset off-diagonals
54 else
55 cov_(i,j) *= blowUpFac; // blow up diagonals
56 }
57 }
58 }
59 else
60 cov_ *= blowUpFac;
61
62}
int i
Definition ShipAna.py:86

◆ get6DCov()

TMatrixDSym genfit::MeasuredStateOnPlane::get6DCov ( ) const
inline

Definition at line 63 of file MeasuredStateOnPlane.h.

63{return getRep()->get6DCov(*this);};
virtual TMatrixDSym get6DCov(const MeasuredStateOnPlane &state) const =0
Get the 6D covariance.
const AbsTrackRep * getRep() const

◆ get6DStateCov()

void genfit::MeasuredStateOnPlane::get6DStateCov ( TVectorD &  stateVec,
TMatrixDSym &  cov 
) const
inline

Definition at line 65 of file MeasuredStateOnPlane.h.

65{getRep()->get6DStateCov(*this, stateVec, cov);}
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.

◆ getCov() [1/2]

TMatrixDSym & genfit::MeasuredStateOnPlane::getCov ( )
inline

Definition at line 54 of file MeasuredStateOnPlane.h.

54{return cov_;}

◆ getCov() [2/2]

const TMatrixDSym & genfit::MeasuredStateOnPlane::getCov ( ) const
inline

Definition at line 53 of file MeasuredStateOnPlane.h.

53{return cov_;}

◆ getMomVar()

double genfit::MeasuredStateOnPlane::getMomVar ( ) const
inline

Definition at line 66 of file MeasuredStateOnPlane.h.

66{return getRep()->getMomVar(*this);}
virtual double getMomVar(const MeasuredStateOnPlane &state) const =0
get the variance of the absolute value of the momentum .

◆ getPosMomCov()

void genfit::MeasuredStateOnPlane::getPosMomCov ( TVector3 &  pos,
TVector3 &  mom,
TMatrixDSym &  cov 
) const
inline

Definition at line 64 of file MeasuredStateOnPlane.h.

64{getRep()->getPosMomCov(*this, pos, mom, cov);}
virtual void getPosMomCov(const MeasuredStateOnPlane &state, TVector3 &pos, TVector3 &mom, TMatrixDSym &cov) const =0
Translates MeasuredStateOnPlane into 3D position, momentum and 6x6 covariance.

◆ operator=()

MeasuredStateOnPlane & genfit::MeasuredStateOnPlane::operator= ( MeasuredStateOnPlane  other)
inline

Definition at line 130 of file MeasuredStateOnPlane.h.

130 {
131 swap(other);
132 return *this;
133}
void swap(MeasuredStateOnPlane &other)

◆ Print()

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

Reimplemented from genfit::StateOnPlane.

Reimplemented in genfit::MeasurementOnPlane.

Definition at line 30 of file MeasuredStateOnPlane.cc.

30 {
31 std::cout << "genfit::MeasuredStateOnPlane ";
32 std::cout << "my address " << this << " my plane's address " << this->sharedPlane_.get() << "; use count: " << sharedPlane_.use_count() << std::endl;
33 std::cout << " state vector: "; state_.Print();
34 std::cout << " covariance matrix: "; cov_.Print();
35 if (sharedPlane_ != NULL) {
36 std::cout << " defined in plane "; sharedPlane_->Print();
37 TVector3 pos, mom;
38 TMatrixDSym cov(6,6);
39 getRep()->getPosMomCov(*this, pos, mom, cov);
40 std::cout << " 3D position: "; pos.Print();
41 std::cout << " 3D momentum: "; mom.Print();
42 //std::cout << " 6D covariance: "; cov.Print();
43 }
44}
SharedPlanePtr sharedPlane_

◆ setCov()

void genfit::MeasuredStateOnPlane::setCov ( const TMatrixDSym &  cov)
inline

Definition at line 60 of file MeasuredStateOnPlane.h.

60{if(cov_.GetNrows() == 0) cov_.ResizeTo(cov); cov_ = cov;}

◆ setPosMomCov() [1/2]

void genfit::MeasuredStateOnPlane::setPosMomCov ( const TVector3 &  pos,
const TVector3 &  mom,
const TMatrixDSym &  cov6x6 
)
inline

Definition at line 69 of file MeasuredStateOnPlane.h.

69{getRep()->setPosMomCov(*this, pos, mom, cov6x6);}
virtual void setPosMomCov(MeasuredStateOnPlane &state, const TVector3 &pos, const TVector3 &mom, const TMatrixDSym &cov6x6) const =0
Set position, momentum and covariance of state.

◆ setPosMomCov() [2/2]

void genfit::MeasuredStateOnPlane::setPosMomCov ( const TVectorD &  state6,
const TMatrixDSym &  cov6x6 
)
inline

Definition at line 70 of file MeasuredStateOnPlane.h.

70{getRep()->setPosMomCov(*this, state6, cov6x6);}

◆ setPosMomErr()

void genfit::MeasuredStateOnPlane::setPosMomErr ( const TVector3 &  pos,
const TVector3 &  mom,
const TVector3 &  posErr,
const TVector3 &  momErr 
)
inline

Definition at line 68 of file MeasuredStateOnPlane.h.

68{getRep()->setPosMomErr(*this, pos, mom, posErr, momErr);}
virtual void setPosMomErr(MeasuredStateOnPlane &state, const TVector3 &pos, const TVector3 &mom, const TVector3 &posErr, const TVector3 &momErr) const =0
Set position and momentum and error of state.

◆ setStateCov()

void genfit::MeasuredStateOnPlane::setStateCov ( const TVectorD &  state,
const TMatrixDSym &  cov 
)
inline

Definition at line 58 of file MeasuredStateOnPlane.h.

58{setState(state); setCov(cov);}
void setCov(const TMatrixDSym &cov)
void setState(const TVectorD &state)

◆ setStateCovPlane()

void genfit::MeasuredStateOnPlane::setStateCovPlane ( const TVectorD &  state,
const TMatrixDSym &  cov,
const SharedPlanePtr plane 
)
inline

Definition at line 59 of file MeasuredStateOnPlane.h.

59{setStatePlane(state, plane); setCov(cov);}
void setStatePlane(const TVectorD &state, const SharedPlanePtr &plane)

◆ swap()

void genfit::MeasuredStateOnPlane::swap ( MeasuredStateOnPlane other)
inline

Definition at line 91 of file MeasuredStateOnPlane.h.

91 {
92 StateOnPlane::swap(other);
93 this->cov_.ResizeTo(other.cov_);
94 std::swap(this->cov_, other.cov_);
95}
void swap(StateOnPlane &other)

Member Data Documentation

◆ cov_

TMatrixDSym genfit::MeasuredStateOnPlane::cov_
protected

Definition at line 77 of file MeasuredStateOnPlane.h.


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