14 #ifndef BSEMCSHAPINGNOISEADDER_HH 15 #define BSEMCSHAPINGNOISEADDER_HH 20 #include "RtypesCore.h" 28 class TMemberInspector;
38 BSEmcShapingNoiseAdder(Double_t t_shapingTime, Double_t t_sampleRate, Double_t t_noiseWidth, Double_t t_inputScale);
44 Double_t fShapingTime{0};
45 Double_t fNoiseWidth{0};
46 Double_t fInputScale{0};
48 Double_t fSingleNoiseWidth{0};
52 std::vector<Double_t> fBuffer{};
57 MA(UInt_t t_size) : fBuffer(t_size, 0.0), fBPointer(0), fSum(0){};
59 Double_t operator()(Double_t t_xN)
61 fSum += t_xN - fBuffer[fBPointer];
62 fBuffer[fBPointer] = t_xN;
64 fBPointer %= fBuffer.size();
66 return fSum / fBuffer.size();
68 UInt_t GetSize() {
return fBuffer.size(); };
virtual void Modify(BSEmcWaveform *t_wf)
waveform modifier to add noise to waveform