CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/CalibCalorimetry/EcalLaserAnalyzer/interface/TAPDPulse.h

Go to the documentation of this file.
00001 #ifndef TAPDPulse_H
00002 #define TAPDPulse_H
00003 
00004 #include "TObject.h"
00005 #include<vector>
00006 
00007 class TAPDPulse: public TObject 
00008 {
00009 
00010  private:
00011 
00012   int _nsamples;
00013   int _presample;
00014   int _firstsample;
00015   int _lastsample;
00016   int _timingcutlow;
00017   int _timingcuthigh;
00018   int _timingquallow;
00019   int _timingqualhigh;
00020   double _ratiomaxcutlow;
00021   double _ratiomincutlow;
00022   double _ratiomincuthigh;
00023   
00024 
00025   double *adc_;
00026   bool isMaxFound_;
00027   bool isPedCalc_;
00028   double adcMax_;
00029   int iadcMax_;
00030   double pedestal_;
00031 
00032   void init(int, int, int, int, int, int, int, int, double, double, double );
00033 
00034  public:
00035 
00036 
00037   // Default Constructor, mainly for Root
00038   TAPDPulse();
00039 
00040   // Constructor
00041   TAPDPulse(int, int, int, int, int, int, int, int, double, double, double);
00042 
00043   // Destructor: Does nothing
00044   virtual ~TAPDPulse();
00045 
00046   bool setPulse(double*);
00047   double getMax();
00048   int getMaxSample();
00049   double getDelta(int, int);
00050   double getRatio(int, int);
00051   bool isTimingOK();
00052   bool isTimingQualOK();
00053   bool areFitSamplesOK();
00054   bool isPulseOK();
00055   bool arePulseRatioOK();
00056   bool isPulseRatioMaxOK();
00057   bool isPulseRatioMinOK();
00058   double getPedestal();
00059   double* getAdcWithoutPedestal();
00060   void setPresamples(int);
00061   //ClassDef(TAPDPulse,1)
00062 };
00063 
00064 #endif