CMS 3D CMS Logo

HcalTBDigiProducer.h
Go to the documentation of this file.
1 #ifndef SimCalorimetry_HcalTestBeam_HcalTBDigiProducer_h
2 #define SimCalorimetry_HcalTestBeam_HcalTBDigiProducer_h
3 
21 
22 #include <string>
23 #include <vector>
24 
25 class PEcalTBInfo;
26 
27 namespace edm {
28  class StreamID;
29  class ConsumesCollector;
30 } // namespace edm
31 
32 namespace CLHEP {
33  class HepRandomEngine;
34 }
35 
37 public:
39  ~HcalTBDigiProducer() override;
40 
41  void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override;
42  void accumulate(edm::Event const &e, edm::EventSetup const &c) override;
43  void accumulate(PileUpEventPrincipal const &e, edm::EventSetup const &c, edm::StreamID const &) override;
44  void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override;
45 
46 private:
47  void accumulateCaloHits(edm::Handle<std::vector<PCaloHit>> const &hits, int bunchCrossing);
48 
50  void sortHits(const edm::PCaloHitContainer &hits);
53  void checkGeometry(const edm::EventSetup &eventSetup);
54  void updateGeometry();
55 
56  void setPhaseShift(const DetId &detId);
57 
59 
60 private:
64 
69 
72 
76 
79 
81 
82  HBHEDigitizer *theHBHEDigitizer;
83  HODigitizer *theHODigitizer;
84 
86  std::vector<DetId> hbheCells;
87  std::vector<DetId> hoCells;
88 
89  std::vector<PCaloHit> theHBHEHits, theHOHits;
90 
93 
96 
97  CLHEP::HepRandomEngine *randomEngine_ = nullptr;
98 };
99 
100 #endif
std::vector< PCaloHit > PCaloHitContainer
std::vector< DetId > hoCells
CaloHitResponse * theHBHEResponse
HBHEHitFilter theHBHEHitFilter
HcalSimParameterMap * paraMap
HODigitizer * theHODigitizer
HcalElectronicsSim * theElectronicsSim
Electronic response of the preamp.
Definition: CaloVShape.h:11
HOHitFilter theHOHitFilter
HcalTBSimParameterMap * theParameterMap
const CaloGeometry * theGeometry
CaloTDigitizer< HBHEDigitizerTraits > HBHEDigitizer
CaloTDigitizer< HODigitizerTraits > HODigitizer
CaloVShape * theHcalIntegratedShape
Creates electronics signals from hits.
HBHEDigitizer * theHBHEDigitizer
std::vector< DetId > hbheCells
std::vector< PCaloHit > theHOHits
Definition: DetId.h:17
CaloHitResponse * theHOResponse
HcalAmplifier * theAmplifier
std::string ecalTBInfoLabel
HcalCoderFactory * theCoderFactory
CaloVShape * theHcalShape
HLT enums.
bool checkGeometry(bool=true)
const HcalTimeSlew * hcalTimeSlew_delay_
HcalTimeSlewSim * theTimeSlewSim