CMS 3D CMS Logo

HcalPulseContainmentManager.h
Go to the documentation of this file.
1 #ifndef CalibCalorimetry_HcalAlgos_HcalPulseContainmentManager_h
2 #define CalibCalorimetry_HcalAlgos_HcalPulseContainmentManager_h
3 
9 
11 public:
12  // for callers not calling beginRun(EventSetup)
13  HcalPulseContainmentManager(float max_fracerror, bool phaseAsInSim);
14  // for callers calling beginRun(EventSetup)
15  HcalPulseContainmentManager(float max_fracerror, bool phaseAsInSim, edm::ConsumesCollector iC);
16  double correction(const HcalDetId& detId, int toAdd, float fixedphase_ns, double fc_ampl);
17  const HcalPulseContainmentCorrection* get(const HcalDetId& detId, int toAdd, float fixedphase_ns);
18 
19  void beginRun(edm::EventSetup const& es);
20  void beginRun(const HcalDbService* conditions, const HcalTimeSlew* delay);
21 
22  void setTimeSlew(const HcalTimeSlew* timeSlew) { hcalTimeSlew_delay_ = timeSlew; }
23 
24 private:
27  float fixedphase_ns,
28  const HcalPulseShape* shape,
30  : toAdd_(toAdd), fixedphase_ns_(fixedphase_ns), shape_(shape), correction_(correction) {}
31  int toAdd_;
35  };
36 
37  std::vector<HcalPulseContainmentEntry> entries_;
43 
45 };
46 
47 #endif
double correction(const HcalDetId &detId, int toAdd, float fixedphase_ns, double fc_ampl)
std::vector< HcalPulseContainmentEntry > entries_
const edm::ESGetToken< HcalTimeSlew, HcalTimeSlewRecord > delayToken_
HcalPulseContainmentManager(float max_fracerror, bool phaseAsInSim)
HcalPulseContainmentEntry(int toAdd, float fixedphase_ns, const HcalPulseShape *shape, const HcalPulseContainmentCorrection &correction)
void setTimeSlew(const HcalTimeSlew *timeSlew)
void beginRun(edm::EventSetup const &es)