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