BmnRoot
Loading...
Searching...
No Matches
WfmProcessor.h
Go to the documentation of this file.
1#ifndef WfmProcessor_H
2#define WfmProcessor_H
3
5#include "FairLogger.h"
6#include "PronyFitter.h"
7
8#include <iostream>
9#include <numeric>
10
11class WfmProcessor
12{
13
14 public:
16 : fdigiPars{false, 0, 0, 0.0f, 0, false, false, {}}
17 , fSignalLength(0)
18 , fAZik(nullptr)
19 {}
20
21 virtual ~WfmProcessor();
22
23 protected:
24 struct digiPars
25 {
26 bool isWriteWfm;
27 int gateBegin;
28 int gateEnd;
29 float threshold;
30 int signalType;
31 bool doInvert;
32
33 bool isfit;
34 std::vector<std::complex<float>> harmonics;
35 } fdigiPars;
36
37 void ProcessWfm(std::vector<float>& wfm, BmnDigiContainerTemplate* digi);
38 int fSignalLength;
39 std::complex<float>** fAZik; // Inverse Harmo matrix for fit
40
41 private:
42 void MeanRMScalc(std::vector<float> wfm, float* Mean, float* RMS, int begin, int end, int step = 1);
43 ClassDef(WfmProcessor, 1);
44};
45#endif /* WfmProcessor_H */
Data class for Bmn digi container template.
struct WfmProcessor::digiPars fdigiPars
void ProcessWfm(std::vector< float > &wfm, BmnDigiContainerTemplate *digi)
virtual ~WfmProcessor()