ATLAS Offline Software
Loading...
Searching...
No Matches
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
13namespace Trk {
25
27{
28public:
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
77private:
79 double m_mass = 0.;
81 static constexpr int s_eqno = 1;
82};
83}
84
85#endif // TrkVertexKinematicFitterUtils_MassConstraint_h
double mass()
tells the mass value used for the constraint
virtual ~MassConstraint()=default
MassConstraint()=default
empty constructor
static constexpr int s_eqno
number of constraint-equations used by this type of constraint
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.
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.
virtual int numberOfEquations() const override final
tells the number of equations needed for this type of constraint, that is 1
double m_mass
value of mass to be constrained in MeV
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 3, 1 > Vector3D
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
Ensure that the ATLAS eigen extensions are properly loaded.