CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/RecoVertex/KinematicFit/interface/MultiTrackPointingKinematicConstraint.h

Go to the documentation of this file.
00001 #ifndef MultiTrackPointingKinematicConstraint_H
00002 #define MultiTrackPointingKinematicConstraint_H
00003 
00004 #include "RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraint.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/KinematicState.h"
00006 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00007 
00019 //mother constructed from daughters. including propagation in field.
00020 
00021 class MultiTrackPointingKinematicConstraint : public MultiTrackKinematicConstraint
00022 {
00023 public:
00024         MultiTrackPointingKinematicConstraint(GlobalPoint& ref):refPoint(ref)
00025         {}
00026         
00032         virtual AlgebraicVector value(const std::vector<KinematicState> states, const GlobalPoint& point) const;
00033         
00039         virtual AlgebraicMatrix parametersDerivative(const std::vector<KinematicState> states, const GlobalPoint& point) const;
00040         
00046         virtual AlgebraicMatrix positionDerivative(const std::vector<KinematicState> states, const GlobalPoint& point) const;
00047         
00051         virtual int numberOfEquations() const;
00052         
00053         virtual MultiTrackPointingKinematicConstraint * clone()const
00054         {
00055                 return new MultiTrackPointingKinematicConstraint(*this);
00056         }
00057         
00058 private:
00059         GlobalPoint refPoint;
00060         
00061 };
00062 #endif