CMS 3D CMS Logo

TrackingRecHitAlgorithm.h
Go to the documentation of this file.
1 #ifndef FastSimulation_TrackingRecHitProducer_TrackingRecHitAlgorithm_H
2 #define FastSimulation_TrackingRecHitProducer_TrackingRecHitAlgorithm_H
3 
12 
14 
15 // Pixel-related stuff:
18 
19 #include <string>
20 #include <memory>
21 
23 private:
32  std::shared_ptr<RandomEngineAndDistribution> _randomEngine;
33 
34 public:
37  edm::ConsumesCollector& consumesCollector);
38 
39  inline const std::string& getName() const { return _name; }
40  inline const std::string& getSelectionString() const { return _selectionString; }
41 
42  const TrackerTopology& getTrackerTopology() const;
43  const TrackerGeometry& getTrackerGeometry() const;
46 
47  //this function will only be called once per stream
48  virtual void beginStream(const edm::StreamID& id);
49 
50  //this function will only be called once per run
51  virtual void beginRun(edm::Run const& run,
53  const SiPixelTemplateDBObject* pixelTemplateDBObjectPtr,
54  const std::vector<SiPixelTemplateStore>& tempStoreRef);
55 
56  //this function will only be called once per event
57  virtual void beginEvent(edm::Event& event, const edm::EventSetup& eventSetup);
58 
59  //the main action is here
61 
62  //this function will only be called once per event
63  virtual void endEvent(edm::Event& event, const edm::EventSetup& eventSetup);
64 
65  //this function will only be called once per stream
66  virtual void endStream();
67 
68  virtual ~TrackingRecHitAlgorithm();
69 };
70 
71 #endif
virtual void beginRun(edm::Run const &run, const edm::EventSetup &eventSetup, const SiPixelTemplateDBObject *pixelTemplateDBObjectPtr, const std::vector< SiPixelTemplateStore > &tempStoreRef)
const TrackerTopology & getTrackerTopology() const
Definition: config.py:1
const TrackerGeometry * _trackerGeometry
virtual TrackingRecHitProductPtr process(TrackingRecHitProductPtr product) const
const std::string _selectionString
const RandomEngineAndDistribution & getRandomEngine() const
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > misalignedTrackerGeometryESToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyESToken_
virtual void beginEvent(edm::Event &event, const edm::EventSetup &eventSetup)
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeometryESToken_
TrackingRecHitAlgorithm(const std::string &name, const edm::ParameterSet &config, edm::ConsumesCollector &consumesCollector)
const TrackerGeometry * _misalignedTrackerGeometry
const std::string & getSelectionString() const
const TrackerGeometry & getMisalignedGeometry() const
const std::string & getName() const
std::shared_ptr< TrackingRecHitProduct > TrackingRecHitProductPtr
const TrackerTopology * _trackerTopology
std::shared_ptr< RandomEngineAndDistribution > _randomEngine
const TrackerGeometry & getTrackerGeometry() const
virtual void beginStream(const edm::StreamID &id)
virtual void endEvent(edm::Event &event, const edm::EventSetup &eventSetup)
Definition: event.py:1
Definition: Run.h:45