Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:33:47

0001 #ifndef HcalAlgos_HcalPulseContainmentAlgo_h
0002 #define HcalAlgos_HcalPulseContainmentAlgo_h
0003 
0004 #include "CalibCalorimetry/HcalAlgos/interface/HcalPulseShape.h"
0005 #include "CalibCalorimetry/HcalAlgos/interface/HcalShapeIntegrator.h"
0006 
0007 class HcalTimeSlew;
0008 
0009 class HcalPulseContainmentAlgo {
0010 public:
0011   HcalPulseContainmentAlgo(const HcalPulseShape* shape,
0012                            int num_samples,
0013                            double fixedphase_ns,
0014                            bool phaseAsInSim,
0015                            const HcalTimeSlew* hcalTimeSlew_delay);
0016   HcalPulseContainmentAlgo(int num_samples,
0017                            double fixedphase_ns,
0018                            bool phaseAsInSim,
0019                            const HcalTimeSlew* hcalTimeSlew_delay);
0020   std::pair<double, double> calcpair(double);
0021 
0022 private:
0023   void init(int num_samples);
0024   double fixedphasens_;
0025   double integrationwindowns_;
0026   double time0shiftns_;
0027   bool phaseAsInSim_;
0028   HcalShapeIntegrator integrator_;
0029   const HcalTimeSlew* hcalTimeSlew_delay_;
0030 };
0031 
0032 #endif