00001 00002 #ifndef _QLC_BASE_MEASUREMENT_HH_ 00003 #define _QLC_BASE_MEASUREMENT_HH_ 00004 00005 #include "QCuore.hh" 00006 #include "QEleChannelConfig.hh" 00007 00008 #include <sys/types.h> 00009 #include <ostream> 00010 00016 class QLCBaseMeasurement: public QEleChannelConfig 00017 { 00018 public: 00024 QLCBaseMeasurement(const std::string& measName); 00025 00035 QLCBaseMeasurement(const std::string& measName, 00036 const QEleChannelConfig& config); 00037 00039 virtual ~QLCBaseMeasurement(); 00040 00042 const std::string& GetName() const { return fMeasName; } 00043 00045 unsigned int GetEventNumber() const { return fEventId; } 00047 void SetEventNumber(const unsigned int evNum) { fEventId = evNum; } 00048 00050 time_t GetTime() const { return fTime; } 00052 void SetTime(time_t time) { fTime = time; } 00053 00055 unsigned int GetMeasId() const { return fMeasId; } 00057 void SetMeasId(unsigned int id) { fMeasId = id; } 00058 00060 virtual bool operator==(const QEleChannelConfig& other) const = 0; 00061 00063 virtual void Dump(std::ostream& os) const; 00064 00065 protected: 00066 00068 virtual void DumpChild(std::ostream& os) const = 0; 00069 00070 private: 00071 time_t fTime; 00072 unsigned int fMeasId; 00073 unsigned int fEventId; 00078 const std::string fMeasName; 00079 }; 00080 #endif