/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

StaticSimDataSvc.h
Go to the documentation of this file.
00001 /*
00002  *  StaticSimDataSvc
00003  *
00004  *  Provides a static table of PMT / RPC simulation input data
00005  *
00006  *  Created by Dan Dwyer on 2008/09/26
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   // Service interface implementation
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   // ISimDataSvc interface implementation
00029   // Return the PMT simulation input data
00030   const DayaBay::PmtSimData* pmtSimData(
00031                                        const DayaBay::DetectorSensor& pmtId,
00032                                        const ServiceMode& svcMode);
00033 
00034   // Return the RPC simulation input data
00035   const DayaBay::RpcSimData* rpcSimData(const DayaBay::RpcSensor& rpcId,
00036                                         const ServiceMode& svcMode);
00037 
00038   // Return the FEE simulation input data
00039   virtual const DayaBay::FeeSimData* feeSimData(
00040                                        const DayaBay::FeeChannelId& channelId,
00041                                        const ServiceMode& svcMode);
00042 
00043   // Return the FEC simulation input data
00044   virtual const DayaBay::FecSimData* fecSimData(
00045                                        const DayaBay::FecChannelId& channelId,
00046                                        const ServiceMode& svcMode);
00047 
00048   // Return the array of PMT simulation input data by detector
00049   const std::vector<DayaBay::PmtSimData>& pmtSimList(
00050                                            const DayaBay::Detector& detectorId,
00051                                            const ServiceMode& svcMode);
00052 
00053   // Return the array of RPC simulation input data by detector
00054   const std::vector<DayaBay::RpcSimData>& rpcSimList(
00055                                            const DayaBay::Detector& detectorId,
00056                                            const ServiceMode& svcMode);
00057 
00058   // Return the array of FEE simulation input data by detector
00059   virtual const std::vector<DayaBay::FeeSimData>& feeSimList(
00060                                          const DayaBay::Detector& detectorId,
00061                                          const ServiceMode& svcMode);
00062 
00063   // Return the array of FEC simulation input data by detector
00064   virtual const std::vector<DayaBay::FecSimData>& fecSimList(
00065                                          const DayaBay::Detector& detectorId,
00066                                          const ServiceMode& svcMode);
00067  private:
00068   // Lists of PMT/RPC and electronics data by detector
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   // Lookup map by Sensor ID
00075   std::map<DayaBay::DetectorSensor, DayaBay::PmtSimData> m_pmtDataBySensor;
00076   std::map<DayaBay::RpcSensor, DayaBay::RpcSimData> m_rpcDataBySensor;
00077   // Lookup map by Electronics Channel ID
00078   std::map<DayaBay::FeeChannelId, DayaBay::FeeSimData> m_feeDataByChannel;
00079   std::map<DayaBay::FecChannelId, DayaBay::FecSimData> m_fecDataByChannel;
00080 
00081   // Property: Use optional text file of pmt data
00082   std::string m_pmtDataFileName;
00083   // Property: Use optional text file of rpc data
00084   std::string m_rpcDataFileName;
00085   // Property: Use optional text file of FEE data
00086   std::string m_feeDataFileName;
00087   // Property: Use optional text file of FEC data
00088   std::string m_fecDataFileName;
00089 };
00090 
00091 #endif  // DATASVC_STATICSIMDATASVC_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:59:23 for DataSvc by doxygen 1.7.4