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());
135 std::ostream& os,
bool optional,
bool& startWithComma,
int indentation,
bool& wroteSomething)
const final {
143 wroteSomething =
true;
158 os <<
"There are multiple possible different descriptions for this ParameterSet\n";
160 os <<
"because it will be used by a helper plugin object contained inside the top level\n";
162 os <<
"module plugin object and the type of the helper plugin object is configurable.\n";
164 os <<
"Or if it is in a vector of ParameterSets it might be used by multiple\n";
166 os <<
"helper plugin objects and each could be configured with a different plugin type.\n";
168 os <<
"Each plugin type could allow a different set of configuration parameters.\n";
170 os <<
"Each subsection of this section has one of the possible descriptions.\n";
172 os <<
"All of these plugins are from the category \"" <<
pluginCategory <<
"\".\n";
174 os <<
"The plugin type is specified by the parameter named \"" <<
typeLabel_ <<
"\".\n";
182 os <<
"*** The descriptions for this plugin category already started printing above (see Section " <<
section 185 os <<
"*** We might still be in the middle of that printout at this point because it might be recursive. ***\n";
187 os <<
"*** We'll not duplicate that printout and skip it. ***\n";
189 os <<
"*** (N.B. If we tried to print it again, we might fall into an infinite recursion.) ***\n";
201 unsigned int pluginCount = 1;
205 if (previousName ==
info.name_) {
209 std::stringstream
ss;
210 ss << dfh.section() <<
"." << pluginCount;
214 os <<
"Section " << newSection <<
" ParameterSet description for plugin named \"" <<
info.name_ <<
"\"\n";
224 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 writeCfi(std::ostream &os, bool startWithComma, int indentation) const
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
PluginManager::Config config()
bool exists_(ParameterSet const &pset) const final
std::string findType(edm::ParameterSet const &iPSet) const
void writeCfi_(std::ostream &os, bool optional, bool &startWithComma, int indentation, bool &wroteSomething) const final
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()
static PluginManager * get()