CMS 3D CMS Logo

FourMomentumKinematicConstraint.h
Go to the documentation of this file.
1 #ifndef FourMomentumKinematicConstraint_H
2 #define FourMomentumKinematicConstraint_H
3 
6 
18 {
19 
20 public:
21 
28  const AlgebraicVector& deviation);
29 
34 std::pair<AlgebraicVector,AlgebraicVector> value(const AlgebraicVector& exPoint) const override;
35 
36 std::pair<AlgebraicMatrix, AlgebraicVector> derivative(const AlgebraicVector& exPoint) const override;
37 
38 
43 std::pair<AlgebraicMatrix, AlgebraicVector> derivative(const std::vector<RefCountedKinematicParticle> &par) const override;
44 
45 std::pair<AlgebraicVector, AlgebraicVector> value(const std::vector<RefCountedKinematicParticle> &par) const override;
46 
47 
52 int numberOfEquations() const override;
53 
54 AlgebraicVector deviations(int nStates) const override;
55 
57  {return new FourMomentumKinematicConstraint(*this);}
58 
59 private:
60 
63 
64 };
65 #endif
std::pair< AlgebraicMatrix, AlgebraicVector > derivative(const AlgebraicVector &exPoint) const override
AlgebraicVector deviations(int nStates) const override
std::pair< AlgebraicVector, AlgebraicVector > value(const AlgebraicVector &exPoint) const override
CLHEP::HepVector AlgebraicVector
FourMomentumKinematicConstraint * clone() const override
FourMomentumKinematicConstraint(const AlgebraicVector &momentum, const AlgebraicVector &deviation)