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 MDefaults; 00019 class MCalSimulationReader; 00020 00021 Q_BEGIN_NAMESPACE 00022 00023 class QRunDataBase : public QObject { 00024 00025 public: 00026 00028 virtual ~QRunDataBase(); 00029 00031 const QDbDetector::DetectorName& GetDetector() const {return fDetector;} 00033 const float& GetSamplingFrequency() const {return fSamplingFrequency;} 00035 const int& GetNumber() const {return fNumber;} 00037 const std::vector<int>& GetChannels() const {return fChannels;} 00039 const int& GetThermometerChannel() const {return fThermometerChannel;} 00041 const QDbDetector::RunType& GetType() const {return fType;} 00043 const double& GetADC2mV() const {return fADC2mV;} 00045 const int& GetNumberOfChannels() const {return fNumberOfChannels;} 00047 const time_t& GetStartTime() const {return fStartTime;} 00049 const unsigned int& GetDuration() const {return fDuration;} 00051 const int& GetADCMax() const {return fADCMax;} 00053 const int& GetADCMin() const {return fADCMin;} 00054 00055 protected: 00056 00058 QRunDataBase(); 00059 00061 void Clear(); 00062 00064 void SetDetector(const QDbDetector::DetectorName& detector) {fDetector = detector;} 00066 void SetSamplingFrequency(const float& samplingFrequency) {fSamplingFrequency = samplingFrequency;} 00068 void SetNumber(const int& number) {fNumber = number;} 00070 void SetChannels(const std::vector<int>& channels) {fChannels = channels;} 00072 void SetThermometerChannel(const int& thermometerChannel) {fThermometerChannel = thermometerChannel;} 00074 void SetType(const QDbDetector::RunType& type) {fType = type;} 00076 void SetADC2mV(const double& aDC2mV) {fADC2mV = aDC2mV;} 00078 void SetNumberOfChannels(const int& numberOfChannels) {fNumberOfChannels = numberOfChannels;} 00080 void SetStartTime(const time_t& startTime) {fStartTime = startTime;} 00082 void SetDuration(const unsigned int& duration) {fDuration = duration;} 00084 void SetADCMax(const int& adcMax) {fADCMax = adcMax;} 00086 void SetADCMin(const int& adcMin) {fADCMin = adcMin;} 00087 00088 private: 00089 00091 QDbDetector::DetectorName fDetector; 00093 float fSamplingFrequency; 00095 int fNumber; 00097 std::vector<int> fChannels; 00099 int fThermometerChannel; 00101 QDbDetector::RunType fType; 00103 double fADC2mV; 00105 int fNumberOfChannels; 00107 time_t fStartTime; 00109 unsigned int fDuration; 00111 int fADCMax; 00113 int fADCMin; 00114 00115 friend class ::QRunDataR; 00116 }; 00117 00125 class QRunData : public QRunDataBase { 00126 00127 public: 00128 00130 QRunData(); 00131 00133 ~QRunData(); 00134 00135 private: 00136 00137 friend class ::QASCII; 00138 friend class ::MPulseGenerator; 00139 friend class ::MCalSimulationReader; 00140 friend class ::MDefaults; 00141 00142 }; 00143 00144 Q_END_NAMESPACE 00145 00146 #endif