|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef TRKPARAMETERSBASE_PARAMETERSBASE_H
10 #define TRKPARAMETERSBASE_PARAMETERSBASE_H
15 #include <type_traits>
25 template<
class SURFACE_CNV,
class ATA_SURFACE>
30 class MaterialEffectsEngine;
53 template<
int DIM,
class T>
98 return std::unique_ptr<ParametersBase<DIM, T>>(this->
clone());
109 virtual MsgStream&
dump(MsgStream&
out)
const;
110 virtual std::ostream&
dump(std::ostream&
out)
const;
131 std::optional<
AmgSymMatrix(DIM)>&& covariance = std::nullopt);
156 #include "TrkParametersBase/ParametersBase.icc"
const AmgVector(DIM) ¶meters() const
Access methods for the parameters.
virtual bool operator==(const ParametersBase< DIM, T > &) const
equality operator
std::optional< AmgSymMatrix(DIM)> m_covariance
charge definition for this track
double charge() const
Returns the charge.
const Amg::Vector3D & position() const
Access method for the position.
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
std::unique_ptr< ParametersBase< DIM, T > > uniqueClone() const
clone method for polymorphic deep copy returning unique_ptr; it is not overriden, but uses the existi...
virtual std::ostream & dump(std::ostream &out) const
New convertor which handles all track parameters in one go - i.e.
constexpr virtual SurfaceType surfaceType() const override=0
Returns the Surface Type enum for the surface used to define the derived class.
const AmgSymMatrix(DIM) *covariance() const
Access method for the covariance matrix - returns nullptr if no covariance matrix is given.
bool const RAWDATA *ch2 const
T m_chargeDef
charge definition for this track
virtual Amg::RotationMatrix3D measurementFrame() const override=0
Return the measurement frame - this is needed for alignment, in particular for StraightLine and Perig...
virtual bool hasSurface() const override=0
Test to see if there's a not null surface ptr.
virtual MsgStream & dump(MsgStream &out) const
Dumps relevant information about the track parameters into the ostream.
Amg::Vector3D m_position
point on track
constexpr virtual ParametersType type() const override=0
Return the ParametersType enum.
Ensure that the ATLAS eigen extensions are properly loaded.
double pT() const
Access method for transverse momentum.
Definition of ATLAS Math & Geometry primitives (Amg)
virtual ~ParametersBase()=default
virtual Destructor
Eigen::Matrix< double, 3, 1 > Vector3D
const Amg::Vector3D & momentum() const
Access method for the momentum.
virtual void updateParametersHelper(const AmgVector(DIM) &) override=0
contains the n parameters
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
ParametersBase(ParametersBase &&) noexcept=default
Amg::Vector3D m_momentum
momentum at this point on track
double eta() const
Access method for pseudorapidity - from momentum.
virtual ParametersBase< DIM, T > * clone() const override=0
clone method for polymorphic deep copy