ATLAS Offline Software
Loading...
Searching...
No Matches
CollinearityConstraint.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_CollinearityConstraint_h
6#define TrkVertexKinematicFitterUtils_CollinearityConstraint_h
7
8// This object defines a Collinearity constraint to be used with the constrained kinematic vertex fitter
9// It minimizes the angles between the tracks (phi in the x-y plane and theta in the z-plane) using scalar products
10
12
13namespace Trk {
15{
16public:
17
18
20 virtual ~CollinearityConstraint() = default;
21
23 std::vector<Amg::VectorX>& cart_coordList,
24 std::vector<int>& charges,
25 Amg::Vector3D refPoint,
26 double b_fieldTesla) const override final;
27
29 std::vector<Amg::VectorX>& cart_coordList,
30 std::vector<int>& charges,
31 Amg::Vector3D refPoint,
32 double b_fieldTesla) const override final;
33
34 virtual int numberOfEquations() const override final { return s_eqno; }
35
36private:
37 static constexpr int s_eqno = 2; // number of constraint-equations used
38};
39}
40
41#endif //TrkVertexKinematicFitterUtils_CollinearityConstraint_h
virtual Amg::MatrixX matrixOfDerivatives(std::vector< Amg::VectorX > &cart_coordList, std::vector< int > &charges, Amg::Vector3D refPoint, double b_fieldTesla) const override final
virtual Amg::VectorX vectorOfValues(std::vector< Amg::VectorX > &cart_coordList, std::vector< int > &charges, Amg::Vector3D refPoint, double b_fieldTesla) const override final
virtual int numberOfEquations() const override final
virtual ~CollinearityConstraint()=default
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.