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

In This Package:

IDaqDetailsSvc.h
Go to the documentation of this file.
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
| 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