CMS 3D CMS Logo

CastorDigiProducer.h
Go to the documentation of this file.
1 #ifndef CastorDigiProducer_h
2 #define CastorDigiProducer_h
3 
20 
21 #include <vector>
22 
23 namespace edm {
24  class StreamID;
25  class ConsumesCollector;
26 } // namespace edm
27 
28 namespace CLHEP {
29  class HepRandomEngine;
30 }
31 
32 class PCaloHit;
34 
36 public:
38  ~CastorDigiProducer() 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(std::vector<PCaloHit> const &, int bunchCrossing);
47 
49  void sortHits(const edm::PCaloHitContainer &hits);
51  void fillFakeHits();
54  void checkGeometry(const edm::EventSetup &eventSetup);
55 
57 
60 
64 
66 
70 
72 
74 
75  CastorDigitizer *theCastorDigitizer;
76 
77  std::vector<PCaloHit> theCastorHits;
78 
79  CLHEP::HepRandomEngine *randomEngine_ = nullptr;
80 };
81 
82 #endif
CastorAmplifier * theAmplifier
CaloVShape * theCastorShape
std::vector< PCaloHit > PCaloHitContainer
CaloTDigitizer< CastorDigitizerTraits > CastorDigitizer
CastorSimParameterMap * theParameterMap
Electronic response of the preamp.
Definition: CaloVShape.h:11
CastorElectronicsSim * theElectronicsSim
CastorHitFilter theCastorHitFilter
Creates electronics signals from hits.
CaloHitResponse * theCastorResponse
std::vector< PCaloHit > theCastorHits
CastorHitCorrection * theHitCorrection
CastorDigitizer * theCastorDigitizer
HLT enums.
CastorCoderFactory * theCoderFactory
edm::InputTag theHitsProducerTag
bool checkGeometry(bool=true)
CaloVShape * theCastorIntegratedShape