00001 #ifndef ISIMPLE_PID_SVC_H 00002 #define ISIMPLE_PID_SVC_H 00003 00004 #include "GaudiKernel/IService.h" 00005 #include "EvtRecEvent/EvtRecTrack.h" 00006 00007 /* Decaration of the interface ID */ 00008 static const InterfaceID IID_ISimplePIDSvc("ISimplePIDSvc", 1, 0); 00009 00010 class EvtRecDTag; 00011 00012 class ISimplePIDSvc : virtual public IService 00013 { 00014 public : 00015 static const InterfaceID& interfaceID() { return IID_ISimplePIDSvc; } 00016 virtual ~ISimplePIDSvc() {} 00017 virtual void setdedxminchi(double x) = 0; 00018 virtual void settofminchi(double x) = 0; 00019 virtual void seteidratio(double x) = 0; 00020 virtual void preparePID(EvtRecTrack* track) = 0; 00021 virtual bool iselectron(bool emc = false) = 0; 00022 virtual bool ispion() = 0; 00023 virtual bool iskaon() = 0; 00024 virtual double probElectron() = 0; 00025 virtual double probMuon() = 0; 00026 virtual double probPion() = 0; 00027 virtual double probKaon() = 0; 00028 virtual double probProton() = 0; 00029 virtual double getdEdxChi(int i) = 0; 00030 virtual double getTOFChi(int i) = 0; 00031 virtual double getChi2(int i) = 0; 00032 virtual double getEmcLikelihood(int i) = 0; 00033 virtual double getTofDt(int m, int n) = 0; 00034 virtual double getTofPh(int n) = 0; 00035 virtual double getTofZR(int n) = 0; 00036 virtual int getTofCounter(int n) = 0; 00037 virtual int getTofBarrel() = 0; 00038 virtual double getEmcE() = 0; 00039 virtual double getEmcE13() = 0; 00040 virtual double getEmcE35() = 0; 00041 virtual double getEmcLatMoment() = 0; 00042 virtual double getEmcSecMoment() = 0; 00043 virtual double getElectronLikelihood() = 0; 00044 00045 }; 00046 00047 #endif