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

In This Package:

ICableSvc.h
Go to the documentation of this file.
00001 /*
00002  *  ICableSvc.h
00003  *
00004  *  Interface for relating:
00005  *    Hardware IDs: PMT and RPC IDs provided by the hardware groups
00006  *    Sensor IDs: Specify a sensor by location in the detector
00007  *    Electronics Channel IDs: Specify a channel in electronics/DAQ
00008  *
00009  *  Created by Dan Dwyer on 2008/08/19
00010  */
00011 
00012 #ifndef DATASVC_ICABLESVC_H
00013 #define DATASVC_ICABLESVC_H
00014 
00015 #include "GaudiKernel/IInterface.h"
00016 #include <vector>
00017 #include "Conventions/Hardware.h"
00018 #include "Conventions/Electronics.h"
00019 #include "Context/ServiceMode.h"
00020 
00021 // Declaration of the interface ID
00022 static const InterfaceID IID_ICableSvc("ICableSvc",1,0);
00023 
00024 class ICableSvc : virtual public IInterface
00025 {
00026  public:
00027   // Retrieve interface ID
00028   static const InterfaceID& interfaceID(){
00029     return IID_ICableSvc;
00030   }
00031 
00032   /* Hardware Lists */
00033   virtual const std::vector<DayaBay::HardwareId>& hardwareIds(const ServiceMode& svcMode) = 0;
00034   virtual const std::vector<DayaBay::PmtHardwareId>& pmtHardwareIds(const ServiceMode& svcMode) = 0;
00035   virtual const std::vector<DayaBay::RpcHardwareId>& rpcHardwareIds(const ServiceMode& svcMode) = 0;
00036   virtual const std::vector<DayaBay::FeeHardwareId>& feeHardwareIds(const ServiceMode& svcMode) = 0;
00037   virtual const std::vector<DayaBay::FecHardwareId>& fecHardwareIds(const ServiceMode& svcMode) = 0;
00038   //virtual const std::vector<DayaBay::RotHardwareId>& rotHardwareIds(const ServiceMode& svcMode) = 0;
00039   //virtual const std::vector<DayaBay::RomHardwareId>& romHardwareIds(const ServiceMode& svcMode) = 0;
00040   //virtual const std::vector<DayaBay::RtmHardwareId>& rtmHardwareIds(const ServiceMode& svcMode) = 0;
00041 
00042   /* Sensor Lists */
00043   virtual const std::vector<DayaBay::DetectorSensor>& sensors(const ServiceMode& svcMode) = 0;
00044   virtual const std::vector<DayaBay::AdPmtSensor>& adPmtSensors(const ServiceMode& svcMode) = 0;
00045   virtual const std::vector<DayaBay::PoolPmtSensor>& poolPmtSensors(const ServiceMode& svcMode) = 0;
00046   virtual const std::vector<DayaBay::RpcSensor>& rpcSensors(const ServiceMode& svcMode) = 0;
00047 
00048   /* Channel Lists */
00049   virtual const std::vector<DayaBay::ElecChannelId>& elecChannelIds(const ServiceMode& svcMode) = 0;
00050   virtual const std::vector<DayaBay::FeeChannelId>& feeChannelIds(const ServiceMode& svcMode) = 0;
00051   virtual const std::vector<DayaBay::FecChannelId>& fecChannelIds(const ServiceMode& svcMode) = 0;
00052 
00053   /* PMT/RPC to Electronics connections ********************************/
00054 
00055   // Return the Electronics Channel ID connected to the given Detector Sensor
00056   virtual DayaBay::ElecChannelId elecChannelId(
00057                                          const DayaBay::DetectorSensor& sensId,
00058                                          const ServiceMode& svcMode) = 0;
00059 
00060   // Return the Front-End Channel ID connected to the given AD PMT
00061   virtual DayaBay::FeeChannelId feeChannelId(const DayaBay::AdPmtSensor& sensId,
00062                                              const ServiceMode& svcMode) = 0;
00063 
00064   // Return the Front-End Channel ID connected to the given Water Shield PMT
00065   virtual DayaBay::FeeChannelId feeChannelId(
00066                                            const DayaBay::PoolPmtSensor& sensId,
00067                                            const ServiceMode& svcMode) = 0;
00068 
00069   // Return the FEC Channel ID connected to the given RPC strip
00070   virtual DayaBay::FecChannelId fecChannelId(const DayaBay::RpcSensor& sensId,
00071                                              const ServiceMode& svcMode) = 0;
00072 
00073   /* Electronics to PMT/RPC connections ********************************/
00074 
00075   // Return the Detector Sensor connected to the given Electronics Channel ID
00076   virtual DayaBay::DetectorSensor sensor(
00077                                       const DayaBay::ElecChannelId& elecChannel,
00078                                       const ServiceMode& svcMode) = 0;
00079 
00080   // Return the AD PMT connected to the given Front-End Channel ID
00081   virtual DayaBay::AdPmtSensor adPmtSensor(
00082                                         const DayaBay::FeeChannelId& feeChannel,
00083                                         const ServiceMode& svcMode) = 0;
00084 
00085   // Return the Water Shield PMT connected to the given Front-End Channel ID
00086   virtual DayaBay::PoolPmtSensor poolPmtSensor(
00087                                         const DayaBay::FeeChannelId& feeChannel,
00088                                         const ServiceMode& svcMode) = 0;
00089 
00090   // Return the RPC strip connected to the given FEC Channel ID
00091   virtual DayaBay::RpcSensor rpcSensor(const DayaBay::FecChannelId& fecChannel,
00092                                        const ServiceMode& svcMode) = 0;
00093 
00094   /* Hardware IDs for the Detector Sensors ********************************/
00095 
00096   // Return the Hardware ID for the given Detector Sensor
00097   virtual DayaBay::HardwareId hardwareId(const DayaBay::DetectorSensor& sensId,
00098                                          const ServiceMode& svcMode) = 0;
00099 
00100   // Return the PMT Hardware ID for the given AD PMT sensor
00101   virtual DayaBay::PmtHardwareId pmtHardwareId(
00102                                             const DayaBay::AdPmtSensor& sensId,
00103                                             const ServiceMode& svcMode) = 0;
00104 
00105   // Return the PMT Hardware ID for the given Pool PMT sensor
00106   virtual DayaBay::PmtHardwareId pmtHardwareId(
00107                                            const DayaBay::PoolPmtSensor& sensId,
00108                                            const ServiceMode& svcMode) = 0;
00109 
00110   // Return the RPC Hardware ID for the given RPC sensor
00111   virtual DayaBay::RpcHardwareId rpcHardwareId(const DayaBay::RpcSensor& sensId,
00112                                                const ServiceMode& svcMode) = 0;
00113 
00114   /* Detector Sensors for the Hardware IDs ********************************/
00115 
00116   // Return the Detector Sensor for the given Hardware ID
00117   virtual DayaBay::DetectorSensor sensor(const DayaBay::HardwareId& hardwareId,
00118                                          const ServiceMode& svcMode) = 0;
00119 
00120   // Return the sensor for the given PMT Hardware ID
00121   virtual DayaBay::AdPmtSensor adPmtSensor(const DayaBay::PmtHardwareId& pmtId,
00122                                            const ServiceMode& svcMode) = 0;
00123 
00124   // Return the sensor for the given PMT Hardware ID
00125   virtual DayaBay::PoolPmtSensor poolPmtSensor(
00126                                             const DayaBay::PmtHardwareId& pmtId,
00127                                             const ServiceMode& svcMode) = 0;
00128 
00129   // Return the sensor for the given RPC Hardware ID
00130   virtual DayaBay::RpcSensor rpcSensor(const DayaBay::RpcHardwareId& rpcId,
00131                                        const ServiceMode& svcMode) = 0;
00132 
00133   /* Hardware IDs for the Electronics Channels ****************************/
00134 
00135   // Return the Hardware ID for the given Electronics Channel
00136   virtual DayaBay::HardwareId hardwareId(
00137                                       const DayaBay::ElecChannelId& elecChannel,
00138                                       const ServiceMode& svcMode) = 0;
00139 
00140   // Return the FEE Board Hardware ID for the given FEE Channel
00141   virtual DayaBay::FeeHardwareId feeHardwareId(
00142                                         const DayaBay::FeeChannelId& feeChannel,
00143                                         const ServiceMode& svcMode) = 0;
00144 
00145   // Return the FEC Board Hardware ID for the given FEC Channel
00146   virtual DayaBay::FecHardwareId fecHardwareId(
00147                                        const DayaBay::FecChannelId& fecChannel,
00148                                        const ServiceMode& svcMode) = 0;
00149 
00150   /* Electronics Channels for the Hardware IDs ****************************/
00151 
00152   // Return the Electronics Channel for the given Hardware ID
00153   virtual DayaBay::ElecChannelId elecChannelId(
00154                                           const DayaBay::HardwareId& hardwareId,
00155                                           const ServiceMode& svcMode) = 0;
00156 
00157   // Return the FEE Channel for the given FEE Board Hardware ID
00158   virtual DayaBay::FeeChannelId feeChannelId(
00159                                     const DayaBay::FeeHardwareId& feeHardwareId,
00160                                     const ServiceMode& svcMode) = 0;
00161 
00162   // Return the FEC Channel for the given FEC Board Hardware ID
00163   virtual DayaBay::FecChannelId fecChannelId(
00164                                    const DayaBay::FecHardwareId& fecHardwareId,
00165                                    const ServiceMode& svcMode) = 0;
00166 
00167 };
00168 
00169 #endif  // DATASVC_ICABLESVC_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