|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef TRK_GXFTRACKSTATE_H
14 #define TRK_GXFTRACKSTATE_H
26 class MeasurementBase;
27 class GXFMaterialEffects;
28 class TransportJacobian;
39 GXFTrackState(std::unique_ptr<const MeasurementBase>, std::unique_ptr<const TrackParameters>);
41 GXFTrackState(std::unique_ptr<GXFMaterialEffects>, std::unique_ptr<const TrackParameters>);
55 Eigen::Matrix<double, 5, 5> &
jacobian();
118 std::optional<std::vector<std::unique_ptr<TrackParameters>>> &
getHoles(
void);
119 void setHoles(std::vector<std::unique_ptr<TrackParameters>> &&);
121 std::unique_ptr<const TrackStateOnSurface>
126 std::bitset<TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes>
m_tsType;
142 std::optional<std::vector<std::unique_ptr<TrackParameters>>>
m_holes;
145 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
157 return m_covariancematrix;
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
TrackState::MeasurementType m_mType
Measurement type, eg pixel, SCT, ...
const FitQualityOnSurface fitQuality(void)
std::unique_ptr< const TrackStateOnSurface > trackStateOnSurface() const
int numberOfMeasuredParameters()
void setStateType(TrackStateOnSurface::TrackStateOnSurfaceType type, bool value=true)
Set a specific type bit.
const MeasurementBase * measurement(void)
bool getStateType(TrackStateOnSurface::TrackStateOnSurfaceType type) const
Retrieve the value of a specific type bit.
GXFTrackState(GXFTrackState &&)=default
void setMeasuresPhi(bool)
void setPosition(Amg::Vector3D &)
TrackState::MeasurementType measurementType()
void setRecalibrated(bool)
void setMeasurementErrors(const double *)
FitQualityOnSurface m_fitqual
void resetStateType(TrackStateOnSurface::TrackStateOnSurfaceType type, bool value=true)
Set a specific type, wiping all others.
const TrackParameters * trackParameters(void) const
AmgSymMatrix(5) &GXFTrackState
double m_measerror[5]
Measurement errors (corrected for stereo angle)
const Surface & associatedSurface() const
Eigen::Matrix< double, 5, 5 > & jacobian()
std::optional< std::vector< std::unique_ptr< TrackParameters > > > m_holes
void setHoles(std::vector< std::unique_ptr< TrackParameters >> &&)
AmgSymMatrix(5) m_covariancematrix
Covariance matrix of track parameters at this surface.
void setTrackCovariance(AmgSymMatrix(5) *)
void setMeasurementType(TrackState::MeasurementType)
std::bitset< TrackStateOnSurface::NumberOfTrackStateOnSurfaceTypes > m_tsType
type of track state, eg Fittable, Outlier, Scatterer, Brem, Hole
MeasurementType
enum describing the flavour of MeasurementBase
void setMeasurement(std::unique_ptr< const MeasurementBase >)
AmgSymMatrix(5) &trackCovariance(void)
void setDerivatives(Amg::MatrixX &)
std::unique_ptr< const TrackParameters > m_trackpar
track parameters
class that is similar to MaterialEffectsOnTrack, but has 'set' methods for more flexibility during tr...
std::unique_ptr< GXFMaterialEffects > m_materialEffects
Material effects on track (ie scatterer, brem)
GXFTrackState & operator=(GXFTrackState &&)=default
std::unique_ptr< const MeasurementBase > m_measurement
The measurement defining the track state.
double * measurementErrors()
Ensure that the ATLAS eigen extensions are properly loaded.
bool m_recalib
Has this measurement already been recalibrated?
std::optional< std::vector< std::unique_ptr< TrackParameters > > > & getHoles(void)
Amg::MatrixX m_derivs
Derivatives of local parameters wrt fit parameters.
Eigen::Matrix< double, 3, 1 > Vector3D
void zeroTrackCovariance(void)
void resetTrackCovariance()
reset covariance to nullptr
void setTrackParameters(std::unique_ptr< const TrackParameters >)
void setFitQuality(FitQualityOnSurface)
bool hasTrackCovariance(void) const
Amg::MatrixX & derivatives()
GXFMaterialEffects * materialEffects()
Eigen::Matrix< double, 5, 5 > m_jacobian
Transport jacobian wrt previous state.
void setJacobian(TransportJacobian &)
double m_sinstereo
stereo angle
GXFTrackState & operator=(GXFTrackState &)=delete
GXFTrackState & operator=(const GXFTrackState &)=delete
void setSinStereo(double)