2 #ifndef BSEMCSHAPINGNOISEADDER_HH 3 #define BSEMCSHAPINGNOISEADDER_HH 8 #include "RtypesCore.h" 16 class TMemberInspector;
26 BSEmcShapingNoiseAdder(Double_t t_shapingTime, Double_t t_sampleRate, Double_t t_noiseWidth, Double_t t_inputScale);
32 Double_t fShapingTime{0};
33 Double_t fNoiseWidth{0};
34 Double_t fInputScale{0};
36 Double_t fSingleNoiseWidth{0};
40 std::vector<Double_t> fBuffer{};
45 MA(UInt_t t_size) : fBuffer(t_size, 0.0), fBPointer(0), fSum(0){};
47 Double_t operator()(Double_t t_xN)
49 fSum += t_xN - fBuffer[fBPointer];
50 fBuffer[fBPointer] = t_xN;
52 fBPointer %= fBuffer.size();
54 return fSum / fBuffer.size();
56 UInt_t GetSize() {
return fBuffer.size(); };
virtual void Modify(BSEmcWaveform *t_wf)
waveform modifier to add noise to waveform