File indexing completed on 2024-04-06 11:58:05
0001 #ifndef CALIBCALORIMETRY_HCALALGOS_HCALPULSECONTAINMENTCORRECTION_H
0002 #define CALIBCALORIMETRY_HCALALGOS_HCALPULSECONTAINMENTCORRECTION_H 1
0003
0004 #include <map>
0005 class HcalPulseShape;
0006 class HcalTimeSlew;
0007
0008
0009
0010
0011
0012
0013
0014
0015 class HcalPulseContainmentCorrection {
0016 public:
0017 HcalPulseContainmentCorrection(int num_samples,
0018 float fixedphase_ns,
0019 bool phaseAsInSim,
0020 float max_fracerror,
0021 const HcalTimeSlew* hcalTimeSlew_delay);
0022 HcalPulseContainmentCorrection(const HcalPulseShape* shape,
0023 int num_samples,
0024 float fixedphase_ns,
0025 bool phaseAsInSim,
0026 float max_fracerror,
0027 const HcalTimeSlew* hcalTimeSlew_delay);
0028 double getCorrection(double fc_ampl) const;
0029 double fractionContained(double fc_ampl) const { return 1.0 / this->getCorrection(fc_ampl); }
0030
0031 private:
0032 std::map<double, double> mCorFactors_;
0033 };
0034
0035 #endif