00001
00002
00003
00004
00005
00006
00007
00008
00009
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
00022 static const InterfaceID IID_ICableSvc("ICableSvc",1,0);
00023
00024 class ICableSvc : virtual public IInterface
00025 {
00026 public:
00027
00028 static const InterfaceID& interfaceID(){
00029 return IID_ICableSvc;
00030 }
00031
00032
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
00039
00040 virtual const std::vector<DayaBay::DetectorSensor>& sensors(const ServiceMode& svcMode) = 0;
00041 virtual const std::vector<DayaBay::AdPmtSensor>& adPmtSensors(const ServiceMode& svcMode) = 0;
00042 virtual const std::vector<DayaBay::PoolPmtSensor>& poolPmtSensors(const ServiceMode& svcMode) = 0;
00043 virtual const std::vector<DayaBay::RpcSensor>& rpcSensors(const ServiceMode& svcMode) = 0;
00044
00045
00046 virtual const std::vector<DayaBay::ElecChannelId>& elecChannelIds(const ServiceMode& svcMode) = 0;
00047 virtual const std::vector<DayaBay::FeeChannelId>& feeChannelIds(const ServiceMode& svcMode) = 0;
00048 virtual const std::vector<DayaBay::FecChannelId>& fecChannelIds(const ServiceMode& svcMode) = 0;
00049
00050
00051
00052
00053 virtual DayaBay::ElecChannelId elecChannelId(
00054 const DayaBay::DetectorSensor& sensId,
00055 const ServiceMode& svcMode) = 0;
00056
00057
00058 virtual DayaBay::FeeChannelId feeChannelId(const DayaBay::AdPmtSensor& sensId,
00059 const ServiceMode& svcMode) = 0;
00060
00061
00062 virtual DayaBay::FeeChannelId feeChannelId(
00063 const DayaBay::PoolPmtSensor& sensId,
00064 const ServiceMode& svcMode) = 0;
00065
00066
00067 virtual DayaBay::FecChannelId fecChannelId(const DayaBay::RpcSensor& sensId,
00068 const ServiceMode& svcMode) = 0;
00069
00070
00071
00072
00073 virtual DayaBay::DetectorSensor sensor(
00074 const DayaBay::ElecChannelId& elecChannel,
00075 const ServiceMode& svcMode) = 0;
00076
00077
00078 virtual DayaBay::AdPmtSensor adPmtSensor(
00079 const DayaBay::FeeChannelId& feeChannel,
00080 const ServiceMode& svcMode) = 0;
00081
00082
00083 virtual DayaBay::PoolPmtSensor poolPmtSensor(
00084 const DayaBay::FeeChannelId& feeChannel,
00085 const ServiceMode& svcMode) = 0;
00086
00087
00088 virtual DayaBay::RpcSensor rpcSensor(const DayaBay::FecChannelId& fecChannel,
00089 const ServiceMode& svcMode) = 0;
00090
00091
00092
00093
00094 virtual DayaBay::HardwareId hardwareId(const DayaBay::DetectorSensor& sensId,
00095 const ServiceMode& svcMode) = 0;
00096
00097
00098 virtual DayaBay::PmtHardwareId pmtHardwareId(
00099 const DayaBay::AdPmtSensor& sensId,
00100 const ServiceMode& svcMode) = 0;
00101
00102
00103 virtual DayaBay::PmtHardwareId pmtHardwareId(
00104 const DayaBay::PoolPmtSensor& sensId,
00105 const ServiceMode& svcMode) = 0;
00106
00107
00108 virtual DayaBay::RpcHardwareId rpcHardwareId(const DayaBay::RpcSensor& sensId,
00109 const ServiceMode& svcMode) = 0;
00110
00111
00112
00113
00114 virtual DayaBay::DetectorSensor sensor(const DayaBay::HardwareId& hardwareId,
00115 const ServiceMode& svcMode) = 0;
00116
00117
00118 virtual DayaBay::AdPmtSensor adPmtSensor(const DayaBay::PmtHardwareId& pmtId,
00119 const ServiceMode& svcMode) = 0;
00120
00121
00122 virtual DayaBay::PoolPmtSensor poolPmtSensor(
00123 const DayaBay::PmtHardwareId& pmtId,
00124 const ServiceMode& svcMode) = 0;
00125
00126
00127 virtual DayaBay::RpcSensor rpcSensor(const DayaBay::RpcHardwareId& rpcId,
00128 const ServiceMode& svcMode) = 0;
00129
00130
00131
00132
00133 virtual DayaBay::HardwareId hardwareId(
00134 const DayaBay::ElecChannelId& elecChannel,
00135 const ServiceMode& svcMode) = 0;
00136
00137
00138 virtual DayaBay::FeeHardwareId feeHardwareId(
00139 const DayaBay::FeeChannelId& feeChannel,
00140 const ServiceMode& svcMode) = 0;
00141
00142
00143 virtual DayaBay::FecHardwareId fecHardwareId(
00144 const DayaBay::FecChannelId& fecChannel,
00145 const ServiceMode& svcMode) = 0;
00146
00147
00148
00149
00150 virtual DayaBay::ElecChannelId elecChannelId(
00151 const DayaBay::HardwareId& hardwareId,
00152 const ServiceMode& svcMode) = 0;
00153
00154
00155 virtual DayaBay::FeeChannelId feeChannelId(
00156 const DayaBay::FeeHardwareId& feeHardwareId,
00157 const ServiceMode& svcMode) = 0;
00158
00159
00160 virtual DayaBay::FecChannelId fecChannelId(
00161 const DayaBay::FecHardwareId& fecHardwareId,
00162 const ServiceMode& svcMode) = 0;
00163
00164 };
00165
00166 #endif // DATASVC_ICABLESVC_H