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 }
27 
28 namespace CLHEP {
29  class HepRandomEngine;
30 }
31 
32 class PCaloHit;
34 
36 public:
37 
39  ~CastorDigiProducer() 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 
48 
49  void accumulateCaloHits(std::vector<PCaloHit> const&, int bunchCrossing);
50 
52  void sortHits(const edm::PCaloHitContainer & hits);
54  void fillFakeHits();
57  void checkGeometry(const edm::EventSetup& eventSetup);
58 
60 
63 
67 
69 
73 
75 
77 
78  CastorDigitizer* theCastorDigitizer;
79 
80  std::vector<PCaloHit> theCastorHits;
81 
82  CLHEP::HepRandomEngine* randomEngine_ = nullptr;
83 };
84 
85 #endif
86 
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