MarlinKinfit  0.4.0
SoftBWMassConstraint.h
Go to the documentation of this file.
1 
17 #ifdef MARLIN_USE_ROOT
18 
19 #ifndef __SOFTBWMASSCONSTRAINT_H
20 #define __SOFTBWMASSCONSTRAINT_H
21 
23 
24 #include <limits>
25 
26 class ParticleFitObject;
27 
28 // Class SoftBWMassConstraint:
30 
42 class SoftBWMassConstraint : public SoftBWParticleConstraint {
43  public:
44 
46  SoftBWMassConstraint (double gamma_,
47  double mass_ = 0.,
48  double massmin_ = -std::numeric_limits<double>::infinity(),
49  double massmax_ = std::numeric_limits<double>::infinity()
50  );
52  virtual ~SoftBWMassConstraint();
53 
55  virtual double getValue() const;
56 
59  virtual void getDerivatives(int idim,
60  double der[]
61  ) const;
62 
64  virtual double getMass (int flag = 1
65  );
66 
68  virtual void setMass (double mass_
69  );
70 
71 
72  protected:
73  double mass;
74 
75 
77  virtual bool secondDerivatives (int i,
78  int j,
79  double *derivatives
80  ) const;
82  virtual bool firstDerivatives (int i,
83  double *derivatives
84  ) const;
85 };
86 
87 #endif // __SOFTBWMASSCONSTRAINT_H
88 
89 #endif // MARLIN_USE_ROOT
Declares class SoftBWParticleConstraint.
Abstract base class for particle objects of kinematic fits.
Definition: ParticleFitObject.h:63