File indexing completed on 2023-10-25 10:03:23
0001 #ifndef MultiTrackKinematicConstraint_H
0002 #define MultiTrackKinematicConstraint_H
0003
0004 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicParticle.h"
0005 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicVertex.h"
0006 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 class MultiTrackKinematicConstraint {
0024 public:
0025
0026
0027
0028
0029 MultiTrackKinematicConstraint() {}
0030
0031 virtual ~MultiTrackKinematicConstraint() {}
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041 virtual AlgebraicVector value(const std::vector<KinematicState>&, const GlobalPoint&) const = 0;
0042
0043 virtual AlgebraicMatrix parametersDerivative(const std::vector<KinematicState>&, const GlobalPoint&) const = 0;
0044
0045 virtual AlgebraicMatrix positionDerivative(const std::vector<KinematicState>&, const GlobalPoint&) const = 0;
0046
0047 virtual int numberOfEquations() const = 0;
0048
0049 virtual MultiTrackKinematicConstraint* clone() const = 0;
0050 };
0051
0052 #endif