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 
20 
21 #include<vector>
22 #include<string>
23 
24 class PEcalTBInfo;
25 
26 namespace edm {
27  class StreamID;
28  class ConsumesCollector;
29 }
30 
31 namespace CLHEP {
32  class HepRandomEngine;
33 }
34 
36 public:
37 
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, CLHEP::HepRandomEngine*);
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 
58  CLHEP::HepRandomEngine* randomEngine(edm::StreamID const& streamID);
59 
61 
62 private:
63 
67 
71 
74 
78 
81 
83 
84  HBHEDigitizer * theHBHEDigitizer;
85  HODigitizer * theHODigitizer;
86 
88  std::vector<DetId> hbheCells;
89  std::vector<DetId> hoCells;
90 
91  std::vector<PCaloHit> theHBHEHits, theHOHits;
92 
95 
98 
99  std::vector<CLHEP::HepRandomEngine*> randomEngines_;
100 };
101 
102 #endif
CLHEP::HepRandomEngine * randomEngine
Definition: Dummies.cc:7
std::vector< PCaloHit > PCaloHitContainer
std::vector< DetId > hoCells
CaloHitResponse * theHBHEResponse
HBHEHitFilter theHBHEHitFilter
HODigitizer * theHODigitizer
HcalElectronicsSim * theElectronicsSim
Electronic response of the preamp.
Definition: CaloVShape.h:11
HOHitFilter theHOHitFilter
HcalTBSimParameterMap * theParameterMap
std::vector< CLHEP::HepRandomEngine * > randomEngines_
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:18
CaloHitResponse * theHOResponse
HcalAmplifier * theAmplifier
std::string ecalTBInfoLabel
HcalCoderFactory * theCoderFactory
CaloVShape * theHcalShape
HLT enums.
bool checkGeometry(bool=true)
const HcalTimeSlew * hcalTimeSlew_delay_
HcalTimeSlewSim * theTimeSlewSim