Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // Default Constructor, mainly for Root
0032   TAPDPulse();
0033 
0034   // Constructor
0035   TAPDPulse(int, int, int, int, int, int, int, int, double, double, double);
0036 
0037   // Destructor: Does nothing
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