File indexing completed on 2024-04-06 11:58:08
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