ATLAS Offline Software
MassConstraint.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TrkVertexKinematicFitterUtils_MassConstraint_h
6 #define TrkVertexKinematicFitterUtils_MassConstraint_h
7 
8 // This object defines a MASS constraint to be used with the constrained vertex
9 // fitter
10 
12 
13 namespace Trk {
27 {
28 public:
30  MassConstraint() = default;
31 
36  MassConstraint(double mass);
37 
38  virtual ~MassConstraint() = default;
39 
50  std::vector<Amg::VectorX>& cart_coordList,
51  std::vector<int>& charges,
52  Amg::Vector3D refPoint,
53  double b_fieldTesla) const override final;
54 
65  std::vector<Amg::VectorX>& cart_coordList,
66  std::vector<int>& charges,
67  Amg::Vector3D refPoint,
68  double b_fieldTesla) const override final;
69 
72  virtual int numberOfEquations() const override final { return s_eqno; }
73 
75  double mass() { return m_mass; }
76 
77 private:
79  double m_mass = 0.;
81  static constexpr int s_eqno = 1;
82 };
83 }
84 
85 #endif // TrkVertexKinematicFitterUtils_MassConstraint_h
Trk::MassConstraint::numberOfEquations
virtual int numberOfEquations() const override final
tells the number of equations needed for this type of constraint, that is 1
Definition: MassConstraint.h:72
Amg::VectorX
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
Definition: EventPrimitives.h:32
Amg::MatrixX
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Definition: EventPrimitives.h:29
Trk::MassConstraint::s_eqno
static constexpr int s_eqno
number of constraint-equations used by this type of constraint
Definition: MassConstraint.h:81
Trk::IKinematicConstraint
Definition: IKinematicConstraint.h:31
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Trk::MassConstraint::MassConstraint
MassConstraint()=default
empty constructor
Trk::MassConstraint
Concrete implementation of Trk::IKinematicConstraint to formulate a mass constraint in kinematic vert...
Definition: MassConstraint.h:27
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::MassConstraint::~MassConstraint
virtual ~MassConstraint()=default
Trk::MassConstraint::matrixOfDerivatives
virtual Amg::MatrixX matrixOfDerivatives(std::vector< Amg::VectorX > &cart_coordList, std::vector< int > &charges, Amg::Vector3D refPoint, double b_fieldTesla) const override final
method returning the matrix of derivatives.
Definition: MassConstraint.cxx:60
Trk::MassConstraint::vectorOfValues
virtual Amg::VectorX vectorOfValues(std::vector< Amg::VectorX > &cart_coordList, std::vector< int > &charges, Amg::Vector3D refPoint, double b_fieldTesla) const override final
method returning the vector of parameters values.
Definition: MassConstraint.cxx:17
IKinematicConstraint.h
Trk::MassConstraint::m_mass
double m_mass
value of mass to be constrained in MeV
Definition: MassConstraint.h:79
Trk::MassConstraint::mass
double mass()
tells the mass value used for the constraint
Definition: MassConstraint.h:75