00001 #ifndef DAQREADOUTSVC_IDAQREADOUTSVC_H 00002 #define DAQREADOUTSVC_IDAQREADOUTSVC_H 00003 00004 /* 00005 * DaqReadoutSvc.h 00006 * DaqReadoutSvc 00007 * 00008 * Created by Simon Patton on 9/2/10. 00009 * Copyright 2010 DayaBay Collaboration. All rights reserved. 00010 * 00011 */ 00012 #include "GaudiKernel/IInterface.h" 00013 #include "Conventions/Detectors.h" 00014 00015 // Declaration of the interface ID ( interface id, major version, minor version) 00016 static const InterfaceID IID_IDaqReadoutSvc("IDaqReadoutSvc", 00017 1, 00018 0); 00019 00020 namespace DybDaq { 00021 class CalibrationParametersRecord; 00022 class FileNameStrings; 00023 class FileEndRecord; 00024 class FileStartRecord; 00025 class MetadataStrings; 00026 class RunParametersRecord; 00027 } 00028 00032 class IDaqReadoutSvc : 00033 virtual public IInterface { 00034 00035 public: 00036 00038 static const InterfaceID& interfaceID() { 00039 return IID_IDaqReadoutSvc; 00040 } 00041 00045 IDaqReadoutSvc(); 00046 00050 virtual ~IDaqReadoutSvc(); 00051 00055 virtual bool isGenerating() const = 0; 00056 00060 virtual unsigned int ltbSlot(const DayaBay::Detector& detector) const = 0; 00061 00065 virtual unsigned int runNumber(const DayaBay::Detector& detector) const = 0; 00066 00070 virtual unsigned int nextEventNumber(const DayaBay::Detector& detector) = 0; 00071 00075 virtual bool hasFileStartRecord() const = 0; 00076 00080 virtual const DybDaq::FileStartRecord& fileStartRecord() const = 0; 00081 00085 virtual bool hasFileNameStrings() const = 0; 00086 00090 virtual const DybDaq::FileNameStrings& fileNameStrings() const = 0; 00091 00095 virtual bool hasMetadataStrings() const = 0; 00096 00100 virtual const DybDaq::MetadataStrings& metadataStrings() const = 0; 00101 00105 virtual bool hasRunParametersRecord() const = 0; 00106 00110 virtual const DybDaq::RunParametersRecord& runParametersRecord() const = 0; 00111 00115 virtual bool hasCalibrationParametersRecord() const = 0; 00116 00120 virtual const DybDaq::CalibrationParametersRecord& calibrationParametersRecord() const = 0; 00121 00126 virtual bool hasFileEndRecord() const = 0; 00127 00131 virtual const DybDaq::FileEndRecord& fileEndRecord() const = 0; 00132 00133 private: 00134 00138 IDaqReadoutSvc(const IDaqReadoutSvc& rhs); 00139 00143 IDaqReadoutSvc& operator=(const IDaqReadoutSvc& rhs); 00144 00145 }; 00146 00147 #endif // DAQREADOUTSVC_IDAQREADOUTSVC_H