CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
MultiTrackKinematicConstraintT< NTRK, DIM > Class Template Referenceabstract

#include <MultiTrackKinematicConstraintT.h>

Inheritance diagram for MultiTrackKinematicConstraintT< NTRK, DIM >:
MultiTrackKinematicConstraintBaseT

Public Types

enum  { nTrk = NTRK, nDim = DIM }
 
typedef ROOT::Math::SMatrix< double, DIM, 7 *NTRK > parametersDerivativeType
 
typedef ROOT::Math::SMatrix< double, DIM, 3 > positionDerivativeType
 
typedef MultiTrackKinematicConstraintT< NTRK, DIMself
 
typedef ROOT::Math::SVector< double, DIMvalueType
 

Public Member Functions

parametersDerivativeType const & parametersDerivative () const
 
positionDerivativeType const & positionDerivative () const
 
valueType const & value () const
 
 ~MultiTrackKinematicConstraintT () override
 
- Public Member Functions inherited from MultiTrackKinematicConstraintBaseT
virtual MultiTrackKinematicConstraintBaseTclone () const =0
 
virtual void init (const std::vector< KinematicState > &states, const GlobalPoint &point, const GlobalVector &mf)=0
 
virtual int numberOfEquations () const =0
 
virtual ~MultiTrackKinematicConstraintBaseT ()
 

Protected Member Functions

parametersDerivativeTypejac_d () const
 
double & jac_d (size_t i, size_t j) const
 
positionDerivativeTypejac_e () const
 
double & jac_e (size_t i, size_t j) const
 
valueTypevl () const
 
double & vl (size_t i) const
 

Private Member Functions

virtual void fillParametersDerivative () const =0
 
virtual void fillPositionDerivative () const =0
 
virtual void fillValue () const =0
 

Private Attributes

parametersDerivativeType m_jac_d
 
positionDerivativeType m_jac_e
 
valueType m_vl
 

Detailed Description

template<int NTRK, int DIM>
class MultiTrackKinematicConstraintT< NTRK, DIM >

Definition at line 39 of file MultiTrackKinematicConstraintT.h.

Member Typedef Documentation

◆ parametersDerivativeType

template<int NTRK, int DIM>
typedef ROOT::Math::SMatrix<double, DIM, 7 * NTRK> MultiTrackKinematicConstraintT< NTRK, DIM >::parametersDerivativeType

Definition at line 47 of file MultiTrackKinematicConstraintT.h.

◆ positionDerivativeType

template<int NTRK, int DIM>
typedef ROOT::Math::SMatrix<double, DIM, 3> MultiTrackKinematicConstraintT< NTRK, DIM >::positionDerivativeType

Definition at line 49 of file MultiTrackKinematicConstraintT.h.

◆ self

template<int NTRK, int DIM>
typedef MultiTrackKinematicConstraintT<NTRK, DIM> MultiTrackKinematicConstraintT< NTRK, DIM >::self

Definition at line 43 of file MultiTrackKinematicConstraintT.h.

◆ valueType

template<int NTRK, int DIM>
typedef ROOT::Math::SVector<double, DIM> MultiTrackKinematicConstraintT< NTRK, DIM >::valueType

Definition at line 45 of file MultiTrackKinematicConstraintT.h.

Member Enumeration Documentation

◆ anonymous enum

template<int NTRK, int DIM>
anonymous enum

Constructor & Destructor Documentation

◆ ~MultiTrackKinematicConstraintT()

template<int NTRK, int DIM>
MultiTrackKinematicConstraintT< NTRK, DIM >::~MultiTrackKinematicConstraintT ( )
inlineoverride

Definition at line 51 of file MultiTrackKinematicConstraintT.h.

51 {}

Member Function Documentation

◆ fillParametersDerivative()

template<int NTRK, int DIM>
virtual void MultiTrackKinematicConstraintT< NTRK, DIM >::fillParametersDerivative ( ) const
privatepure virtual

◆ fillPositionDerivative()

