File indexing completed on 2024-04-06 11:57:47
0001 #ifndef TAPDPulse_H
0002 #define TAPDPulse_H
0003
0004 #include "TObject.h"
0005 #include <vector>
0006
0007 class TAPDPulse : public TObject {
0008 private:
0009 int _nsamples;
0010 int _presample;
0011 int _firstsample;
0012 int _lastsample;
0013 int _timingcutlow;
0014 int _timingcuthigh;
0015 int _timingquallow;
0016 int _timingqualhigh;
0017 double _ratiomaxcutlow;
0018 double _ratiomincutlow;
0019 double _ratiomincuthigh;
0020
0021 double* adc_;
0022 bool isMaxFound_;
0023 bool isPedCalc_;
0024 double adcMax_;
0025 int iadcMax_;
0026 double pedestal_;
0027
0028 void init(int, int, int, int, int, int, int, int, double, double, double);
0029
0030 public:
0031
0032 TAPDPulse();
0033
0034
0035 TAPDPulse(int, int, int, int, int, int, int, int, double, double, double);
0036
0037
0038 ~TAPDPulse() override;
0039
0040 bool setPulse(double*);
0041 double getMax();
0042 int getMaxSample();
0043 double getDelta(int, int);
0044 double getRatio(int, int);
0045 bool isTimingOK();
0046 bool isTimingQualOK();
0047 bool areFitSamplesOK();
0048 bool isPulseOK();
0049 bool arePulseRatioOK();
0050 bool isPulseRatioMaxOK();
0051 bool isPulseRatioMinOK();
0052 double getPedestal();
0053 double* getAdcWithoutPedestal();
0054 void setPresamples(int);
0055 ClassDefOverride(TAPDPulse, 0)
0056 };
0057
0058 #endif