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 
6 
8 
9 //#include "CLHEP/Random/RandomEngine.h"
11 
12 
13 #include <string>
14 #include <memory>
15 
16 namespace edm
17 {
18  class Event;
19  class EventSetup;
20  class ParameterSet;
21  class ConsumesCollector;
22  class Stream;
23 }
24 
26 {
27  private:
33  std::shared_ptr<RandomEngineAndDistribution> _randomEngine;
34 
35  public:
38  edm::ConsumesCollector& consumesCollector);
39 
40  inline const std::string& getName() const
41  {
42  return _name;
43  }
44  inline const std::string& getSelectionString() const
45  {
46  return _selectionString;
47  }
48 
49  const TrackerTopology& getTrackerTopology() const;
50  const TrackerGeometry& getTrackerGeometry() const;
51  const TrackerGeometry& getMisalignedGeometry() const;
52  const RandomEngineAndDistribution& getRandomEngine() const;
53 
54  //this function will only be called once per stream
55  virtual void beginStream(const edm::StreamID& id);
56 
57  //this function will only be called once per event
58  virtual void beginEvent(edm::Event& event, const edm::EventSetup& eventSetup);
59 
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 };
72 
73 
74 #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