/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DATASVC_IDAQDETAILSSVC_H 00002 #define DATASVC_IDAQDETAILSSVC_H 00003 00004 /* 00005 * IDaqDetailsSvc.h 00006 * DataSvc 00007 * 00008 * Created by Simon Patton on 6/9/11. 00009 * Copyright 2011 DayaBay Collaboration. All rights reserved. 00010 * 00011 */ 00012 #include "GaudiKernel/IInterface.h" 00013 00014 #include "Conventions/Detectors.h" 00015 00016 #include <vector> 00017 00018 class DaqRunDetails { 00019 00020 public: 00021 typedef std::vector<DayaBay::Detector> DetectorList; 00022 00026 virtual ~DaqRunDetails(); 00027 00031 virtual unsigned int runNumber() const = 0; 00032 00036 virtual const DetectorList& detectors() const = 0; 00037 00038 protected: 00042 DaqRunDetails(); 00043 00044 private: 00045 00049 DaqRunDetails(const DaqRunDetails& rhs); 00050 00054 DaqRunDetails& operator=(const DaqRunDetails& rhs); 00055 00056 }; 00057 00058 #include "Context/TimeStamp.h" 00059 00060 class DaqFileDetails { 00061 00062 public: 00063 00067 virtual ~DaqFileDetails(); 00068 00072 virtual unsigned int fileNumber() const = 0; 00073 00077 virtual std::string fileName() const = 0; 00078 00082 virtual TimeStamp& whenStarted() const = 0; 00083 00084 protected: 00085 00089 DaqFileDetails(); 00090 00091 private: 00092 00096 DaqFileDetails(const DaqFileDetails& rhs); 00097 00101 DaqFileDetails& operator=(const DaqFileDetails& rhs); 00102 00103 }; 00104 00105 #include "Conventions/Calibration.h" 00106 00107 class DaqCalibDetails { 00108 00109 public: 00110 00114 virtual ~DaqCalibDetails(); 00115 00119 virtual DetectorId::DetectorId_t detectorId() const = 0; 00120 00124 virtual DayaBay::Detector adNumber() const = 0; 00125 00129 virtual DayaBay::Calibration::SourceType::SourceType_t sourceIdA() const = 0; 00130 00134 virtual int zPositionA() const = 0; 00135 00139 virtual DayaBay::Calibration::SourceType::SourceType_t sourceIdB() const = 0; 00140 00144 virtual int zPositionB() const = 0; 00145 00149 virtual DayaBay::Calibration::SourceType::SourceType_t sourceIdC() const = 0; 00150 00154 virtual int zPositionC() const = 0; 00155 00159 virtual int duration() const = 0; 00160 00164 virtual int led1() const = 0; 00165 00169 virtual int led2() const = 0; 00170 00174 virtual int led1Voltage() const = 0; 00175 00179 virtual int led2Voltage() const = 0; 00180 00184 virtual int ledFrequency() const = 0; 00185 00189 virtual int ledPulseSeparation() const = 0; 00190 00194 virtual int ltbMode() const = 0; 00195 00199 virtual int motorPower() const = 0; 00200 00204 virtual int cameraPower() const = 0; 00205 00209 virtual bool ledFlashing() const = 0; 00210 00214 virtual bool homeA() const = 0; 00215 00219 virtual bool homeB() const = 0; 00220 00224 virtual bool homeC() const = 0; 00225 00226 protected: 00227 00231 DaqCalibDetails(); 00232 00233 private: 00234 00238 DaqCalibDetails(const DaqCalibDetails& rhs); 00239 00243 DaqCalibDetails& operator=(const DaqCalibDetails& rhs); 00244 00245 }; 00246 00247 class ServiceMode; 00248 00249 // Declaration of the interface ID ( interface id, major version, minor version) 00250 static const InterfaceID IID_IDaqDetailsSvc("IDaqDetailsSvc", 00251 1, 00252 0); 00253 00257 class IDaqDetailsSvc : 00258 virtual public IInterface { 00259 00260 public: 00261 00263 static const InterfaceID& interfaceID() { 00264 return IID_IDaqDetailsSvc; 00265 } 00266 00270 virtual ~IDaqDetailsSvc(); 00271 00275 virtual bool hasRunDetails(const ServiceMode& svcMode) const = 0; 00276 00280 virtual const DaqRunDetails& runDetails(const ServiceMode& svcMode) const = 0; 00281 00285 virtual bool hasFileDetails(const ServiceMode& svcMode) const = 0; 00286 00290 virtual const DaqFileDetails& fileDetails(const ServiceMode& svcMode) const = 0; 00291 00295 virtual int calibDetailsCount(const ServiceMode& svcMode) const = 0; 00296 00300 virtual const DaqCalibDetails& calibDetails(const int index, 00301 const ServiceMode& svcMode) const = 0; 00302 00303 protected: 00304 00308 IDaqDetailsSvc(); 00309 00310 private: 00311 00315 IDaqDetailsSvc(const IDaqDetailsSvc& rhs); 00316 00320 IDaqDetailsSvc& operator=(const IDaqDetailsSvc& rhs); 00321 00322 }; 00323 00324 #endif // DATASVC_IDAQDETAILSSVC_H