MarlinKinfit  0.4.0
BaseConstraint.h
Go to the documentation of this file.
1 
39 #ifndef __BASECONSTRAINT_H
40 #define __BASECONSTRAINT_H
41 
42 #include <iostream>
43 
44 class BaseFitObject;
45 
46 // Class BaseConstraint:
48 
86  public:
89 
91  BaseConstraint (const BaseConstraint& rhs
92  );
95  );
96 
98  virtual ~BaseConstraint();
99 
101  virtual double getValue() const = 0;
102 
104  virtual double getError() const;
105 
107  virtual const char*getName() const;
109  virtual void setName (const char * name_);
110 
113  virtual void getDerivatives (int idim,
114  double der[]
115  ) const = 0;
116 
118  virtual std::ostream& print (std::ostream& os
119  ) const;
120 
121  protected:
122  char *name;
123 };
124 
128 inline std::ostream& operator<< (std::ostream& os,
129  const BaseConstraint& bc
130  ) {
131  return bc.print(os);
132 }
133 
134 
135 #endif // __BASECONSTRAINT_H
std::ostream & operator<<(std::ostream &os, const BaseConstraint &bc)
Prints out a BaseConstraint, using its print method.
Definition: BaseConstraint.h:128
virtual void getDerivatives(int idim, double der[]) const =0
Get first order derivatives of the constraint function Call this with a predefined array "der" with t...
BaseConstraint & operator=(const BaseConstraint &rhs)
Assignment.
Definition: BaseConstraint.cc:31
virtual std::ostream & print(std::ostream &os) const
print object to ostream
Definition: BaseConstraint.cc:63
virtual double getError() const
Returns the error on the value of the constraint.
Definition: BaseConstraint.cc:58
BaseConstraint()
Creates an empty BaseConstraint object.
Definition: BaseConstraint.cc:19
virtual double getValue() const =0
Returns the value of the constraint function.
virtual ~BaseConstraint()
Virtual destructor.
Definition: BaseConstraint.cc:40
Abstract base class for constraints of kinematic fits.
Definition: BaseConstraint.h:85
virtual const char * getName() const
Returns the name of the constraint.
Definition: BaseConstraint.cc:46
virtual void setName(const char *name_)
Set object's name.
Definition: BaseConstraint.cc:50
Abstract base class for particle objects of kinematic fits.
Definition: BaseFitObject.h:110