CMS 3D CMS Logo

MultipleKinematicConstraint.h
Go to the documentation of this file.
1 #ifndef MultipleKinematicConstraint_H
2 #define MultipleKinematicConstraint_H
3 
7 
16 public:
18 
23  std::pair<AlgebraicVector, AlgebraicVector> value(const AlgebraicVector &exPoint) const override;
24 
25  std::pair<AlgebraicMatrix, AlgebraicVector> derivative(const AlgebraicVector &exPoint) const override;
26 
32  std::pair<AlgebraicVector, AlgebraicVector> value(const std::vector<RefCountedKinematicParticle> &par) const override;
33 
34  std::pair<AlgebraicMatrix, AlgebraicVector> derivative(
35  const std::vector<RefCountedKinematicParticle> &par) const override;
36 
37  int numberOfEquations() const override;
38 
43  void addConstraint(KinematicConstraint *newConst) const;
44 
45  AlgebraicVector deviations(int nStates) const override;
46 
47  bool isEmpty() const { return em; }
48 
49  MultipleKinematicConstraint *clone() const override { return new MultipleKinematicConstraint(*this); }
50 
51 private:
52  mutable std::vector<KinematicConstraint *> cts;
53 
54  mutable bool em;
55 };
56 #endif
KinematicConstraint.h
MultipleKinematicConstraint::addConstraint
void addConstraint(KinematicConstraint *newConst) const
Definition: MultipleKinematicConstraint.cc:3
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
KinematicConstraint
Definition: KinematicConstraint.h:21
MultipleKinematicConstraint::MultipleKinematicConstraint
MultipleKinematicConstraint()
Definition: MultipleKinematicConstraint.h:17
MultipleKinematicConstraint::numberOfEquations
int numberOfEquations() const override
Definition: MultipleKinematicConstraint.cc:73
MultipleKinematicConstraint::em
bool em
Definition: MultipleKinematicConstraint.h:54
MultipleKinematicConstraint::derivative
std::pair< AlgebraicMatrix, AlgebraicVector > derivative(const AlgebraicVector &exPoint) const override
Definition: MultipleKinematicConstraint.cc:42
MultipleKinematicConstraint::clone
MultipleKinematicConstraint * clone() const override
Definition: MultipleKinematicConstraint.h:49
MultipleKinematicConstraint::value
std::pair< AlgebraicVector, AlgebraicVector > value(const AlgebraicVector &exPoint) const override
Definition: MultipleKinematicConstraint.cc:10
MultipleKinematicConstraint
Definition: MultipleKinematicConstraint.h:15
RefCountedKinematicVertex.h
MultipleKinematicConstraint::cts
std::vector< KinematicConstraint * > cts
Definition: MultipleKinematicConstraint.h:52
MultipleKinematicConstraint::deviations
AlgebraicVector deviations(int nStates) const override
Definition: MultipleKinematicConstraint.cc:149
MultipleKinematicConstraint::isEmpty
bool isEmpty() const
Definition: MultipleKinematicConstraint.h:47
RefCountedKinematicParticle.h