CMS 3D CMS Logo

MTDGeometricTimingDetESModule.cc
Go to the documentation of this file.
14 
15 #include <memory>
16 
18 public:
20 
21  std::unique_ptr<GeometricTimingDet> produce(const IdealGeometryRecord&);
22 
23  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
24 
25 private:
26  const bool fromDDD_;
27 
30 };
31 
32 using namespace edm;
33 
35  : fromDDD_(p.getParameter<bool>("fromDDD")) {
36  auto cc = setWhatProduced(this);
37  if (fromDDD_) {
39  } else {
41  }
42 }
43 
46  descDB.add<bool>("fromDDD", false);
47  descriptions.add("mtdNumberingGeometryDB", descDB);
48 
50  desc.add<bool>("fromDDD", true);
51  descriptions.add("mtdNumberingGeometry", desc);
52 }
53 
54 std::unique_ptr<GeometricTimingDet> MTDGeometricTimingDetESModule::produce(const IdealGeometryRecord& iRecord) {
55  if (fromDDD_) {
57  return DDDCmsMTDConstruction::construct((*cpv), dbl_to_int(DDVectorGetter::get("detIdShifts")));
58  } else {
59  PGeometricTimingDet const& pgd = iRecord.get(pGTDetToken_);
61  }
62 }
63 
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
ESTransientHandle< ProductT > getTransientHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
edm::ESGetToken< PGeometricTimingDet, IdealGeometryRecord > pGTDetToken_
std::vector< int > dbl_to_int(const std::vector< double > &vecdbl)
Converts a std::vector of doubles to a std::vector of int.
Definition: DDutils.h:7
static std::unique_ptr< GeometricTimingDet > construct(const DDCompactView &cpv, std::vector< int > detidShifts)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::unique_ptr< GeometricTimingDet > produce(const IdealGeometryRecord &)
std::vector< double > get(const std::string &)
MTDGeometricTimingDetESModule(const edm::ParameterSet &p)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
Definition: ModuleFactory.h:60
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::ESGetToken< DDCompactView, IdealGeometryRecord > ddCompactToken_
HLT enums.
static std::unique_ptr< GeometricTimingDet > construct(const PGeometricTimingDet &pgd)