24#ifndef genfit_MeasuredStateOnPlane_h
25#define genfit_MeasuredStateOnPlane_h
30#include <TMatrixDSym.h>
56 void blowUpCov(
double blowUpFac,
bool resetOffDiagonals =
true);
68 void setPosMomErr(
const TVector3& pos,
const TVector3& mom,
const TVector3& posErr,
const TVector3& momErr) {
getRep()->
setPosMomErr(*
this, pos, mom, posErr, momErr);}
73 virtual void Print(Option_t* option =
"")
const;
Abstract base class for a track representation.
virtual double getMomVar(const MeasuredStateOnPlane &state) const =0
get the variance of the absolute value of the momentum .
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.
virtual void setPosMomCov(MeasuredStateOnPlane &state, const TVector3 &pos, const TVector3 &mom, const TMatrixDSym &cov6x6) const =0
Set position, momentum and covariance of state.
virtual unsigned int getDim() const =0
Get the dimension of the state vector used by the track representation.
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.
virtual TMatrixDSym get6DCov(const MeasuredStateOnPlane &state) const =0
Get the 6D covariance.
virtual void getPosMomCov(const MeasuredStateOnPlane &state, TVector3 &pos, TVector3 &mom, TMatrixDSym &cov) const =0
Translates MeasuredStateOnPlane into 3D position, momentum and 6x6 covariance.
StateOnPlane with additional covariance matrix.
void getPosMomCov(TVector3 &pos, TVector3 &mom, TMatrixDSym &cov) const
MeasuredStateOnPlane & operator=(MeasuredStateOnPlane other)
void setStateCovPlane(const TVectorD &state, const TMatrixDSym &cov, const SharedPlanePtr &plane)
void setPosMomCov(const TVectorD &state6, const TMatrixDSym &cov6x6)
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 setCov(const TMatrixDSym &cov)
const TMatrixDSym & getCov() const
void setStateCov(const TVectorD &state, const TMatrixDSym &cov)
TMatrixDSym get6DCov() const
void swap(MeasuredStateOnPlane &other)
void get6DStateCov(TVectorD &stateVec, TMatrixDSym &cov) const
void blowUpCov(double blowUpFac, bool resetOffDiagonals=true)
virtual ~MeasuredStateOnPlane()
virtual void Print(Option_t *option="") const
MeasuredStateOnPlane(const AbsTrackRep *rep=NULL)
A state with arbitrary dimension defined in a DetPlane.
void swap(StateOnPlane &other)
void setState(const TVectorD &state)
void setStatePlane(const TVectorD &state, const SharedPlanePtr &plane)
const AbsTrackRep * getRep() const
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
MeasuredStateOnPlane calcAverageState(const MeasuredStateOnPlane &forwardState, const MeasuredStateOnPlane &backwardState)
Calculate weighted average between two MeasuredStateOnPlanes.