CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
edm::ProcessDesc Class Reference

#include <ProcessDesc.h>

Public Member Functions

void addDefaultService (std::string const &service)
 add a service if it's not already there More...
 
void addForcedService (std::string const &service)
 add a service and replace it if it's already there More...
 
void addService (ParameterSet &pset)
 
void addService (std::string const &service)
 add a service as an empty pset More...
 
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 More...
 
std::string dump () const
 
std::shared_ptr< ParameterSet const > getProcessPSet () const
 get the parameter set More...
 
std::shared_ptr< ParameterSet > & getProcessPSet ()
 
auto const & getServicesPSets () const
 get the descriptions of the services More...
 
auto & getServicesPSets ()
 
 ProcessDesc (std::shared_ptr< ParameterSet > pset)
 
 ProcessDesc (std::unique_ptr< ParameterSet > pset)
 
 ProcessDesc (std::string const &config)
 construct from the configuration language string More...
 
 ~ProcessDesc ()
 

Private Attributes

edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
 
std::vector< ParameterSetservices_
 

Detailed Description

Definition at line 14 of file ProcessDesc.h.

Constructor & Destructor Documentation

◆ ProcessDesc() [1/3]

edm::ProcessDesc::ProcessDesc ( std::shared_ptr< ParameterSet pset)
explicit

Definition at line 7 of file ProcessDesc.cc.

8  : pset_(pset), services_(pset_->popVParameterSet(std::string("services"))) {}
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:46
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

◆ ProcessDesc() [2/3]

edm::ProcessDesc::ProcessDesc ( std::unique_ptr< ParameterSet pset)
explicit

Definition at line 10 of file ProcessDesc.cc.

11  : pset_(std::move(pset)), services_(pset_->popVParameterSet(std::string("services"))) {}
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:46
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47
def move(src, dest)
Definition: eostools.py:511

◆ ProcessDesc() [3/3]

edm::ProcessDesc::ProcessDesc ( std::string const &  config)
explicit

construct from the configuration language string

Definition at line 13 of file ProcessDesc.cc.

13  : pset_(new ParameterSet), services_{} {
14  throw Exception(errors::Configuration, "Old config strings no longer accepted");
15  }
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:46
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

◆ ~ProcessDesc()

edm::ProcessDesc::~ProcessDesc ( )

Definition at line 17 of file ProcessDesc.cc.

17 {}

Member Function Documentation

◆ addDefaultService()

void edm::ProcessDesc::addDefaultService ( std::string const &  service)

add a service if it's not already there

Definition at line 30 of file ProcessDesc.cc.

References addService(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, Skims_PA_cff::name, muonDTDigis_cfi::pset, services_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by addServices().

30  {
31  for (auto it = services_.begin(), itEnd = services_.end(); it != itEnd; ++it) {
32  std::string name = it->getParameter<std::string>("@service_type");
33  if (name == service) {
34  // Use the configured service. Don't add a default.
35  // However, the service needs to be moved to the front because it is a standard service.
36  ParameterSet pset = *it;
37  services_.erase(it);
39  return;
40  }
41  }
43  }
void addService(ParameterSet &pset)
Definition: ProcessDesc.cc:19
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

◆ addForcedService()

void edm::ProcessDesc::addForcedService ( std::string const &  service)

add a service and replace it if it's already there

Definition at line 45 of file ProcessDesc.cc.

References addService(), ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, Skims_PA_cff::name, services_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by addServices().

45  {
46  for (auto it = services_.begin(), itEnd = services_.end(); it != itEnd; ++it) {
47  std::string name = it->getParameter<std::string>("@service_type");
48  if (name == service) {
49  // Remove the configured service before adding the default.
50  services_.erase(it);
51  break;
52  }
53  }
55  }
void addService(ParameterSet &pset)
Definition: ProcessDesc.cc:19
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

◆ addService() [1/2]

void edm::ProcessDesc::addService ( ParameterSet pset)

Definition at line 19 of file ProcessDesc.cc.

References muonDTDigis_cfi::pset, and services_.

Referenced by addDefaultService(), addForcedService(), and addService().

19  {
20  // The standard services should be initialized first.
21  services_.insert(services_.begin(), pset);
22  }
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

◆ addService() [2/2]

void edm::ProcessDesc::addService ( std::string const &  service)

add a service as an empty pset

Definition at line 24 of file ProcessDesc.cc.

References edm::ParameterSet::addParameter(), addService(), and AlCaHLTBitMon_QueryRunRegistry::string.

24  {
25  ParameterSet newpset;
26  newpset.addParameter<std::string>("@service_type", service);
27  addService(newpset);
28  }
void addService(ParameterSet &pset)
Definition: ProcessDesc.cc:19

◆ addServices()

void edm::ProcessDesc::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 at line 57 of file ProcessDesc.cc.

References addDefaultService(), and addForcedService().

58  {
59  // Add the default services to services_.
60  for (auto const& service : defaultServices) {
62  }
63  // Add the forced services to services_.
64  for (auto const& service : forcedServices) {
66  }
67  }
void addDefaultService(std::string const &service)
add a service if it&#39;s not already there
Definition: ProcessDesc.cc:30
void addForcedService(std::string const &service)
add a service and replace it if it&#39;s already there
Definition: ProcessDesc.cc:45

◆ dump()

std::string edm::ProcessDesc::dump ( void  ) const

Definition at line 69 of file ProcessDesc.cc.

References MillePedeFileConverter_cfg::out, pset_, services_, and AlCaHLTBitMon_QueryRunRegistry::string.

69  {
70  std::string out = pset_->dump();
71  for (auto const& service : services_) {
72  out += service.dump();
73  }
74  return out;
75  }
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:46
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

◆ getProcessPSet() [1/2]

std::shared_ptr<ParameterSet const> edm::ProcessDesc::getProcessPSet ( ) const
inline

get the parameter set

Definition at line 25 of file ProcessDesc.h.

References edm::get_underlying_safe(), and pset_.

25 { return get_underlying_safe(pset_); }
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:46
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)

◆ getProcessPSet() [2/2]

std::shared_ptr<ParameterSet>& edm::ProcessDesc::getProcessPSet ( )
inline

Definition at line 26 of file ProcessDesc.h.

References edm::get_underlying_safe(), and pset_.

26 { return get_underlying_safe(pset_); }
edm::propagate_const< std::shared_ptr< ParameterSet > > pset_
Definition: ProcessDesc.h:46
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)

◆ getServicesPSets() [1/2]

auto const& edm::ProcessDesc::getServicesPSets ( ) const
inline

get the descriptions of the services

Definition at line 29 of file ProcessDesc.h.

References services_.

29 { return services_; }
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

◆ getServicesPSets() [2/2]

auto& edm::ProcessDesc::getServicesPSets ( )
inline

Definition at line 30 of file ProcessDesc.h.

References services_.

30 { return services_; }
std::vector< ParameterSet > services_
Definition: ProcessDesc.h:47

Member Data Documentation

◆ pset_

edm::propagate_const<std::shared_ptr<ParameterSet> > edm::ProcessDesc::pset_
private

Definition at line 46 of file ProcessDesc.h.

Referenced by dump(), and getProcessPSet().

◆ services_

std::vector<ParameterSet> edm::ProcessDesc::services_
private