template<int NTRK, int DIM>
virtual void MultiTrackKinematicConstraintT< NTRK, DIM >::fillPositionDerivative ( ) const
privatepure virtual

◆ fillValue()

template<int NTRK, int DIM>
virtual void MultiTrackKinematicConstraintT< NTRK, DIM >::fillValue ( ) const
privatepure virtual

Methods making vector of values and derivative matrices with respect to vertex position and particle parameters. Input paramters are put into one vector: (Vertex position, particle_parameters_1,..., particle_parameters_n)

Implemented in ColinearityKinematicConstraintT< Dim >, and VertexKinematicConstraintT.

Referenced by MultiTrackKinematicConstraintT< 2, 4 >::value().

◆ jac_d() [1/2]

template<int NTRK, int DIM>
parametersDerivativeType& MultiTrackKinematicConstraintT< NTRK, DIM >::jac_d ( ) const
inlineprotected

Definition at line 93 of file MultiTrackKinematicConstraintT.h.

93 { return m_jac_d; }

◆ jac_d() [2/2]

template<int NTRK, int DIM>
double& MultiTrackKinematicConstraintT< NTRK, DIM >::jac_d ( size_t  i,
size_t  j 
) const
inlineprotected

Definition at line 99 of file MultiTrackKinematicConstraintT.h.

◆ jac_e() [1/2]

template<int NTRK, int DIM>
positionDerivativeType& MultiTrackKinematicConstraintT< NTRK, DIM >::jac_e ( ) const
inlineprotected

Definition at line 94 of file MultiTrackKinematicConstraintT.h.

94 { return m_jac_e; }

◆ jac_e() [2/2]

template<int NTRK, int DIM>
double& MultiTrackKinematicConstraintT< NTRK, DIM >::jac_e ( size_t  i,
size_t  j 
) const
inlineprotected

Definition at line 100 of file MultiTrackKinematicConstraintT.h.

◆ parametersDerivative()

template<int NTRK, int DIM>
parametersDerivativeType const& MultiTrackKinematicConstraintT< NTRK, DIM >::parametersDerivative ( ) const
inline

Definition at line 66 of file MultiTrackKinematicConstraintT.h.

66  {
68  return m_jac_d;
69  };
virtual void fillParametersDerivative() const =0

◆ positionDerivative()

template<int NTRK, int DIM>
positionDerivativeType const& MultiTrackKinematicConstraintT< NTRK, DIM >::positionDerivative ( ) const
inline

Definition at line 71 of file MultiTrackKinematicConstraintT.h.

71  {
73  return m_jac_e;
74  }
virtual void fillPositionDerivative() const =0

◆ value()

template<int NTRK, int DIM>
valueType const& MultiTrackKinematicConstraintT< NTRK, DIM >::value ( void  ) const
inline

Methods returning vector of values and derivative matrices with respect to vertex position and particle parameters. Input paramters are put into one vector: (Vertex position, particle_parameters_1,..., particle_parameters_n)

Definition at line 61 of file MultiTrackKinematicConstraintT.h.

61  {
62  fillValue();
63  return m_vl;
64  }
virtual void fillValue() const =0

◆ vl() [1/2]

template<int NTRK, int DIM>
valueType& MultiTrackKinematicConstraintT< NTRK, DIM >::vl ( ) const
inlineprotected

Definition at line 92 of file MultiTrackKinematicConstraintT.h.

◆ vl() [2/2]

template<int NTRK, int DIM>
double& MultiTrackKinematicConstraintT< NTRK, DIM >::vl ( size_t  i) const
inlineprotected

Member Data Documentation

◆ m_jac_d

template<int NTRK, int DIM>
parametersDerivativeType MultiTrackKinematicConstraintT< NTRK, DIM >::m_jac_d
mutableprivate

◆ m_jac_e

template<int NTRK, int DIM>
positionDerivativeType MultiTrackKinematicConstraintT< NTRK, DIM >::m_jac_e
mutableprivate

◆ m_vl

template<int NTRK, int DIM>
valueType MultiTrackKinematicConstraintT< NTRK, DIM >::m_vl
mutableprivate