CMS 3D CMS Logo

ProducerFormatsKF.cc
Go to the documentation of this file.
9 
10 #include <memory>
11 
12 using namespace std;
13 using namespace edm;
14 
15 namespace trackerTFP {
16 
22  class ProducerFormatsKF : public ESProducer {
23  public:
24  ProducerFormatsKF(const ParameterSet& iConfig);
25  ~ProducerFormatsKF() override {}
26  unique_ptr<KalmanFilterFormats> produce(const KalmanFilterFormatsRcd& rcd);
27 
28  private:
31  };
32 
33  ProducerFormatsKF::ProducerFormatsKF(const ParameterSet& iConfig) : iConfig_(iConfig) {
34  auto cc = setWhatProduced(this);
35  esGetToken_ = cc.consumes();
36  }
37 
38  unique_ptr<KalmanFilterFormats> ProducerFormatsKF::produce(const KalmanFilterFormatsRcd& rcd) {
39  const DataFormats* dataFormats = &rcd.get(esGetToken_);
40  return make_unique<KalmanFilterFormats>(iConfig_, dataFormats);
41  }
42 
43 } // namespace trackerTFP
44 
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
ESGetToken< DataFormats, DataFormatsRcd > esGetToken_
Class to produce setup of Kalman Filter emulator data formats.
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:61
unique_ptr< KalmanFilterFormats > produce(const KalmanFilterFormatsRcd &rcd)
HLT enums.
Class to calculate and provide dataformats used by Track Trigger emulator.
Definition: DataFormats.h:216
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const