CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/RecoVertex/KinematicFit/interface/MultiTrackVertexLinkKinematicConstraint.h

Go to the documentation of this file.
00001 #ifndef MultiTrackVertexLinkKinematicConstraint_H
00002 #define MultiTrackVertexLinkKinematicConstraint_H
00003 
00004 #include "RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraint.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicState.h"
00006 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00007 
00015 //mother constructed from daughters. including propagation in field.
00016 
00017 class MultiTrackVertexLinkKinematicConstraint : public MultiTrackKinematicConstraint
00018 {
00019 public:
00020         MultiTrackVertexLinkKinematicConstraint(GlobalPoint& ref):refPoint(ref)
00021         {}
00022         
00028         virtual AlgebraicVector value(const std::vector<KinematicState> states, const GlobalPoint& point) const;
00029         
00035         virtual AlgebraicMatrix parametersDerivative(const std::vector<KinematicState> states, const GlobalPoint& point) const;
00036         
00042         virtual AlgebraicMatrix positionDerivative(const std::vector<KinematicState> states, const GlobalPoint& point) const;
00043         
00047         virtual int numberOfEquations() const;
00048         
00049         virtual MultiTrackVertexLinkKinematicConstraint * clone()const
00050         {
00051                 return new MultiTrackVertexLinkKinematicConstraint(*this);
00052         }
00053         
00054 private:
00055         GlobalPoint refPoint;
00056         
00057 };
00058 #endif