CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProcessDesc.h
Go to the documentation of this file.
1 #ifndef FWCore_ParameterSet_ProcessDesc_h
2 #define FWCore_ParameterSet_ProcessDesc_h
3 
4 #include <memory>
5 #include <string>
6 #include <vector>
7 
9 
10 namespace edm {
11 
12  class ParameterSet;
13 
14  class ProcessDesc {
15 
16  public:
17  explicit ProcessDesc(std::shared_ptr<ParameterSet> pset);
18 
20  explicit ProcessDesc(std::string const& config);
21 
22  ~ProcessDesc();
23 
25  std::shared_ptr<ParameterSet const> getProcessPSet() const {return get_underlying_safe(pset_);}
26  std::shared_ptr<ParameterSet>& getProcessPSet() {return get_underlying_safe(pset_);}
27 
29  std::shared_ptr<std::vector<ParameterSet> const> getServicesPSets() const {return get_underlying_safe(services_);}
30  std::shared_ptr<std::vector<ParameterSet>>& getServicesPSets() {return get_underlying_safe(services_);}
31 
32  void addService(ParameterSet& pset);
34  void addService(std::string const& service);
36  void addDefaultService(std::string const& service);
38  void addForcedService(std::string const& service);
40  void addServices(std::vector<std::string> const& defaultServices,
41  std::vector<std::string> const& forcedServices = std::vector<std::string>());
42 
43  std::string dump() const;
44  private:
47  };
48 }
49 
50 #endif
void addDefaultService(std::string const &service)
add a service if it&#39;s not already there
Definition: ProcessDesc.cc:32
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:45
std::shared_ptr< std::vector< ParameterSet > const > getServicesPSets() const
get the descriptions of the services
Definition: ProcessDesc.h:29
std::shared_ptr< ParameterSet const > getProcessPSet() const
get the parameter set
Definition: ProcessDesc.h:25
std::shared_ptr< ParameterSet > & getProcessPSet()
Definition: ProcessDesc.h:26
void addServices(std::vector< std::string > const &defaultServices, std::vector< std::string > const &forcedServices=std::vector< std::string >())
add some default services and forced services
Definition: ProcessDesc.cc:61
void addService(ParameterSet &pset)
Definition: ProcessDesc.cc:21
std::shared_ptr< std::vector< ParameterSet > > & getServicesPSets()
Definition: ProcessDesc.h:30
void addForcedService(std::string const &service)
add a service and replace it if it&#39;s already there
Definition: ProcessDesc.cc:48
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
edm::propagate_const< std::shared_ptr< std::vector< ParameterSet > > > services_
Definition: ProcessDesc.h:46
std::string dump() const
Definition: ProcessDesc.cc:75
ProcessDesc(std::shared_ptr< ParameterSet > pset)
Definition: ProcessDesc.cc:8