MarlinTPC  1.2.0
TrackFitterFactory.h
1 #ifndef TRACK_FITTER_FACTORY_H
2 #define TRACK_FITTER_FACTORY_H
3 #include <EVENT/LCParameters.h>
4 #include <Exceptions.h>
5 #include <map>
6 
7 namespace EVENT
8 {
9 class LCRunHeader;
10 class LCEvent;
11 }
12 
13 namespace marlintpc
14 {
15 
16 class TrackFitterBase;
17 
39 {
40  public:
41 
55  static TrackFitterBase * getTrackFitter(unsigned char fitterType,
56  EVENT::LCParameters const * collectionParameters,
57  EVENT::LCEvent const * event = 0);
58 
59 
63  class FitterTypeException : public EVENT::Exception
64  {
65  public:
66  FitterTypeException(std::string const & initString);
67  };
68 
69  private:
72 
74  // (default copy copystructor is public).
76 };
77 
78 
79 } // namespace marlintpc
80 
81 #endif // TRACK_FITTER_FACTORY_H
The TrackFitterFactory is an interface to handle track fitters.
Definition: TrackFitterFactory.h:38
Define a new exception class for unkonwn fitter types.
Definition: TrackFitterFactory.h:63
static TrackFitterBase * getTrackFitter(unsigned char fitterType, EVENT::LCParameters const *collectionParameters, EVENT::LCEvent const *event=0)
Get a track fitter and reinitialise its parameters.
Definition: TrackFitterFactory.cc:23
The TrackFitterBase is a virtual class from which the actual track fitters are derived.
Definition: TrackFitterBase.h:44