24 #ifndef genfit_MeasuredStateOnPlane_h
25 #define genfit_MeasuredStateOnPlane_h
27 #include "StateOnPlane.h"
28 #include "AbsTrackRep.h"
30 #include <TMatrixDSym.h>
56 const TMatrixDSym& getCov()
const {
return cov_;}
57 TMatrixDSym& getCov() {
return cov_;}
60 void blowUpCov(
double blowUpFac,
bool resetOffDiagonals =
true,
double maxVal = -1.);
62 void setStateCov(
const TVectorD& state,
const TMatrixDSym& cov) {setState(state); setCov(cov);}
63 void setStateCovPlane(
const TVectorD& state,
const TMatrixDSym& cov,
const SharedPlanePtr& plane) {setStatePlane(state, plane); setCov(cov);}
64 void setCov(
const TMatrixDSym& cov) {
if(cov_.GetNrows() == 0) cov_.ResizeTo(cov); cov_ = cov;}
67 TMatrixDSym get6DCov()
const {
return getRep()->
get6DCov(*
this);};
68 void getPosMomCov(TVector3& pos, TVector3& mom, TMatrixDSym& cov)
const {getRep()->
getPosMomCov(*
this, pos, mom, cov);}
69 void get6DStateCov(TVectorD& stateVec, TMatrixDSym& cov)
const {getRep()->
get6DStateCov(*
this, stateVec, cov);}
70 double getMomVar()
const {
return getRep()->
getMomVar(*
this);}
72 void setPosMomErr(
const TVector3& pos,
const TVector3& mom,
const TVector3& posErr,
const TVector3& momErr) {getRep()->
setPosMomErr(*
this, pos, mom, posErr, momErr);}
73 void setPosMomCov(
const TVector3& pos,
const TVector3& mom,
const TMatrixDSym& cov6x6) {getRep()->
setPosMomCov(*
this, pos, mom, cov6x6);}
74 void setPosMomCov(
const TVectorD& state6,
const TMatrixDSym& cov6x6) {getRep()->
setPosMomCov(*
this, state6, cov6x6);}
77 virtual void Print(Option_t* option =
"")
const override;
96 StateOnPlane::swap(other);
97 this->cov_.ResizeTo(other.cov_);
98 std::swap(this->cov_, other.cov_);
101 inline MeasuredStateOnPlane::MeasuredStateOnPlane(
const AbsTrackRep* rep) :
102 StateOnPlane(rep), cov_(0,0)
104 if (rep !=
nullptr) {
105 cov_.ResizeTo(rep->getDim(), rep->getDim());
109 inline MeasuredStateOnPlane::MeasuredStateOnPlane(
const TVectorD& state,
const TMatrixDSym& cov,
const SharedPlanePtr& plane,
const AbsTrackRep* rep) :
110 StateOnPlane(state, plane, rep), cov_(cov)
112 assert(rep !=
nullptr);
116 inline MeasuredStateOnPlane::MeasuredStateOnPlane(
const TVectorD& state,
const TMatrixDSym& cov,
const SharedPlanePtr& plane,
const AbsTrackRep* rep,
const TVectorD& auxInfo) :
117 StateOnPlane(state, plane, rep, auxInfo), cov_(cov)
119 assert(rep !=
nullptr);
123 inline MeasuredStateOnPlane::MeasuredStateOnPlane(
const MeasuredStateOnPlane& o) :
124 StateOnPlane(o), cov_(o.cov_)
128 inline MeasuredStateOnPlane::MeasuredStateOnPlane(
const StateOnPlane& state,
const TMatrixDSym& cov) :
129 StateOnPlane(state), cov_(cov)
134 inline MeasuredStateOnPlane& MeasuredStateOnPlane::operator=(MeasuredStateOnPlane other) {
143 #endif // genfit_MeasuredStateOnPlane_h