CMS 3D CMS Logo

edm::ParameterSetDescription Class Reference

#include <FWCore/ParameterSet/interface/ParameterSetDescription.h>

List of all members.

Public Types

typedef Parameters::const_iterator parameter_const_iterator
typedef std::vector
< boost::shared_ptr
< ParameterDescription > > 
Parameters

Public Member Functions

template<class T>
void add (const std::string &iLabel)
template<class T>
void addUntracked (const std::string &iLabel)
bool anythingAllowed () const
bool isUnknown () const
parameter_const_iterator parameter_begin () const
parameter_const_iterator parameter_end () const
 ParameterSetDescription ()
void setAllowAnything ()
 allow any parameter label/value pairs
void setUnknown ()
 This is set only for parameterizables which have not set their descriptions.
void validate (const edm::ParameterSet &) const
virtual ~ParameterSetDescription ()

Private Attributes

bool anythingAllowed_
Parameters parameters_
bool unknown_


Detailed Description

Definition at line 33 of file ParameterSetDescription.h.


Member Typedef Documentation

typedef Parameters::const_iterator edm::ParameterSetDescription::parameter_const_iterator

Definition at line 38 of file ParameterSetDescription.h.

typedef std::vector<boost::shared_ptr<ParameterDescription> > edm::ParameterSetDescription::Parameters

Definition at line 37 of file ParameterSetDescription.h.


Constructor & Destructor Documentation

ParameterSetDescription::ParameterSetDescription (  ) 

Definition at line 30 of file ParameterSetDescription.cc.

00030                                                   :
00031   anythingAllowed_(false),
00032   unknown_(false)
00033 {
00034 }

ParameterSetDescription::~ParameterSetDescription (  )  [virtual]

Definition at line 41 of file ParameterSetDescription.cc.

00042 {
00043 }


Member Function Documentation

template<class T>
void edm::ParameterSetDescription::add ( const std::string &  iLabel  )  [inline]

Definition at line 52 of file ParameterSetDescription.h.

References parameters_.

00052                                           {
00053           parameters_.push_back( boost::shared_ptr<ParameterDescription>(new ParameterDescriptionTemplate<T>(iLabel,true) ) );
00054         }

template<class T>
void edm::ParameterSetDescription::addUntracked ( const std::string &  iLabel  )  [inline]

Definition at line 57 of file ParameterSetDescription.h.

References parameters_.

00057                                                    {
00058           parameters_.push_back( new ParameterDescriptionTemplate<T>(iLabel,false) );
00059         }

bool edm::ParameterSetDescription::anythingAllowed (  )  const [inline]

Definition at line 65 of file ParameterSetDescription.h.

References anythingAllowed_.

00065                                    {
00066         return anythingAllowed_;
00067       }

bool edm::ParameterSetDescription::isUnknown (  )  const [inline]

Definition at line 69 of file ParameterSetDescription.h.

References unknown_.

00069                              {
00070         return unknown_;
00071       }

parameter_const_iterator edm::ParameterSetDescription::parameter_begin (  )  const [inline]

Definition at line 73 of file ParameterSetDescription.h.

References parameters_.

00073                                                        {
00074         return parameters_.begin();
00075       }

parameter_const_iterator edm::ParameterSetDescription::parameter_end (  )  const [inline]

Definition at line 76 of file ParameterSetDescription.h.

References parameters_.

00076                                                      {
00077         return parameters_.end();
00078       }

void ParameterSetDescription::setAllowAnything (  ) 

allow any parameter label/value pairs

Definition at line 61 of file ParameterSetDescription.cc.

00062 {
00063   anythingAllowed_ = true;
00064 }

void ParameterSetDescription::setUnknown (  ) 

This is set only for parameterizables which have not set their descriptions.

This should only be called to allow backwards compatibility.

Definition at line 67 of file ParameterSetDescription.cc.

References sistrip::unknown_.

Referenced by edm::EDProducer::fillDescription(), edm::EDFilter::fillDescription(), edm::EDAnalyzer::fillDescription(), and edm::OutputModule::fillDescription().

00068 {
00069   unknown_ = true;
00070 }

void ParameterSetDescription::validate ( const edm::ParameterSet  )  const

Definition at line 76 of file ParameterSetDescription.cc.

00077 { 
00078   //do nothing for now
00079   return;
00080   /*
00081   //Change this to 'not unknown_' when you want to enforce that all
00082   // parameterizables must declare their parameters
00083   if (unknown_) {
00084     return;
00085   }
00086   if( not anythingAllowed() ) {
00087     throw edm::Exception(errors::Configuration);
00088   }
00089    */
00090 }


Member Data Documentation

bool edm::ParameterSetDescription::anythingAllowed_ [private]

Definition at line 89 of file ParameterSetDescription.h.

Referenced by anythingAllowed().

Parameters edm::ParameterSetDescription::parameters_ [private]

Definition at line 91 of file ParameterSetDescription.h.

Referenced by add(), addUntracked(), parameter_begin(), and parameter_end().

bool edm::ParameterSetDescription::unknown_ [private]

Definition at line 90 of file ParameterSetDescription.h.

Referenced by isUnknown().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:42:58 2009 for CMSSW by  doxygen 1.5.4