00001 #ifndef _QPULSEFITDATA_HH_ 00002 #define _QPULSEFITDATA_HH_ 00003 00011 #include "QEventData.hh" 00012 00013 #include "QVector.hh" 00014 00015 class MPulseFit; 00016 class QPulseFitDataR; 00017 class MQinoMiNtpReader; 00018 class MThermalResponse; 00019 00020 00021 Q_BEGIN_NAMESPACE 00022 00023 class QPulseFitDataBase : public QEventData { 00024 00025 public: 00026 00028 virtual ~QPulseFitDataBase(); 00029 00031 const double& GetHeight() const {return fHeight;} 00033 const QVector& GetParams() const {return fParams;} 00035 const bool& GetIsFitted() const {return fIsFitted;} 00037 const std::string& GetModel() const {return fModel;} 00038 00039 protected: 00040 00042 QPulseFitDataBase(); 00043 00045 void Clear(); 00046 00048 void SetHeight(const double& height) {fHeight = height; SetIsSet(true);} 00050 QVector& GetParams() {return fParams;} 00052 void SetIsFitted(const bool& isFitted) {fIsFitted = isFitted; SetIsSet(true);} 00054 void SetModel(const std::string& model) {fModel = model; SetIsSet(true);} 00055 00056 private: 00057 00059 double fHeight; 00061 QVector fParams; 00063 bool fIsFitted; 00065 std::string fModel; 00066 00067 friend class ::QPulseFitDataR; 00068 }; 00069 00077 class QPulseFitData : public QPulseFitDataBase { 00078 00079 public: 00080 00082 QPulseFitData(); 00083 00085 ~QPulseFitData(); 00086 00087 private: 00088 00089 friend class ::MPulseFit; 00090 friend class ::MQinoMiNtpReader; 00091 friend class ::MThermalResponse; 00092 00093 00094 }; 00095 00096 Q_END_NAMESPACE 00097 00098 #endif