00001 00020 #ifndef __PZCONSTRAINT_H 00021 #define __PZCONSTRAINT_H 00022 00023 #include "jbltools/kinfit/ParticleConstraint.h" 00024 00025 class ParticleFitObject; 00026 00027 // Class PzConstraint: 00029 00035 class PzConstraint : public ParticleConstraint { 00036 public: 00037 PzConstraint (); 00038 virtual ~PzConstraint(); 00040 virtual double getValue() const = 0; 00041 00044 virtual void getDerivatives (int idim, 00045 double der[] 00046 ) const = 0; 00048 virtual void add1stDerivativesToMatrix (int idim, 00049 double *M 00050 ) const; 00052 virtual void add2ndDerivativesToMatrix (int idim, 00053 double *M, 00054 double lambda 00055 ) const; 00056 00057 protected: 00058 00059 }; 00060 00061 #endif // __PZCONSTRAINT_H