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 {
20  class Event;
21  class EventSetup;
22  class ParameterSet;
23  class ConsumesCollector;
24  class Stream;
25 }
26 
28 {
29  private:
35  std::shared_ptr<RandomEngineAndDistribution> _randomEngine;
36 
37  public:
40  edm::ConsumesCollector& consumesCollector);
41 
42  inline const std::string& getName() const
43  {
44  return _name;
45  }
46  inline const std::string& getSelectionString() const
47  {
48  return _selectionString;
49  }
50 
51  const TrackerTopology& getTrackerTopology() const;
52  const TrackerGeometry& getTrackerGeometry() const;
53  const TrackerGeometry& getMisalignedGeometry() const;
54  const RandomEngineAndDistribution& getRandomEngine() const;
55 
56  //this function will only be called once per stream
57  virtual void beginStream(const edm::StreamID& id);
58 
59  //this function will only be called once per run
60  virtual void beginRun(edm::Run const& run, const edm::EventSetup& eventSetup,
61  const SiPixelTemplateDBObject * pixelTemplateDBObjectPtr,
62  std::vector< SiPixelTemplateStore > & tempStoreRef );
63 
64  //this function will only be called once per event
65  virtual void beginEvent(edm::Event& event, const edm::EventSetup& eventSetup);
66 
67  //the main action is here
69 
70  //this function will only be called once per event
71  virtual void endEvent(edm::Event& event, const edm::EventSetup& eventSetup);
72 
73  //this function will only be called once per stream
74  virtual void endStream();
75 
76  virtual ~TrackingRecHitAlgorithm();
77 
78 
79 };
80 
81 
82 #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:44