CMS 3D CMS Logo

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  public:
16  explicit ProcessDesc(std::shared_ptr<ParameterSet> pset);
17  explicit ProcessDesc(std::unique_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  auto const& getServicesPSets() const { return services_; }
30  auto& getServicesPSets() { return services_; }
31 
34  void addService(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 
45  private:
47  std::vector<ParameterSet> services_;
48  };
49 } // namespace edm
50 
51 #endif
service
Definition: service.py:1
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ProcessDesc::addServices
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:57
edm::ProcessDesc::services_
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47
config
Definition: config.py:1
edm::propagate_const
Definition: propagate_const.h:32
edm::ProcessDesc::getServicesPSets
auto & getServicesPSets()
Definition: ProcessDesc.h:30
edm::ProcessDesc::getServicesPSets
auto const & getServicesPSets() const
get the descriptions of the services
Definition: ProcessDesc.h:29
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::get_underlying_safe
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
Definition: get_underlying_safe.h:40
edm::ParameterSet
Definition: ParameterSet.h:36
ParameterSet
Definition: Functions.h:16
edm::ProcessDesc::addForcedService
void addForcedService(std::string const &service)
add a service and replace it if it's already there
Definition: ProcessDesc.cc:45
edm::ProcessDesc
Definition: ProcessDesc.h:14
edm::ProcessDesc::getProcessPSet
std::shared_ptr< ParameterSet > & getProcessPSet()
Definition: ProcessDesc.h:26
edm::ProcessDesc::~ProcessDesc
~ProcessDesc()
Definition: ProcessDesc.cc:17
edm::ProcessDesc::addService
void addService(ParameterSet &pset)
Definition: ProcessDesc.cc:19
edm::ProcessDesc::dump
std::string dump() const
Definition: ProcessDesc.cc:69
edm::ProcessDesc::getProcessPSet
std::shared_ptr< ParameterSet const > getProcessPSet() const
get the parameter set
Definition: ProcessDesc.h:25
edm::ProcessDesc::addDefaultService
void addDefaultService(std::string const &service)
add a service if it's not already there
Definition: ProcessDesc.cc:30
edm::ProcessDesc::pset_
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:46
get_underlying_safe.h
edm::ProcessDesc::ProcessDesc
ProcessDesc(std::shared_ptr< ParameterSet > pset)
Definition: ProcessDesc.cc:7
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27