CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/RecoVertex/KinematicFitPrimitives/interface/MultiTrackKinematicConstraint.h

Go to the documentation of this file.
00001 #ifndef MultiTrackKinematicConstraint_H
00002 #define MultiTrackKinematicConstraint_H
00003 
00004 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h"
00005 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicVertex.h"
00006 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
00007 
00008 
00024 class MultiTrackKinematicConstraint
00025 {
00026 public:
00027 
00032 MultiTrackKinematicConstraint() {}
00033 
00034 virtual ~MultiTrackKinematicConstraint() {}
00035 
00044 virtual AlgebraicVector  value(const std::vector<KinematicState>,
00045                                const GlobalPoint& ) const = 0; 
00046 
00047 virtual AlgebraicMatrix parametersDerivative(const std::vector<KinematicState>,
00048                                              const GlobalPoint& ) const = 0;
00049 
00050 
00051 virtual AlgebraicMatrix positionDerivative(const std::vector<KinematicState>,
00052                                            const GlobalPoint& ) const = 0;
00053                                     
00054 virtual int numberOfEquations() const = 0;
00055 
00056 virtual MultiTrackKinematicConstraint * clone() const = 0;
00057 
00058 };
00059 
00060 
00061 #endif