00001 #ifndef _QPREPROCESSDATA_HH_ 00002 #define _QPREPROCESSDATA_HH_ 00003 00011 #include "QEventData.hh" 00012 00013 class MBaselineModule; 00014 class MPulseBasicParameters; 00015 class MQinoNtpReader; 00016 class MQinoMiNtpReader; 00017 class QPreProcessDataR; 00018 class MQuickFileReader; 00019 00020 Q_BEGIN_NAMESPACE 00021 00022 class QPreProcessDataBase : public QEventData { 00023 00024 public: 00025 00027 virtual ~QPreProcessDataBase(); 00028 00030 const double& GetBaselineRMS() const {return fBaselineRMS;} 00032 const double& GetBaseline() const {return fBaseline;} 00034 const double& GetRaise() const {return fRaise;} 00036 const double& GetBaselineSlope() const {return fBaselineSlope;} 00038 const double& GetStart() const {return fStart;} 00040 const double& GetMaxPosition() const {return fMaxPosition;} 00042 const double& GetEnd() const {return fEnd;} 00044 const double& GetMaxBaseline() const {return fMaxBaseline;} 00046 const double& GetDecay() const {return fDecay;} 00048 const double& GetBaselineIntercept() const {return fBaselineIntercept;} 00050 const bool& GetIsSaturatedLow() const {return fIsSaturatedLow;} 00052 const bool& GetIsSaturatedHigh() const {return fIsSaturatedHigh;} 00053 00054 protected: 00055 00057 QPreProcessDataBase(); 00058 00060 void Clear(); 00061 00063 void SetBaselineRMS(const double& baselineRMS) {fBaselineRMS = baselineRMS; SetIsSet(true);} 00065 void SetBaseline(const double& baseline) {fBaseline = baseline; SetIsSet(true);} 00067 void SetRaise(const double& raise) {fRaise = raise; SetIsSet(true);} 00069 void SetBaselineSlope(const double& baselineSlope) {fBaselineSlope = baselineSlope; SetIsSet(true);} 00071 void SetStart(const double& start) {fStart = start; SetIsSet(true);} 00073 void SetMaxPosition(const double& maxPosition) {fMaxPosition = maxPosition; SetIsSet(true);} 00075 void SetEnd(const double& end) {fEnd = end; SetIsSet(true);} 00077 void SetMaxBaseline(const double& maxBaseline) {fMaxBaseline = maxBaseline; SetIsSet(true);} 00079 void SetDecay(const double& decay) {fDecay = decay; SetIsSet(true);} 00081 void SetBaselineIntercept(const double& baselineIntercept) {fBaselineIntercept = baselineIntercept; SetIsSet(true);} 00083 void SetIsSaturatedLow(const bool& isSaturatedLow) {fIsSaturatedLow = isSaturatedLow; SetIsSet(true);} 00085 void SetIsSaturatedHigh(const bool& isSaturatedHigh) {fIsSaturatedHigh = isSaturatedHigh; SetIsSet(true);} 00086 00087 private: 00088 00090 double fBaselineRMS; 00092 double fBaseline; 00094 double fRaise; 00096 double fBaselineSlope; 00098 double fStart; 00100 double fMaxPosition; 00102 double fEnd; 00104 double fMaxBaseline; 00106 double fDecay; 00108 double fBaselineIntercept; 00110 bool fIsSaturatedLow; 00112 bool fIsSaturatedHigh; 00113 00114 friend class ::QPreProcessDataR; 00115 }; 00116 00124 class QPreProcessData : public QPreProcessDataBase { 00125 00126 public: 00127 00129 QPreProcessData(); 00130 00132 ~QPreProcessData(); 00133 00134 private: 00135 00136 friend class ::MBaselineModule; 00137 friend class ::MPulseBasicParameters; 00138 friend class ::MQinoNtpReader; 00139 friend class ::MQinoMiNtpReader; 00140 friend class ::MQuickFileReader; 00141 00142 }; 00143 00144 Q_END_NAMESPACE 00145 00146 #endif