00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef DBIDATASVC_DBISIMDATASVC_H
00011 #define DBIDATASVC_DBISIMDATASVC_H
00012
00013 #include "DataSvc/ISimDataSvc.h"
00014 #include "GaudiKernel/Service.h"
00015 #include <string>
00016
00017 class DbiSimDataSvc : public Service,
00018 virtual public ISimDataSvc
00019 {
00020 public:
00021
00022 DbiSimDataSvc(const std::string& name, ISvcLocator *svc);
00023 ~DbiSimDataSvc();
00024 virtual StatusCode initialize();
00025 virtual StatusCode finalize();
00026 virtual StatusCode queryInterface(const InterfaceID& riid,
00027 void** ppvInterface);
00028
00029
00030
00031 const DayaBay::PmtSimData* pmtSimData(
00032 const DayaBay::DetectorSensor& pmtId,
00033 const ServiceMode& svcMode);
00034
00035
00036 const DayaBay::RpcSimData* rpcSimData(const DayaBay::RpcSensor& rpcId,
00037 const ServiceMode& svcMode);
00038
00039
00040 virtual const DayaBay::FeeSimData* feeSimData(
00041 const DayaBay::FeeChannelId& channelId,
00042 const ServiceMode& svcMode);
00043
00044
00045 virtual const DayaBay::FecSimData* fecSimData(
00046 const DayaBay::FecChannelId& channelId,
00047 const ServiceMode& svcMode);
00048
00049
00050 const std::vector<DayaBay::PmtSimData>& pmtSimList(
00051 const DayaBay::Detector& detectorId,
00052 const ServiceMode& svcMode);
00053
00054
00055 const std::vector<DayaBay::RpcSimData>& rpcSimList(
00056 const DayaBay::Detector& detectorId,
00057 const ServiceMode& svcMode);
00058
00059
00060 virtual const std::vector<DayaBay::FeeSimData>& feeSimList(
00061 const DayaBay::Detector& detectorId,
00062 const ServiceMode& svcMode);
00063
00064
00065 virtual const std::vector<DayaBay::FecSimData>& fecSimList(
00066 const DayaBay::Detector& detectorId,
00067 const ServiceMode& svcMode);
00068
00069 private:
00070
00071 std::map<DayaBay::Detector, std::vector<DayaBay::PmtSimData> > m_pmtData;
00072 std::map<DayaBay::Detector, std::vector<DayaBay::RpcSimData> > m_rpcData;
00073 std::map<DayaBay::Detector, std::vector<DayaBay::FeeSimData> > m_feeData;
00074 std::map<DayaBay::Detector, std::vector<DayaBay::FecSimData> > m_fecData;
00075
00076
00077 std::map<DayaBay::DetectorSensor, DayaBay::PmtSimData> m_pmtDataBySensor;
00078 std::map<DayaBay::RpcSensor, DayaBay::RpcSimData> m_rpcDataBySensor;
00079
00080 std::map<DayaBay::FeeChannelId, DayaBay::FeeSimData> m_feeDataByChannel;
00081 std::map<DayaBay::FecChannelId, DayaBay::FecSimData> m_fecDataByChannel;
00082
00083
00084
00085 std::string m_cableSvcName;
00086 };
00087
00088 #endif // DBIDATASVC_DBISIMDATASVC_H