File indexing completed on 2025-07-01 07:56:36
0001 #include "waveform_fit_base.h"
0002 #include "max_sample_fit.h"
0003
0004 #include <iostream>
0005
0006 max_sample_fit::max_sample_fit() : waveform_fit_base{} {
0007 max_sample_value = 0;
0008 pedestal_value = 0;
0009
0010 saturated = false;
0011 stale = true;
0012 }
0013
0014 max_sample_fit::~max_sample_fit() {
0015 }
0016
0017 void max_sample_fit::fit() {
0018 if (waveform.empty()) {
0019 std::cerr << "Waveform has not been set" << std::endl;
0020 return;
0021 }
0022 pedestal_value = waveform[0];
0023 max_sample_value = waveform[0];
0024 for (size_t i = 0; i < waveform.size(); ++i) {
0025 if (waveform[i] > max_sample_value) {
0026 max_sample_value = waveform[i];
0027 }
0028 if (waveform[i] > 1000) {
0029 saturated = true;
0030 }
0031 }
0032 E = max_sample_value - pedestal_value;
0033 fit_ndf = -1;
0034 fit_chi2 = -1;
0035 stale = false;
0036 }
0037
0038 int max_sample_fit::get_pedestal() {
0039 if (stale) {
0040 return -1;
0041 }
0042 return pedestal_value;
0043 }