CMS 3D CMS Logo

Phase2TrackerDigiProducer.h
Go to the documentation of this file.
1 #ifndef EventFilter_Phase2TrackerRawToDigi_Phase2TrackerDigiProducer_H
2 #define EventFilter_Phase2TrackerRawToDigi_Phase2TrackerDigiProducer_H
3 
17 #include <cstdint>
18 #include <iostream>
19 #include <string>
20 #include <vector>
21 
22 namespace Phase2Tracker {
23 
25  public:
29  ~Phase2TrackerDigiProducer() override;
30  void beginJob() override;
31  void beginRun(edm::Run const&, edm::EventSetup const&) override;
32  void produce(edm::Event&, const edm::EventSetup&) override;
33  void endJob() override;
34 
35  private:
36  unsigned int runNumber_;
39  uint32_t cacheId_;
41  class Registry {
42  public:
44  Registry(uint32_t aDetid, uint16_t firstStrip, size_t indexInVector, uint16_t numberOfDigis)
45  : detid(aDetid), first(firstStrip), index(indexInVector), length(numberOfDigis) {}
47  bool operator<(const Registry& other) const {
48  return (detid != other.detid ? detid < other.detid : first < other.first);
49  }
51  uint32_t detid;
52  uint16_t first;
53  size_t index;
54  uint16_t length;
55  };
56  std::vector<Registry> proc_work_registry_;
57  std::vector<Phase2TrackerDigi> proc_work_digis_;
58  };
59 } // namespace Phase2Tracker
60 #endif // EventFilter_Phase2TrackerRawToDigi_Phase2TrackerDigiProducer_H
edm::EDGetTokenT< FEDRawDataCollection > token_
void produce(edm::Event &, const edm::EventSetup &) override
std::vector< Phase2TrackerDigi > proc_work_digis_
Phase2TrackerDigiProducer(const edm::ParameterSet &pset)
constructor
void beginRun(edm::Run const &, edm::EventSetup const &) override
bool operator<(const Registry &other) const
< operator to sort registries
~Phase2TrackerDigiProducer() override
default constructor
Registry(uint32_t aDetid, uint16_t firstStrip, size_t indexInVector, uint16_t numberOfDigis)
constructor
Definition: Run.h:45