File indexing completed on 2025-02-22 09:39:17
0001
0002
0003 #pragma once
0004
0005 #include <vector>
0006 #include <map>
0007
0008 class waveform_fit_base {
0009 public:
0010 waveform_fit_base();
0011 virtual ~waveform_fit_base() = default;
0012
0013
0014 virtual void set_waveform(const std::vector<int> &waveform);
0015 virtual void set_parameter(int parameter, double value);
0016 virtual double get_parameter(int parameter);
0017 virtual int get_pedestal() = 0;
0018 virtual void fit() = 0;
0019
0020 bool is_stale() { return stale; }
0021 double get_E();
0022 double get_fit_ndf();
0023 double get_fit_chi2();
0024
0025 protected:
0026 std::vector<int> waveform;
0027 std::map<int, double> parameters;
0028
0029 bool stale;
0030 double E;
0031 double fit_ndf;
0032 double fit_chi2;
0033 };