00001 #ifndef _QRUNDATA_HH_ 00002 #define _QRUNDATA_HH_ 00003 00011 #include "QObject.hh" 00012 #include "QDbDetector.hh" 00013 00014 class QRunDataR; 00015 class QASCII; 00016 class MDefaults; 00017 class MPulseGenerator; 00018 class MQinoDataReader; 00019 class MDefaults; 00020 class MCalSimulationReader; 00021 00022 Q_BEGIN_NAMESPACE 00023 00024 class QRunDataBase : public QObject { 00025 00026 public: 00027 00029 virtual ~QRunDataBase(); 00030 00032 const QDbDetector::DetectorName& GetDetector() const {return fDetector;} 00034 const float& GetSamplingFrequency() const {return fSamplingFrequency;} 00036 const int& GetNumber() const {return fNumber;} 00038 const std::vector<int>& GetChannels() const {return fChannels;} 00040 const int& GetThermometerChannel() const {return fThermometerChannel;} 00042 const QDbDetector::RunType& GetType() const {return fType;} 00044 const double& GetADC2mV() const {return fADC2mV;} 00046 const int& GetNumberOfChannels() const {return fNumberOfChannels;} 00048 const time_t& GetStartTime() const {return fStartTime;} 00050 const unsigned int& GetDuration() const {return fDuration;} 00052 const int& GetADCMax() const {return fADCMax;} 00054 const int& GetADCMin() const {return fADCMin;} 00055 00056 protected: 00057 00059 QRunDataBase(); 00060 00062 void Clear(); 00063 00065 void SetDetector(const QDbDetector::DetectorName& detector) {fDetector = detector;} 00067 void SetSamplingFrequency(const float& samplingFrequency) {fSamplingFrequency = samplingFrequency;} 00069 void SetNumber(const int& number) {fNumber = number;} 00071 void SetChannels(const std::vector<int>& channels) {fChannels = channels;} 00073 void SetThermometerChannel(const int& thermometerChannel) {fThermometerChannel = thermometerChannel;} 00075 void SetType(const QDbDetector::RunType& type) {fType = type;} 00077 void SetADC2mV(const double& aDC2mV) {fADC2mV = aDC2mV;} 00079 void SetNumberOfChannels(const int& numberOfChannels) {fNumberOfChannels = numberOfChannels;} 00081 void SetStartTime(const time_t& startTime) {fStartTime = startTime;} 00083 void SetDuration(const unsigned int& duration) {fDuration = duration;} 00085 void SetADCMax(const int& adcMax) {fADCMax = adcMax;} 00087 void SetADCMin(const int& adcMin) {fADCMin = adcMin;} 00088 00089 private: 00090 00092 QDbDetector::DetectorName fDetector; 00094 float fSamplingFrequency; 00096 int fNumber; 00098 std::vector<int> fChannels; 00100 int fThermometerChannel; 00102 QDbDetector::RunType fType; 00104 double fADC2mV; 00106 int fNumberOfChannels; 00108 time_t fStartTime; 00110 unsigned int fDuration; 00112 int fADCMax; 00114 int fADCMin; 00115 00116 friend class ::QRunDataR; 00117 }; 00118 00126 class QRunData : public QRunDataBase { 00127 00128 public: 00129 00131 QRunData(); 00132 00134 ~QRunData(); 00135 00136 private: 00137 00138 friend class ::QASCII; 00139 friend class ::MPulseGenerator; 00140 friend class ::MQinoDataReader; 00141 friend class ::MCalSimulationReader; 00142 friend class ::MDefaults; 00143 00144 }; 00145 00146 Q_END_NAMESPACE 00147 00148 #endif