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 
8 
10 
11 // Pixel-related stuff:
14 
15 #include <string>
16 #include <memory>
17 
18 namespace edm {
19  class Event;
20  class EventSetup;
21  class ParameterSet;
22  class ConsumesCollector;
23  class Stream;
24 } // namespace edm
25 
27 private:
33  std::shared_ptr<RandomEngineAndDistribution> _randomEngine;
34 
35 public:
38  edm::ConsumesCollector& consumesCollector);
39 
40  inline const std::string& getName() const { return _name; }
41  inline const std::string& getSelectionString() const { return _selectionString; }
42 
43  const TrackerTopology& getTrackerTopology() const;
44  const TrackerGeometry& getTrackerGeometry() const;
45  const TrackerGeometry& getMisalignedGeometry() const;
46  const RandomEngineAndDistribution& getRandomEngine() const;
47 
48  //this function will only be called once per stream
49  virtual void beginStream(const edm::StreamID& id);
50 
51  //this function will only be called once per run
52  virtual void beginRun(edm::Run const& run,
53  const edm::EventSetup& eventSetup,
54  const SiPixelTemplateDBObject* pixelTemplateDBObjectPtr,
55  std::vector<SiPixelTemplateStore>& tempStoreRef);
56 
57  //this function will only be called once per event
58  virtual void beginEvent(edm::Event& event, const edm::EventSetup& eventSetup);
59 
60  //the main action is here
62 
63  //this function will only be called once per event
64  virtual void endEvent(edm::Event& event, const edm::EventSetup& eventSetup);
65 
66  //this function will only be called once per stream
67  virtual void endStream();
68 
69  virtual ~TrackingRecHitAlgorithm();
70 };
71 
72 #endif
Definition: config.py:1
const TrackerGeometry * _trackerGeometry
const std::string _selectionString
const std::string & getSelectionString() const
const std::string & getName() const
const TrackerGeometry * _misalignedTrackerGeometry
std::shared_ptr< TrackingRecHitProduct > TrackingRecHitProductPtr
const TrackerTopology * _trackerTopology
std::shared_ptr< RandomEngineAndDistribution > _randomEngine
HLT enums.
Definition: event.py:1
Definition: Run.h:45