CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  virtual ~CastorDigiProducer();
39 
40  virtual void initializeEvent(edm::Event const& e, edm::EventSetup const& c) override;
41  virtual void accumulate(edm::Event const& e, edm::EventSetup const& c) override;
42  virtual void accumulate(PileUpEventPrincipal const& e, edm::EventSetup const& c, edm::StreamID const&) override;
43  virtual void finalizeEvent(edm::Event& e, edm::EventSetup const& c) override;
44 
45 private:
46  void accumulateCaloHits(std::vector<PCaloHit> const&, int bunchCrossing, CLHEP::HepRandomEngine*);
47 
49  void sortHits(const edm::PCaloHitContainer & hits);
51  void fillFakeHits();
54  void checkGeometry(const edm::EventSetup& eventSetup);
55 
56  CLHEP::HepRandomEngine* randomEngine(edm::StreamID const& streamID);
57 
60 
64 
66 
70 
72 
74 
76 
77  std::vector<PCaloHit> theCastorHits;
78 
79  std::vector<CLHEP::HepRandomEngine*> randomEngines_;
80 };
81 
82 #endif
83 
virtual void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
virtual void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
CastorAmplifier * theAmplifier
CaloVShape * theCastorShape
std::vector< PCaloHit > PCaloHitContainer
CaloTDigitizer< CastorDigitizerTraits > CastorDigitizer
void checkGeometry(const edm::EventSetup &eventSetup)
std::vector< CLHEP::HepRandomEngine * > randomEngines_
CastorSimParameterMap * theParameterMap
Electronic response of the preamp.
Definition: CaloVShape.h:11
void sortHits(const edm::PCaloHitContainer &hits)
fills the vectors for each subdetector
CastorElectronicsSim * theElectronicsSim
CastorHitFilter theCastorHitFilter
Creates electronics signals from hits.
CaloHitResponse * theCastorResponse
std::vector< PCaloHit > theCastorHits
void fillFakeHits()
some hits in each subdetector, just for testing purposes
void accumulateCaloHits(std::vector< PCaloHit > const &, int bunchCrossing, CLHEP::HepRandomEngine *)
virtual void accumulate(edm::Event const &e, edm::EventSetup const &c) override
CastorHitCorrection * theHitCorrection
CastorDigiProducer(const edm::ParameterSet &ps, edm::one::EDProducerBase &mixMod, edm::ConsumesCollector &iC)
CastorDigitizer * theCastorDigitizer
CastorCoderFactory * theCoderFactory
CaloVShape * theCastorIntegratedShape
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)