MarlinKinfit  0.4.0
BaseTracer.h
Go to the documentation of this file.
1 
16 #ifndef __BASETRACER_H
17 #define __BASETRACER_H
18 
19 #include <vector>
20 
21 class BaseFitter;
22 class BaseFitObject;
23 class BaseConstraint;
24 class BaseHardConstraint;
25 class BaseSoftConstraint;
26 
27 // Class BaseTracer
29 
45 class BaseTracer {
46  public:
47  BaseTracer();
48 
49  virtual ~BaseTracer();
50 
52  virtual void initialize (BaseFitter& fitter);
53 
55  virtual void step (BaseFitter& fitter);
56 
58  virtual void substep (BaseFitter& fitter,
59  int flag
60  );
61 
63  virtual void finish (BaseFitter& fitter);
64 
65  virtual void setNextTracer (BaseTracer *next_);
66  virtual void setNextTracer (BaseTracer& next_);
67  virtual BaseTracer *getNextTracer ();
68 
69  protected:
70 
71  typedef std::vector <BaseFitObject *> FitObjectContainer;
72  typedef std::vector <BaseHardConstraint *> ConstraintContainer;
73  typedef std::vector <BaseSoftConstraint *> SoftConstraintContainer;
74 
75  typedef FitObjectContainer::iterator FitObjectIterator;
76  typedef ConstraintContainer::iterator ConstraintIterator;
77  typedef SoftConstraintContainer::iterator SoftConstraintIterator;
78 
79  BaseTracer *next;
80 };
81 
82 #endif // __BASETRACER_H
Abstract base class for fitting engines of kinematic fits.
Definition: BaseFitter.h:63
virtual void substep(BaseFitter &fitter, int flag)
Called at intermediate points during a step.
Definition: BaseTracer.cc:30
virtual void step(BaseFitter &fitter)
Called at the end of each step.
Definition: BaseTracer.cc:26
virtual void initialize(BaseFitter &fitter)
Called at the start of a new fit (during initialization)
Definition: BaseTracer.cc:22
Abstract base class for constraints of kinematic fits.
Definition: BaseHardConstraint.h:69
Abstract base class for soft constraints of kinematic fits.
Definition: BaseSoftConstraint.h:64
Abstract base class for constraints of kinematic fits.
Definition: BaseConstraint.h:85
virtual void finish(BaseFitter &fitter)
Called at the end of a fit.
Definition: BaseTracer.cc:34
Abstract base class for particle objects of kinematic fits.
Definition: BaseFitObject.h:110
Abstract base class for trace objects of kinematic fits.
Definition: BaseTracer.h:45