00001 #ifndef IRAWDATAPROVIDERSVC_H 00002 #define IRAWDATAPROVIDERSVC_H 00003 00004 #include "GaudiKernel/IInterface.h" 00005 #include "GaudiKernel/Kernel.h" 00006 #include "GaudiKernel/ObjectVector.h" 00007 #include "MdcRawEvent/MdcDigi.h" 00008 #include "RawDataProviderSvc/TofData.h" 00009 #include "RawDataProviderSvc/MdcRawDataProvider.h" 00010 #include "RawDataProviderSvc/TofRawDataProvider.h" 00011 #include "RawDataProviderSvc/EmcRawDataProvider.h" 00012 00013 /* Declaration of the interface ID */ 00014 static const InterfaceID IID_IRawDataProviderSvc("IRawDataProviderSvc",1,0); 00015 00016 class IRawDataProviderSvc: virtual public IInterface{ 00017 00018 public: 00019 static const InterfaceID& interfaceID() { return IID_IRawDataProviderSvc; }; 00020 00021 virtual MdcDigiVec& getMdcDigiVec(uint32_t control = 0) =0; 00022 virtual MdcRawDataProvider* getMdcProvider()=0; 00023 00024 virtual TofDataMap& tofDataMapOnlineMode(uint32_t control = 1) =0; 00025 virtual TofDataVector& tofDataVectorOnlineMode(uint32_t control = 1) =0; 00026 virtual TofDataMap& tofDataMapEstime() =0; 00027 virtual TofDataVector& tofDataVectorEstime() =0; 00028 virtual TofDataMap& tofDataMapTof(double estime=0) =0; 00029 virtual TofDataVector& tofDataVectorTof(double estime=0) =0; 00030 virtual TofDataMap& tofDataMapEmc(double estime=0) =0; 00031 virtual TofDataVector& tofDataVectorEmc(double estime=0) =0; 00032 virtual TofRawDataProvider* getTofProvider()=0; 00033 00034 virtual EmcDigiCol& getEmcDigiVec(uint32_t control=0) =0; 00035 virtual EmcRawDataProvider* getEmcProvider()=0; 00036 virtual bool isOnlineMode()=0; 00037 }; 00038 00039 #endif