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 }
26 
27 namespace CLHEP {
28  class HepRandomEngine;
29 }
30 
31 class PCaloHit;
33 
35 public:
36 
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 
47 
48  void accumulateCaloHits(std::vector<PCaloHit> const&, int bunchCrossing, CLHEP::HepRandomEngine*);
49 
51  void sortHits(const edm::PCaloHitContainer & hits);
53  void fillFakeHits();
56  void checkGeometry(const edm::EventSetup& eventSetup);
57 
59 
60  CLHEP::HepRandomEngine* randomEngine(edm::StreamID const& streamID);
61 
64 
68 
70 
74 
76 
78 
79  CastorDigitizer* theCastorDigitizer;
80 
81  std::vector<PCaloHit> theCastorHits;
82 
83  std::vector<CLHEP::HepRandomEngine*> randomEngines_;
84 };
85 
86 #endif
87 
CLHEP::HepRandomEngine * randomEngine
Definition: Dummies.cc:7
CastorAmplifier * theAmplifier
CaloVShape * theCastorShape
std::vector< PCaloHit > PCaloHitContainer
CaloTDigitizer< CastorDigitizerTraits > CastorDigitizer
std::vector< CLHEP::HepRandomEngine * > randomEngines_
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