1 #ifndef __RAT_PMTPulse__
2 #define __RAT_PMTPulse__
10 PMTPulse(std::string pulseType, std::string pulseShape);
13 virtual void SetPulseCharge(
double _fPulseCharge) { fPulseCharge = _fPulseCharge; };
14 virtual void SetPulseStartTime(
double _fStartTime) { fStartTime = _fStartTime; };
15 virtual void SetPulseOffset(
double _fPulseOffset) { fPulseOffset = _fPulseOffset; };
16 virtual void SetPulseTimeOffset(
double _fPulseTimeOffset) { fPulseTimeOffset = _fPulseTimeOffset; };
17 virtual void SetPulseMin(
double _fPulseMin) { fPulseMin = _fPulseMin; };
18 virtual void SetPulsePolarity(
bool _fPulsePolarity) { fPulsePolaritySign = _fPulsePolarity ? -1 : 1; };
20 virtual void SetLogNPulseMean(
double _fLogNPulseMean) { fLogNPulseMean = _fLogNPulseMean; };
21 virtual void SetLogNPulseWidth(
double _fLogNPulseWidth) { fLogNPulseWidth = _fLogNPulseWidth; };
23 virtual void SetGausPulseWidth(
double _fGausPulseWidth) { fGausPulseWidth = _fGausPulseWidth; };
25 virtual void SetPulseShapeTimes(std::vector<double> _fPulseTimes) { fPulseTimes = _fPulseTimes; };
26 virtual void SetPulseShapeValues(std::vector<double> _fPulseValues) { fPulseValues = _fPulseValues; };
28 virtual double GetDataDrivenPulseVal(
double time);
30 virtual double GetPulseHeight(
double time);
31 virtual double GetPulseStartTimeNoOffset() {
return fStartTime; };
32 virtual double GetPulseStartTimeWithOffset() {
return fStartTime + fPulseTimeOffset; };
35 std::string fPulseType;
36 std::string fPulseShape;
40 double fPulseTimeOffset;
44 int fPulsePolaritySign;
46 double fLogNPulseMean;
47 double fLogNPulseWidth;
49 double fGausPulseWidth;
51 std::vector<double> fPulseTimes;
52 std::vector<double> fPulseValues;
Definition: PMTPulse.hh:8
Definition: CCCrossSecMessenger.hh:29