CMS 3D CMS Logo

MuonGeometryConstantsBuild.cc
Go to the documentation of this file.
3 
6 
10 
11 //#define EDM_ML_DEBUG
12 
14 #ifdef EDM_ML_DEBUG
15  edm::LogVerbatim("Geometry")
16  << "MuonGeometryConstantsBuild;:build (const DDCompactView* cpv, MuonGeometryConstants& php)";
17 #endif
18  std::string attribute = "OnlyForMuonNumbering";
19 
21  DDFilteredView fview((*cpv), filter);
22 
23  DDValue val2("level");
24  const DDsvalues_type params(fview.mergedSpecifics());
25 
26  fview.firstChild();
27 
28  const DDsvalues_type mySpecs(fview.mergedSpecifics());
29 #ifdef EDM_ML_DEBUG
30  edm::LogVerbatim("Geometry") << "MuonGeometryConstantsBuild::mySpecs.size() = " << mySpecs.size();
31 #endif
32  if (mySpecs.size() < 25) {
33  edm::LogError("MuonGeometryConstantsBuild")
34  << " MuonGeometryConstantsBuild: Missing SpecPars from DetectorDescription.";
36  "MuonGeometryConstantsBuild does not have the appropriate number of SpecPars associated with the part //MUON.";
37  throw cms::Exception("GeometryBuildFailure", msg);
38  }
39 
40  DDsvalues_type::const_iterator bit = mySpecs.begin();
41  DDsvalues_type::const_iterator eit = mySpecs.end();
42  for (; bit != eit; ++bit) {
43  if (bit->second.isEvaluated()) {
44  php.addValue(bit->second.name(), static_cast<int>(bit->second.doubles()[0]));
45 #ifdef EDM_ML_DEBUG
46  edm::LogVerbatim("Geometry") << "MuonGeometryConstantsBuild::adding DDConstant of " << bit->second.name() << " = "
47  << static_cast<int>(bit->second.doubles()[0]);
48 #endif
49  }
50  }
51  return true;
52 }
53 
55 #ifdef EDM_ML_DEBUG
56  edm::LogVerbatim("Geometry")
57  << "MuonGeometryConstantsBuild;:build (const cms::DDCompactView* cpv, MuonGeometryConstants& php)";
58 #endif
59  cms::DDSpecParRegistry const& registry = cpv->specpars();
60  auto it = registry.specpars.find("MuonCommonNumbering");
61  if (it != end(registry.specpars)) {
62  for (const auto& l : it->second.spars) {
63  if (l.first == "OnlyForMuonNumbering") {
64  for (const auto& k : it->second.numpars) {
65  for (const auto& ik : k.second) {
66  php.addValue(k.first, static_cast<int>(ik));
67 #ifdef EDM_ML_DEBUG
68  edm::LogVerbatim("Geometry") << "MuonGeometryConstantsBuild::adding DDConstant of " << k.first << " = "
69  << static_cast<int>(ik);
70 #endif
71  }
72  }
73  }
74  }
75  }
76 
77  return true;
78 }
MuonGeometryConstants
Definition: MuonGeometryConstants.h:20
MessageLogger.h
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
DDFilteredView::mergedSpecifics
DDsvalues_type mergedSpecifics() const
Definition: DDFilteredView.cc:42
MuonGeometryConstants.h
cms::DDSpecParRegistry
Definition: DDSpecParRegistry.h:32
MuonGeometryConstants::addValue
void addValue(const std::string &name, const int &value)
Definition: MuonGeometryConstants.cc:25
mps_check.msg
tuple msg
Definition: mps_check.py:285
end
#define end
Definition: vmac.h:39
MuonGeometryConstantsBuild.h
DDFilteredView::firstChild
bool firstChild()
set the current node to the first child ...
Definition: DDFilteredView.cc:86
DDFilteredView.h
DDCompactView
Compact representation of the geometrical detector hierarchy.
Definition: DDCompactView.h:80
dqmdumpme.k
k
Definition: dqmdumpme.py:60
ALCARECOTkAlBeamHalo_cff.filter
filter
Definition: ALCARECOTkAlBeamHalo_cff.py:27
DDValue.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DDSpecParRegistry.h
edm::LogError
Definition: MessageLogger.h:183
DDSpecificsHasNamedValueFilter
Definition: DDFilter.h:60
edm::LogVerbatim
Definition: MessageLogger.h:297
cms::DDCompactView::specpars
DDSpecParRegistry const & specpars() const
Definition: DDCompactView.h:33
cmsLHEtoEOSManager.l
l
Definition: cmsLHEtoEOSManager.py:193
MuonGeometryConstantsBuild::build
bool build(const DDCompactView *cpv, MuonGeometryConstants &php)
Definition: MuonGeometryConstantsBuild.cc:13
DDValue
Definition: DDValue.h:21
Exception
Definition: hltDiff.cc:246
cms::DDCompactView
Definition: DDCompactView.h:29
Exception.h
cms::DDSpecParRegistry::specpars
DDSpecParMap specpars
Definition: DDSpecParRegistry.h:39
DDFilteredView
Definition: DDFilteredView.h:20
DDsvalues_type
std::vector< std::pair< unsigned int, DDValue > > DDsvalues_type
Definition: DDsvalues.h:12