CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiPixelDigitizer.h
Go to the documentation of this file.
1 #ifndef SiPixelDigitizer_h
2 #define SiPixelDigitizer_h
3 
16 #include <map>
17 #include <memory>
18 #include <string>
19 #include <vector>
20 
23 
24 namespace edm {
25  class ConsumesCollector;
26  namespace one {
27  class EDProducerBase;
28  }
29  class Event;
30  class EventSetup;
31  class ParameterSet;
32  template<typename T> class Handle;
33  class StreamID;
34 }
35 
36 class MagneticField;
38 class PixelGeomDetUnit;
39 class PSimHit;
41 class TrackerGeometry;
42 
43 namespace CLHEP {
44  class HepRandomEngine;
45 }
46 
47 namespace cms {
49  public:
50 
52 
53  virtual ~SiPixelDigitizer();
54 
55  virtual void initializeEvent(edm::Event const& e, edm::EventSetup const& c) override;
56  virtual void accumulate(edm::Event const& e, edm::EventSetup const& c) override;
57  virtual void accumulate(PileUpEventPrincipal const& e, edm::EventSetup const& c, edm::StreamID const&) override;
58  virtual void finalizeEvent(edm::Event& e, edm::EventSetup const& c) override;
59 
60  virtual void beginJob() {}
61 
62  virtual void StorePileupInformation( std::vector<int> &numInteractionList,
63  std::vector<int> &bunchCrossingList,
64  std::vector<float> &TrueInteractionList){
65  PileupInfo_ = new PileupMixingContent(numInteractionList, bunchCrossingList, TrueInteractionList);
66  }
67 
69 
70  private:
71  void accumulatePixelHits(edm::Handle<std::vector<PSimHit> >, CLHEP::HepRandomEngine*);
72  CLHEP::HepRandomEngine* randomEngine(edm::StreamID const& streamID);
73 
74  bool first;
75  std::unique_ptr<SiPixelDigitizerAlgorithm> _pixeldigialgo;
76  typedef std::vector<std::string> vstring;
82  std::map<unsigned int, PixelGeomDetUnit const *> detectorUnits;
83  std::vector<CLHEP::HepRandomEngine*> randomEngines_;
84 
86 
87  const bool pilotBlades; // Default = false
88  const int NumberOfEndcapDisks; // Default = 2
89 
90  // infrastructure to reject dead pixels as defined in db (added by F.Blekman)
91  };
92 }
93 
94 
95 #endif
virtual void finalizeEvent(edm::Event &e, edm::EventSetup const &c) override
virtual void beginJob()
CLHEP::HepRandomEngine * randomEngine(edm::StreamID const &streamID)
std::vector< CLHEP::HepRandomEngine * > randomEngines_
std::map< unsigned int, PixelGeomDetUnit const * > detectorUnits
edm::ESHandle< MagneticField > pSetup
std::vector< std::string > vstring
SiPixelDigitizer(const edm::ParameterSet &conf, edm::one::EDProducerBase &mixMod, edm::ConsumesCollector &iC)
const std::string hitsProducer
virtual void initializeEvent(edm::Event const &e, edm::EventSetup const &c) override
edm::ESHandle< TrackerGeometry > pDD
std::unique_ptr< SiPixelDigitizerAlgorithm > _pixeldigialgo
virtual void accumulate(edm::Event const &e, edm::EventSetup const &c) override
tuple conf
Definition: dbtoconf.py:185
void accumulatePixelHits(edm::Handle< std::vector< PSimHit > >, CLHEP::HepRandomEngine *)
const std::string geometryType
PileupMixingContent * PileupInfo_
virtual PileupMixingContent * getEventPileupInfo()
const vstring trackerContainers
virtual void StorePileupInformation(std::vector< int > &numInteractionList, std::vector< int > &bunchCrossingList, std::vector< float > &TrueInteractionList)