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;
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
edm::StreamID
Definition: StreamID.h:30
TrackingRecHitAlgorithm::beginStream
virtual void beginStream(const edm::StreamID &id)
Definition: TrackingRecHitAlgorithm.cc:63
TrackerGeometry.h
TrackingRecHitAlgorithm::getTrackerTopology
const TrackerTopology & getTrackerTopology() const
Definition: TrackingRecHitAlgorithm.cc:35
TrackingRecHitAlgorithm::getRandomEngine
const RandomEngineAndDistribution & getRandomEngine() const
Definition: TrackingRecHitAlgorithm.cc:56
edm::Run
Definition: Run.h:45
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
TrackingRecHitAlgorithm::_selectionString
const std::string _selectionString
Definition: TrackingRecHitAlgorithm.h:29
TrackingRecHitProduct.h
TrackingRecHitAlgorithm::getSelectionString
const std::string & getSelectionString() const
Definition: TrackingRecHitAlgorithm.h:41
RandomEngineAndDistribution.h
TrackingRecHitAlgorithm::_name
const std::string _name
Definition: TrackingRecHitAlgorithm.h:28
config
Definition: config.py:1
TrackerTopology.h
TrackingRecHitAlgorithm::getName
const std::string & getName() const
Definition: TrackingRecHitAlgorithm.h:40
TrackingRecHitAlgorithm::TrackingRecHitAlgorithm
TrackingRecHitAlgorithm(const std::string &name, const edm::ParameterSet &config, edm::ConsumesCollector &consumesCollector)
Definition: TrackingRecHitAlgorithm.cc:25
SiPixelTemplate.h
TrackingRecHitAlgorithm::_misalignedTrackerGeometry
const TrackerGeometry * _misalignedTrackerGeometry
Definition: TrackingRecHitAlgorithm.h:32
TrackingRecHitProductPtr
std::shared_ptr< TrackingRecHitProduct > TrackingRecHitProductPtr
Definition: TrackingRecHitProduct.h:47
TrackingRecHitAlgorithm::_trackerTopology
const TrackerTopology * _trackerTopology
Definition: TrackingRecHitAlgorithm.h:30
TrackingRecHitAlgorithm::process
virtual TrackingRecHitProductPtr process(TrackingRecHitProductPtr product) const
Definition: TrackingRecHitAlgorithm.cc:88
Event
TrackingRecHitAlgorithm::_randomEngine
std::shared_ptr< RandomEngineAndDistribution > _randomEngine
Definition: TrackingRecHitAlgorithm.h:33
ProducerBase.h
TrackingRecHitAlgorithm::getTrackerGeometry
const TrackerGeometry & getTrackerGeometry() const
Definition: TrackingRecHitAlgorithm.cc:42
TrackingRecHitAlgorithm::_trackerGeometry
const TrackerGeometry * _trackerGeometry
Definition: TrackingRecHitAlgorithm.h:31
edm::ParameterSet
Definition: ParameterSet.h:47
SiPixelTemplateDBObject.h
ParameterSet
Definition: Functions.h:16
SiPixelTemplateDBObject
Definition: SiPixelTemplateDBObject.h:16
edm::EventSetup
Definition: EventSetup.h:58
TrackingRecHitAlgorithm::beginEvent
virtual void beginEvent(edm::Event &event, const edm::EventSetup &eventSetup)
Definition: TrackingRecHitAlgorithm.cc:74
TrackingRecHitAlgorithm::endEvent
virtual void endEvent(edm::Event &event, const edm::EventSetup &eventSetup)
Definition: TrackingRecHitAlgorithm.cc:90
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TrackingRecHitAlgorithm::getMisalignedGeometry
const TrackerGeometry & getMisalignedGeometry() const
Definition: TrackingRecHitAlgorithm.cc:49
writedatasetfile.run
run
Definition: writedatasetfile.py:27
TrackingRecHitAlgorithm::beginRun
virtual void beginRun(edm::Run const &run, const edm::EventSetup &eventSetup, const SiPixelTemplateDBObject *pixelTemplateDBObjectPtr, std::vector< SiPixelTemplateStore > &tempStoreRef)
Definition: TrackingRecHitAlgorithm.cc:67
TrackingRecHitAlgorithm
Definition: TrackingRecHitAlgorithm.h:26
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
EventSetup
TrackingRecHitAlgorithm::endStream
virtual void endStream()
Definition: TrackingRecHitAlgorithm.cc:97
event
Definition: event.py:1
edm::Event
Definition: Event.h:73
TrackingRecHitAlgorithm::~TrackingRecHitAlgorithm
virtual ~TrackingRecHitAlgorithm()
Definition: TrackingRecHitAlgorithm.cc:99
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
TrackerGeometry
Definition: TrackerGeometry.h:14
RandomEngineAndDistribution
Definition: RandomEngineAndDistribution.h:18