00001 #ifndef IDEDXCORRECSVC_H_
00002 #define IDEDXCORRECSVC_H_
00003
00004 #include "GaudiKernel/IInterface.h"
00005 #include "GaudiKernel/Kernel.h"
00006 #include "DedxCorrecSvc/Dedx_Helix.h"
00007
00008 static const InterfaceID IID_IDedxCorrecSvc("IDedxCorrecSvc",1,0);
00009
00010
00011 class Identifier;
00012
00013 class IDedxCorrecSvc: virtual public IInterface{
00014 public:
00015 static const InterfaceID& interfaceID() { return IID_IDedxCorrecSvc; }
00016 virtual double RungCorrec( int runNO, double ex ) const = 0;
00017 virtual double WireGainCorrec(int wireid, double ex) const = 0;
00018 virtual double DriftDistCorrec(int layid, double ddrift, double ex) const = 0;
00019 virtual double SaturCorrec(int layid, double costheta, double ex) const = 0;
00020
00021
00022
00023 virtual double EntaCorrec(int layid,double enta, double ex) const = 0;
00024
00025 virtual double ZdepCorrec( int layer, double z, double dedx ) const = 0;
00026 virtual double LayerGainCorrec( int layid, double dedx ) const = 0;
00027 virtual double GlobalCorrec(double dedx) const = 0;
00028 virtual double CellCorrec( int ser, double adc, double dd, double enta,
00029 double z, double theta ) const = 0;
00030 virtual double LayerCorrec( int layer, double z, double costheta,
00031 double ex ) const = 0;
00032 virtual double TrkCorrec( double costheta, double dedx ) const = 0;
00033 virtual double StandardCorrec( int runFlag, int ntpFlag, int runNO, double pathl, int wid, int layid, double adc, double dd, double eangle, double z, double costheta ) const = 0;
00034 virtual double StandardHitCorrec(int calib_rec_Flag, int runFlag, int ntpFlag, int runNO, double pathl, int wid, int layid, double adc, double dd, double eangle, double costheta ) const = 0;
00035 virtual double StandardTrackCorrec(int calib_rec_Flag, int typFlag, int ntpFlag, int runNO, double ex, double costheta, double t0 ) const = 0;
00036
00037 virtual double PathL( int ntpFlag, const Dedx_Helix& hel, int layer, int cellid, double z ) const = 0;
00038
00039 virtual void set_flag( int calib_F ) = 0;
00040 };
00041
00042 #endif