00001 #ifndef ITOFCALISVC_H_
00002 #define ITOFCALISVC_H_
00003 #include "GaudiKernel/IInterface.h"
00004 #include "GaudiKernel/Kernel.h"
00005 #include "TofCaliSvc/BTofCal.h"
00006 #include "TofCaliSvc/BTofCommonCal.h"
00007 #include "TofCaliSvc/ETofCal.h"
00008 #include "TofCaliSvc/EtfCal.h"
00009 #include "TofCaliSvc/TofInfoCal.h"
00010
00011
00012 static const InterfaceID IID_ITofCaliSvc("ITofCaliSvc",1,0);
00013
00014 class BTofCal;
00015 class ETofCal;
00016
00017 class ITofCaliSvc : virtual public IInterface {
00018 public:
00019 static const InterfaceID& interfaceID() { return IID_ITofCaliSvc; }
00020 virtual BTofCal* BTof(unsigned id) const= 0;
00021 virtual BTofCommonCal* BTofCommon() const= 0;
00022 virtual ETofCal* ETof(unsigned id) const= 0;
00023 virtual EtfCal* EtfTof(unsigned id) const= 0;
00024 virtual TofInfoCal* TofInfo() const= 0;
00025 virtual const double BTDelay1(unsigned id) = 0;
00026 virtual const double BTDelay2(unsigned id) = 0;
00027 virtual const double ETDelay(unsigned id) = 0;
00028 virtual const double BTCorr1(double ADC,double zHit,unsigned int id) = 0;
00029 virtual const double BTCorr2(double ADC,double zHit,unsigned int id) = 0;
00030 virtual const double BTCorrOffset1(double zHit,unsigned int id,double t0) = 0;
00031 virtual const double BTCorrOffset2(double zHit,unsigned int id,double t0) = 0;
00032 virtual const double TOffset() = 0;
00033 virtual const double BTime1(double ADC,double TDC,double zHit,unsigned id,double t0) = 0;
00034 virtual const double BTime2(double ADC,double TDC,double zHit,unsigned id,double t0) = 0;
00035
00036 virtual const double ETime(double ADC,double TDC,double rHit,unsigned id) = 0;
00037 virtual const double EtfTime(double ADC1,double ADC2, double TDC1, double TDC2,unsigned int id, unsigned int strip, double t0) = 0;
00038 virtual const double EtfTime1(double ADC,double TDC,double zHit,unsigned id,unsigned strip, double t0) = 0;
00039 virtual const double EtfTime2(double ADC,double TDC,double zHit,unsigned id,unsigned strip, double t0) = 0;
00040 virtual const double EtfTimeMC(double ADC1,double ADC2, double TDC1, double TDC2,unsigned int id, unsigned int strip, double t0) = 0;
00041 virtual const double EtfTimeMC1(double ADC,double TDC,double zHit,unsigned id,unsigned strip, double t0) = 0;
00042 virtual const double EtfTimeMC2(double ADC,double TDC,double zHit,unsigned id,unsigned strip, double t0) = 0;
00043 virtual const double EtfTime(double tleft,double tright) = 0;
00044 virtual const double EtfBunchP(int index) = 0;
00045 virtual const double BTimeCounter(double tleft,double tright,double z,unsigned id) = 0;
00046 virtual const double BTimeCluster(double tlayer1,double tlayer2,double z1,double z2,unsigned id1, unsigned int id2) = 0;
00047 virtual const double BSigma1(double zHit, unsigned id) = 0;
00048 virtual const double BSigma2(double zHit, unsigned id) = 0;
00049 virtual const double BSigmaCounter(double zHit, unsigned id) = 0;
00050 virtual const double BSigmaCluster(double zHit1, double zHit2, unsigned id1, unsigned id2) = 0;
00051 virtual const double ESigma(double rHit, unsigned id) = 0;
00052 virtual const double BPulseHeight1( double ADC, double zHit, double sint, unsigned int id ) = 0;
00053 virtual const double BPulseHeight2( double ADC, double zHit, double sint, unsigned int id ) = 0;
00054 virtual const double BPulseHeight( double ADC1, double ADC2, double zHit, double sint, unsigned int id ) = 0;
00055 virtual const double BPh( double ADC1, double ADC2, double zHit, unsigned int id ) = 0;
00056 virtual const double EPulseHeight( double ADC, double rHit, double cost, unsigned int id ) = 0;
00057 virtual const double EPh( double ADC, double rHit, unsigned int id ) = 0;
00058 virtual const double BVeff(unsigned id) = 0;
00059 virtual const double BAtten(unsigned id) = 0;
00060 virtual const double BGainForward(unsigned id) = 0;
00061 virtual const double BGainBackward(unsigned id) = 0;
00062 virtual const double getQ0(unsigned id)=0;
00063 virtual const double EVeff(unsigned id) = 0;
00064 virtual const double EAtten(unsigned id) = 0;
00065 virtual const double EGain(unsigned id) = 0;
00066 virtual const double EtfVeff(unsigned int id, unsigned int strip) = 0;
00067 virtual const double ZTDC(double tleft, double tright, unsigned id) = 0;
00068 virtual const double ZTDC1(double tright, unsigned id, double z) = 0;
00069 virtual const double ZTDC2(double tleft, unsigned id, double z) = 0;
00070 virtual const double ZADC(double qleft, double qright, unsigned id) = 0;
00071 virtual const double ZADC1(double qright, unsigned id, double z) = 0;
00072 virtual const double ZADC2(double qleft, unsigned id, double z) = 0;
00073 virtual const double EtfZTDC(double tleft, double tright, unsigned int id, unsigned int strip) = 0;
00074 virtual const int RunBegin() = 0;
00075 virtual const int RunEnd() = 0;
00076 virtual const int Version() = 0;
00077 virtual const int QCorr() = 0;
00078 virtual const int QElec() = 0;
00079 virtual const int MisLable() = 0;
00080 virtual const int BrEast(unsigned int No) = 0;
00081 virtual const int BrWest(unsigned int No) = 0;
00082 virtual const int Endcap(unsigned int No) = 0;
00083 virtual const int Etf(unsigned int No) = 0;
00084 virtual void Dump() = 0;
00085 };
00086
00087 #endif // ITOFCALISVC_H