00001
00002 #ifndef TRACKINTERFACES_IMEASUREMENTPROVIDER_H
00003 #define TRACKINTERFACES_IMEASUREMENTPROVIDER_H 1
00004
00005
00006
00007
00008 #include "GaudiKernel/IAlgTool.h"
00009
00010 class Track;
00011 class Measurement;
00012 class LHCbID;
00013
00014 static const InterfaceID IID_IMeasurementProvider ( "IMeasurementProvider", 1, 0 );
00015
00024 class IMeasurementProvider : virtual public IAlgTool {
00025 public:
00026
00027
00028 static const InterfaceID& interfaceID() { return IID_IMeasurementProvider; }
00029
00030 virtual StatusCode initialize() = 0;
00031
00032 virtual void load() = 0;
00033
00034 virtual StatusCode load( Track& track ) = 0;
00035
00036 virtual Measurement& measurement( const LHCbID&,
00037 double par0 = 999.,
00038 double par1 = 999.) = 0;
00039
00040 protected:
00041
00042 private:
00043
00044 };
00045 #endif // TRACKINTERFACES_IMEASUREMENTPROVIDER_H