CMS 3D CMS Logo

ProducerLayerEncoding.cc
Go to the documentation of this file.
8 
9 #include <memory>
10 
11 using namespace std;
12 using namespace edm;
13 using namespace tt;
14 
15 namespace trackerDTC {
16 
23  public:
24  ProducerLayerEncoding(const ParameterSet& iConfig);
25  ~ProducerLayerEncoding() override {}
26  unique_ptr<LayerEncoding> produce(const LayerEncodingRcd& rcd);
27 
28  private:
31  };
32 
33  ProducerLayerEncoding::ProducerLayerEncoding(const ParameterSet& iConfig) : iConfig_(iConfig) {
34  auto cc = setWhatProduced(this);
35  esGetToken_ = cc.consumes();
36  }
37 
38  unique_ptr<LayerEncoding> ProducerLayerEncoding::produce(const LayerEncodingRcd& rcd) {
39  const Setup* setup = &rcd.get(esGetToken_);
40  return make_unique<LayerEncoding>(iConfig_, setup);
41  }
42 
43 } // namespace trackerDTC
44 
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
unique_ptr< LayerEncoding > produce(const LayerEncodingRcd &rcd)
ESGetToken< Setup, SetupRcd > esGetToken_
Class to process and provide run-time constants used by Track Trigger emulators.
Definition: Setup.h:44
Definition: TTTypes.h:54
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:61
Class to produce layer encoding used between DTC and TFP in Hybrid.
Definition: DTC.h:12
HLT enums.
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const