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  {
26  public:
30  ~Phase2TrackerDigiProducer() override;
31  void beginJob() override;
32  void beginRun(edm::Run const&, edm::EventSetup const&) override;
33  void produce(edm::Event&, const edm::EventSetup&) override;
34  void endJob() override;
35 
36  private:
37  unsigned int runNumber_;
40  uint32_t cacheId_;
42  class Registry {
43  public:
45  Registry(uint32_t aDetid, uint16_t firstStrip, size_t indexInVector, uint16_t numberOfDigis) :
46  detid(aDetid), first(firstStrip), index(indexInVector), length(numberOfDigis) {}
48  bool operator<(const Registry &other) const {return (detid != other.detid ? detid < other.detid : first < other.first);}
50  uint32_t detid;
51  uint16_t first;
52  size_t index;
53  uint16_t length;
54  };
55  std::vector<Registry> proc_work_registry_;
56  std::vector<Phase2TrackerDigi> proc_work_digis_;
57  };
58 }
59 #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