CMS 3D CMS Logo

ME0GeometryESModule.cc
Go to the documentation of this file.
1 
8 
12 
17 
24 
25 #include <memory>
26 
27 using namespace edm;
28 
30 public:
33 
35  ~ME0GeometryESModule() override;
36 
38  std::unique_ptr<ME0Geometry> produce(const MuonGeometryRecord& record);
39 
40 private:
44  // use the DDD as Geometry source
45  bool useDDD_;
46 };
47 
49  useDDD_ = p.getParameter<bool>("useDDD");
50  auto cc = setWhatProduced(this);
51  if (useDDD_) {
52  cc.setConsumes(cpvToken_).setConsumes(mdcToken_);
53  } else {
54  cc.setConsumes(rigme0Token_);
55  }
56 }
57 
59 
60 std::unique_ptr<ME0Geometry> ME0GeometryESModule::produce(const MuonGeometryRecord& record) {
61  LogTrace("ME0GeometryESModule") << "ME0GeometryESModule::produce with useDDD = " << useDDD_;
62 
63  if (useDDD_) {
64  LogTrace("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilderFromDDD builder";
65  auto cpv = record.getTransientHandle(cpvToken_);
66  const auto& mdc = record.get(mdcToken_);
68  return std::unique_ptr<ME0Geometry>(builder.build(cpv.product(), mdc));
69  } else {
70  LogTrace("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilderFromCondDB builder";
71  const auto& rigme0 = record.get(rigme0Token_);
73  return std::unique_ptr<ME0Geometry>(builder.build(rigme0));
74  }
75 }
76 
T getParameter(std::string const &) const
ME0GeometryESModule(const edm::ParameterSet &p)
Constructor.
ME0Geometry * build(const DDCompactView *cview, const MuonDDDConstants &muonConstants)
JetCorrectorParameters::Record record
Definition: classes.h:7
ESTransientHandle< ProductT > getTransientHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
edm::ESGetToken< DDCompactView, IdealGeometryRecord > cpvToken_
std::unique_ptr< ME0Geometry > produce(const MuonGeometryRecord &record)
Produce ME0Geometry.
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
edm::ESGetToken< RecoIdealGeometry, ME0RecoGeometryRcd > rigme0Token_
#define LogTrace(id)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
edm::ESGetToken< MuonDDDConstants, MuonNumberingRecord > mdcToken_
ME0Geometry * build(const RecoIdealGeometry &rgeo)
~ME0GeometryESModule() override
Destructor.
HLT enums.