00001 #ifndef VertexKinematicConstraint_H 00002 #define VertexKinematicConstraint_H 00003 00004 #include "RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraint.h" 00005 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h" 00006 00014 class VertexKinematicConstraint:public MultiTrackKinematicConstraint 00015 { 00016 public: 00017 00018 VertexKinematicConstraint(); 00019 00020 virtual ~VertexKinematicConstraint(); 00021 00027 virtual AlgebraicVector value(const std::vector<KinematicState> states, 00028 const GlobalPoint& point) const; 00029 00035 virtual AlgebraicMatrix parametersDerivative(const std::vector<KinematicState> states, 00036 const GlobalPoint& point) const; 00037 00043 virtual AlgebraicMatrix positionDerivative(const std::vector<KinematicState> states, 00044 const GlobalPoint& point) const; 00048 virtual int numberOfEquations() const; 00049 00050 virtual VertexKinematicConstraint * clone()const 00051 {return new VertexKinematicConstraint(*this);} 00052 00053 00054 private: 00055 00056 }; 00057 #endif