| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

DbiSimDataSvc.h

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

Generated on Mon Apr 11 20:21:48 2011 for DbiDataSvc by doxygen 1.4.7