00001
00002 #ifndef TRACKINTERFACES_ITRACKFITTER_H
00003 #define TRACKINTERFACES_ITRACKFITTER_H 1
00004
00005
00006
00007 #include <string>
00008
00009
00010 #include "GaudiKernel/IAlgTool.h"
00011
00012 class Track;
00013 class State;
00014 class Measurement;
00015
00016 static const InterfaceID IID_ITrackFitter ( "ITrackFitter", 1, 0 );
00017
00027 class ITrackFitter : virtual public IAlgTool {
00028 public:
00029
00030
00031 static const InterfaceID& interfaceID() { return IID_ITrackFitter; }
00032
00034 virtual StatusCode fit(Track& track) = 0;
00035
00037 virtual StatusCode fit(Track& track, const State& seed) = 0;
00038
00040 virtual StatusCode filter(Track& track, const State& seed) = 0;
00041
00043 virtual StatusCode filter(State& state, Measurement& meas) = 0;
00044
00045 };
00046 #endif // TRACKINTERFACES_ITRACKFITTER_H