1 #ifndef FWCore_ParameterSet_PluginDescription_h 2 #define FWCore_ParameterSet_PluginDescription_h 124 std::set<ParameterTypes>& parameterTypes,
125 std::set<ParameterTypes>& wildcardTypes)
const final {}
130 auto n =
pset.getParameterNames();
131 validatedLabels.insert(
n.begin(),
n.end());
136 bool& startWithComma,
139 bool& wroteSomething)
const final {
149 wroteSomething =
true;
151 if (std::holds_alternative<cfi::ClassFile>(
options)) {
167 os <<
"There are multiple possible different descriptions for this ParameterSet\n";
169 os <<
"because it will be used by a helper plugin object contained inside the top level\n";
171 os <<
"module plugin object and the type of the helper plugin object is configurable.\n";
173 os <<
"Or if it is in a vector of ParameterSets it might be used by multiple\n";
175 os <<
"helper plugin objects and each could be configured with a different plugin type.\n";
177 os <<
"Each plugin type could allow a different set of configuration parameters.\n";
179 os <<
"Each subsection of this section has one of the possible descriptions.\n";
181 os <<
"All of these plugins are from the category \"" <<
pluginCategory <<
"\".\n";
183 os <<
"The plugin type is specified by the parameter named \"" <<
typeLabel_ <<
"\".\n";
191 os <<
"*** The descriptions for this plugin category already started printing above (see Section " <<
section 194 os <<
"*** We might still be in the middle of that printout at this point because it might be recursive. ***\n";
196 os <<
"*** We'll not duplicate that printout and skip it. ***\n";
198 os <<
"*** (N.B. If we tried to print it again, we might fall into an infinite recursion.) ***\n";
210 unsigned int pluginCount = 1;
214 if (previousName ==
info.name_) {
218 std::stringstream
ss;
219 ss << dfh.section() <<
"." << pluginCount;
223 os <<
"Section " << newSection <<
" ParameterSet description for plugin named \"" <<
info.name_ <<
"\"\n";
233 previousName =
info.name_;
T getParameter(std::string const &) const
void print(std::ostream &os, DocFormatHelper &dfh) const
static PluginManager & configure(const Config &)
def create(alignables, pedeDump, additionalData, outputFile, config)
bool partiallyExists_(ParameterSet const &pset) const final
bool existsAs(std::string const ¶meterName, bool trackiness=true) const
checks if a parameter exists as a given type
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
PluginDescription(std::string typeLabel, bool typeLabelIsTracked)
static bool isAvailable()
void checkAndGetLabelsAndTypes_(std::set< std::string > &usedLabels, std::set< ParameterTypes > ¶meterTypes, std::set< ParameterTypes > &wildcardTypes) const final
T getUntrackedParameter(std::string const &, T const &) const
U second(std::pair< T, U > const &p)
void validate_(ParameterSet &pset, std::set< std::string > &validatedLabels, bool optional) const final
void parameterMustBeTyped(CfiOptions &iOps) noexcept
PluginManager::Config config()
bool exists_(ParameterSet const &pset) const final
std::string findType(edm::ParameterSet const &iPSet) const
void printNestedContent_(std::ostream &os, bool, DocFormatHelper &dfh) const final
bool hasNestedContent_() const final
static void printSpaces(std::ostream &os, int n)
ParameterDescriptionNode * clone() const final
PluginDescription(std::string typeLabel, std::string defaultType, bool typeLabelIsTracked)
const char * pluginCategory()
ParameterSetDescription loadDescription(std::string const &iName) const
void validate(ParameterSet &pset) const
bool exists(ParameterSet const &pset) const
int howManyXORSubNodesExist_(ParameterSet const &pset) const final
static Factory const * get()
void writeCfi_(std::ostream &os, bool optional, bool &startWithComma, int indentation, CfiOptions &options, bool &wroteSomething) const final
static PluginManager * get()
void writeCfi(std::ostream &os, bool startWithComma, int indentation, CfiOptions &) const
cfi::CfiOptions CfiOptions