14 class LuminosityBlockID;
44 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
'i')] = &fillDescriptionFromParameter<std::vector<int>>;
47 &fillDescriptionFromParameter<std::vector<unsigned>>;
50 &fillDescriptionFromParameter<std::vector<long long>>;
51 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
'X')] = &fillDescriptionFromParameter<unsigned long long>;
53 &fillDescriptionFromParameter<std::vector<unsigned long long>>;
55 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
'd')] = &fillDescriptionFromParameter<std::vector<double>>;
57 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
'S')] = &fillDescriptionFromParameter<std::string>;
59 &fillDescriptionFromParameter<std::vector<std::string>>;
60 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
'E')] = &fillDescriptionFromParameter<edm::EventID>;
62 &fillDescriptionFromParameter<std::vector<edm::EventID>>;
64 &fillDescriptionFromParameter<edm::LuminosityBlockID>;
66 &fillDescriptionFromParameter<std::vector<edm::LuminosityBlockID>>;
67 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
't')] = &fillDescriptionFromParameter<edm::InputTag>;
69 &fillDescriptionFromParameter<std::vector<edm::InputTag>>;
70 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
'F')] = &fillDescriptionFromParameter<edm::FileInPath>;
72 &fillDescriptionFromParameter<edm::LuminosityBlockRange>;
74 &fillDescriptionFromParameter<std::vector<edm::LuminosityBlockRange>>;
75 s_findTheRightFunction[static_cast<edm::ParameterTypes>(
'R')] = &fillDescriptionFromParameter<edm::EventRange>;
77 &fillDescriptionFromParameter<std::vector<edm::EventRange>>;
80 std::map<edm::ParameterTypes, FillDescriptionFromParameter>& findTheRightFunction() {
104 for (ParameterSet::table::const_iterator
entry = entries.begin(), endEntries = entries.end();
entry != endEntries;
106 std::map<edm::ParameterTypes, FillDescriptionFromParameter>::iterator iter =
107 findTheRightFunction().find(static_cast<edm::ParameterTypes>(
entry->second.typeCode()));
108 if (iter != findTheRightFunction().end()) {
109 iter->second(
pset,
entry->first,
entry->second.isTracked(), desc);
114 for (ParameterSet::psettable::const_iterator pset_entry = pset_entries.begin(), endEntries = pset_entries.end();
115 pset_entry != endEntries;
118 if (pset_entry->second.isTracked()) {
119 nestedPset =
pset.getParameterSet(pset_entry->first);
121 nestedPset =
pset.getUntrackedParameterSet(pset_entry->first);
125 if (pset_entry->second.isTracked()) {
133 for (ParameterSet::vpsettable::const_iterator vpset_entry = vpset_entries.begin(), endEntries = vpset_entries.end();
134 vpset_entry != endEntries;
136 std::vector<edm::ParameterSet> nestedVPset;
137 if (vpset_entry->second.isTracked()) {
138 nestedVPset =
pset.getParameterSetVector(vpset_entry->first);
140 nestedVPset =
pset.getUntrackedParameterSetVector(vpset_entry->first);
144 auto pd = std::make_unique<ParameterDescription<std::vector<ParameterSet>>>(
145 vpset_entry->first, emptyDescription, vpset_entry->second.isTracked(), nestedVPset);
147 pd->setPartOfDefaultOfVPSet(
true);
148 std::unique_ptr<ParameterDescriptionNode> node(
std::move(pd));