CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
HcalTBDigiProducer.h
Go to the documentation of this file.
1 #ifndef SimCalorimetry_HcalTestBeam_HcalTBDigiProducer_h
2 #define SimCalorimetry_HcalTestBeam_HcalTBDigiProducer_h
3 
25 
26 #include <string>
27 #include <vector>
28 
29 class PEcalTBInfo;
30 
31 namespace CLHEP {
32  class HepRandomEngine;
33 }
34 
36 public:
38  ~HcalTBDigiProducer() override;
39 
40  void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override;
41  void accumulate(edm::Event const &e, edm::EventSetup const &c) override;
42  void accumulate(PileUpEventPrincipal const &e, edm::EventSetup const &c, edm::StreamID const &) override;
43  void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override;
44 
45 private:
46  void accumulateCaloHits(edm::Handle<std::vector<PCaloHit>> const &hits, int bunchCrossing);
47 
49  void sortHits(const edm::PCaloHitContainer &hits);
52  void checkGeometry(const edm::EventSetup &eventSetup);
53  void updateGeometry();
54 
55  void setPhaseShift(const DetId &detId);
56 
58 
59 private:
63 
68 
71 
75 
78 
80 
83 
89  std::vector<DetId> hbheCells;
90  std::vector<DetId> hoCells;
91 
92  std::vector<PCaloHit> theHBHEHits, theHOHits;
93 
96 
99 
100  CLHEP::HepRandomEngine *randomEngine_ = nullptr;
101 };
102 
103 #endif
void setPhaseShift(const DetId &detId)
void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
void sortHits(const edm::PCaloHitContainer &hits)
fills the vectors for each subdetector
std::vector< PCaloHit > PCaloHitContainer
std::vector< DetId > hoCells
const edm::EventSetup & c
CaloHitResponse * theHBHEResponse
HBHEHitFilter theHBHEHitFilter
edm::ESGetToken< HcalTimeSlew, HcalTimeSlewRecord > hcalTimeSlew_delay_token_
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
std::vector< PCaloHit > theHBHEHits
CaloTDigitizer< HODigitizerTraits > HODigitizer
edm::ESGetToken< HcalDbService, HcalDbRecord > conditionsToken_
CaloVShape * theHcalIntegratedShape
Creates electronics signals from hits.
HBHEDigitizer * theHBHEDigitizer
void checkGeometry(const edm::EventSetup &eventSetup)
HcalTBDigiProducer(const edm::ParameterSet &ps, edm::ProducesCollector, edm::ConsumesCollector &iC)
std::vector< DetId > hbheCells
void accumulate(edm::Event const &e, edm::EventSetup const &c) override
std::vector< PCaloHit > theHOHits
edm::ESWatcher< CaloGeometryRecord > geometryWatcher_
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
Definition: DetId.h:17
CaloHitResponse * theHOResponse
~HcalTBDigiProducer() override
HcalAmplifier * theAmplifier
std::string ecalTBInfoLabel
CLHEP::HepRandomEngine * randomEngine_
HcalCoderFactory * theCoderFactory
CaloVShape * theHcalShape
void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
const HcalTimeSlew * hcalTimeSlew_delay_
void accumulateCaloHits(edm::Handle< std::vector< PCaloHit >> const &hits, int bunchCrossing)
HcalTimeSlewSim * theTimeSlewSim