00001 00013 #ifndef _M_PULSE_FIT_H_ 00014 #define _M_PULSE_FIT_H_ 00015 00016 #include "QCuore.hh" 00017 #include "QModule.hh" 00018 #include "QVector.hh" 00019 #include "QError.hh" 00020 #include "QPulseFitData.hh" 00021 #include "QEvent.hh" 00022 00023 class QPulseFitter; 00024 00025 class MPulseFit : public QModule { 00026 00027 public: 00028 MPulseFit(QSequence* s); 00029 MPulseFit(const std::string& name, QSequence* s); 00030 00031 virtual ~MPulseFit(); 00032 00033 // Init method is called before event loop 00034 virtual void Init(); 00035 00036 // Doit method is called for each event, getting the event as argument 00037 virtual QEvent* Do( QEvent* ev); 00038 00039 // Done method is called after event loop 00040 virtual void Done(); 00041 00042 protected: 00043 00044 QError err; 00045 void SetHeight(QEvent* ev, double height) {ev->GetPulseFit().SetHeight(height);} 00046 void SetParameters(QEvent* ev, const QVector& params) {ev->GetPulseFit().GetParams() = params;} 00047 void SetIsFitted(QEvent* ev, bool isFitted) {ev->GetPulseFit().SetIsFitted(isFitted);} 00048 void SetModel(QEvent* ev, const std::string& model) {ev->GetPulseFit().SetModel(model);} 00049 private: 00050 00051 00052 }; 00053 00054 #endif