1 #ifndef MultiTrackKinematicConstraintT_H 2 #define MultiTrackKinematicConstraintT_H 33 virtual void init(
const std::vector<KinematicState>& states,
43 template<
int NTRK,
int DIM>
47 enum {nTrk=NTRK, nDim=
DIM};
70 valueType
const &
value()
const {
76 fillParametersDerivative();
82 fillPositionDerivative();
95 virtual void fillValue()
const = 0;
97 virtual void fillParametersDerivative()
const = 0;
100 virtual void fillPositionDerivative()
const = 0;
104 valueType &
vl()
const {
return m_vl; }
105 parametersDerivativeType &
jac_d()
const {
return m_jac_d;}
106 positionDerivativeType &
jac_e()
const {
return m_jac_e;}
110 double &
vl(
size_t i)
const {
return m_vl(i);}
111 double &
jac_d(
size_t i,
size_t j)
const {
return m_jac_d(i,j);}
112 double &
jac_e(
size_t i,
size_t j)
const {
return m_jac_e(i,j);}
ROOT::Math::SMatrix< double, DIM, 3 > positionDerivativeType
virtual ~MultiTrackKinematicConstraintBaseT()
double & jac_d(size_t i, size_t j) const
ROOT::Math::SMatrix< double, DIM, 7 *NTRK > parametersDerivativeType
double & vl(size_t i) const
virtual MultiTrackKinematicConstraintBaseT * clone() const =0
positionDerivativeType & jac_e() const
double & jac_e(size_t i, size_t j) const
parametersDerivativeType & jac_d() const
ROOT::Math::SVector< double, DIM > valueType
parametersDerivativeType const & parametersDerivative() const
positionDerivativeType const & positionDerivative() const
positionDerivativeType m_jac_e
virtual ~MultiTrackKinematicConstraintT()
virtual int numberOfEquations() const =0
virtual void init(const std::vector< KinematicState > &states, const GlobalPoint &point, const GlobalVector &mf)=0
parametersDerivativeType m_jac_d
valueType const & value() const
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point