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 
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 
80 
81  std::vector<PCaloHit> theCastorHits;
82 
83  std::vector<CLHEP::HepRandomEngine*> randomEngines_;
84 };
85 
86 #endif
87 
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
CastorDigiProducer(const edm::ParameterSet &ps, edm::stream::EDProducerBase &mixMod, edm::ConsumesCollector &iC)
CastorHitCorrection * theHitCorrection
CastorDigitizer * theCastorDigitizer
CastorCoderFactory * theCoderFactory
edm::InputTag theHitsProducerTag
CaloVShape * theCastorIntegratedShape
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)