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 00019 00020 Q_BEGIN_NAMESPACE 00021 00022 class QPulseFitDataBase : public QEventData { 00023 00024 public: 00025 00027 virtual ~QPulseFitDataBase(); 00028 00030 const double& GetHeight() const {return fHeight;} 00032 const QVector& GetParams() const {return fParams;} 00034 const bool& GetIsFitted() const {return fIsFitted;} 00036 const std::string& GetModel() const {return fModel;} 00037 00038 protected: 00039 00041 QPulseFitDataBase(); 00042 00044 void Clear(); 00045 00047 void SetHeight(const double& height) {fHeight = height; SetIsSet(true);} 00049 QVector& GetParams() {return fParams;} 00051 void SetIsFitted(const bool& isFitted) {fIsFitted = isFitted; SetIsSet(true);} 00053 void SetModel(const std::string& model) {fModel = model; SetIsSet(true);} 00054 00055 private: 00056 00058 double fHeight; 00060 QVector fParams; 00062 bool fIsFitted; 00064 std::string fModel; 00065 00066 friend class ::QPulseFitDataR; 00067 }; 00068 00076 class QPulseFitData : public QPulseFitDataBase { 00077 00078 public: 00079 00081 QPulseFitData(); 00082 00084 ~QPulseFitData(); 00085 00086 private: 00087 00088 friend class ::MPulseFit; 00089 friend class ::MQinoMiNtpReader; 00090 00091 00092 }; 00093 00094 Q_END_NAMESPACE 00095 00096 #endif