9 #ifndef __TrackConstraint_H
10 #define __TrackConstraint_H
65 virtual void setFOList(std::vector <TrackFitObject*> *fitobjects_
67 for (
int i = 0; i < (int) fitobjects_->size(); i++) {
70 sign.push_back (i == 0 ? 1 : -1);
74 virtual void addToFOList(TrackFitObject& fitobject,
int flag = 1
77 flags.push_back (flag);
78 sign.push_back (sign.size() == 0 ? 1 : -1);
127 std::vector <double> sign;
138 #endif // __TrackConstraint_H
virtual void getDerivatives(int idim, double der[]) const =0
Get first order derivatives.
Abstract base class for constraints of kinematic fits.
Definition: TrackConstraint.h:57
virtual void add1stDerivativesToMatrix(double *M, int idim) const
Adds first order derivatives to global covariance matrix M.
Definition: TrackConstraint.h:87
Declares class BaseConstraint.
FitObjectContainer fitobjects
The FitObjectContainer.
Definition: TrackConstraint.h:121
virtual int getGlobalNum() const
Accesses position of constraint in global constraint list.
Definition: TrackConstraint.h:106
virtual ~TrackConstraint()
Virtual destructor.
Definition: TrackConstraint.h:62
std::vector< int > flags
The flags can be used to divide the FitObjectContainer into several subsets used for example to imple...
Definition: TrackConstraint.h:126
virtual double getValue() const =0
Returns the value of the constraint.
virtual void add2ndDerivativesToMatrix(double *M, int idim, double lambda) const
Adds second order derivatives to global covariance matrix M.
Definition: TrackConstraint.h:92
std::vector< TrackFitObject * > FitObjectContainer
Vector of pointers to TrackFitObjects.
Definition: TrackConstraint.h:111
virtual void addToFOList(TrackFitObject &fitobject, int flag=1)
Adds one TrackFitObject objects to the list.
Definition: TrackConstraint.h:74
int globalNum
Position of constraint in global constraint list.
Definition: TrackConstraint.h:130
virtual void invalidateCache() const
Invalidates any cached values for the next event.
Definition: TrackConstraint.h:111
TrackConstraint()
Creates an empty TrackConstraint object.
Definition: TrackConstraint.h:134
virtual void addToGlobalChi2DerVector(double *y, int idim, double lambda) const
Add lambda times derivatives of chi squared to global derivative matrix.
Definition: TrackConstraint.h:99
FitObjectContainer::const_iterator ConstFitObjectIterator
Constant iterator through vector of pointers to TrackFitObjects.
Definition: TrackConstraint.h:119
virtual void setGlobalNum(int iglobal)
Sets position of constraint in global constraint list.
Definition: TrackConstraint.h:108
Abstract base class for constraints of kinematic fits.
Definition: BaseConstraint.h:85
FitObjectContainer::iterator FitObjectIterator
Iterator through vector of pointers to TrackFitObjects.
Definition: TrackConstraint.h:117
virtual void setFOList(std::vector< TrackFitObject * > *fitobjects_)
Adds several TrackFitObject objects to the list.
Definition: TrackConstraint.h:65
std::vector< double > derivatives
The derivatives.
Definition: TrackConstraint.h:123