CMS 3D CMS Logo

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

#include <ScheduleInfo.h>

Public Member Functions

void availableModuleLabels (std::vector< std::string > &oLabelsToFill) const
 adds to oLabelsToFill the labels for all modules used in the process More...
 
void availablePaths (std::vector< std::string > &oLabelsToFill) const
 adds to oLabelsToFill the labels for all paths in the process More...
 
void modulesInPath (const std::string &iPathLabel, std::vector< std::string > &oLabelsToFill) const
 add to oLabelsToFill in execution order the labels of all modules in path iPathLabel More...
 
const edm::ParameterSetparametersForModule (const std::string &iLabel) const
 
 ScheduleInfo (const Schedule *)
 
virtual ~ScheduleInfo ()
 

Private Attributes

const Scheduleschedule_
 

Detailed Description

Definition at line 32 of file ScheduleInfo.h.

Constructor & Destructor Documentation

◆ ScheduleInfo()

ScheduleInfo::ScheduleInfo ( const Schedule iSchedule)

Definition at line 36 of file ScheduleInfo.cc.

36 : schedule_(iSchedule) {}

◆ ~ScheduleInfo()

ScheduleInfo::~ScheduleInfo ( )
virtual

Definition at line 43 of file ScheduleInfo.cc.

43 {}

Member Function Documentation

◆ availableModuleLabels()

void ScheduleInfo::availableModuleLabels ( std::vector< std::string > &  oLabelsToFill) const

adds to oLabelsToFill the labels for all modules used in the process

Definition at line 64 of file ScheduleInfo.cc.

64  {
65  using std::placeholders::_1;
66  std::vector<ModuleDescription const*> desc = schedule_->getAllModuleDescriptions();
67 
68  oLabelsToFill.reserve(oLabelsToFill.size() + desc.size());
70  desc.begin(), desc.end(), std::back_inserter(oLabelsToFill), std::bind(&ModuleDescription::moduleLabel, _1));
71 }

References edm::Schedule::getAllModuleDescriptions(), edm::ModuleDescription::moduleLabel(), schedule_, and HcalDetIdTransform::transform().

◆ availablePaths()

void ScheduleInfo::availablePaths ( std::vector< std::string > &  oLabelsToFill) const

adds to oLabelsToFill the labels for all paths in the process

Definition at line 87 of file ScheduleInfo.cc.

87  {
88  schedule_->availablePaths(oLabelsToFill);
89 }

References edm::Schedule::availablePaths(), and schedule_.

◆ modulesInPath()

void ScheduleInfo::modulesInPath ( const std::string &  iPathLabel,
std::vector< std::string > &  oLabelsToFill 
) const

add to oLabelsToFill in execution order the labels of all modules in path iPathLabel

Definition at line 91 of file ScheduleInfo.cc.

91  {
92  schedule_->modulesInPath(iPathLabel, oLabelsToFill);
93 }

References edm::Schedule::modulesInPath(), and schedule_.

◆ parametersForModule()

const ParameterSet * ScheduleInfo::parametersForModule ( const std::string &  iLabel) const

returns a pointer to the parameters for the module with label iLabel, returns 0 if no module exists with that label.

Definition at line 73 of file ScheduleInfo.cc.

73  {
74  using std::placeholders::_1;
75  std::vector<ModuleDescription const*> desc = schedule_->getAllModuleDescriptions();
76 
77  std::vector<ModuleDescription const*>::iterator itFound =
78  std::find_if(desc.begin(),
79  desc.end(),
80  std::bind(std::equal_to<std::string>(), iLabel, std::bind(&ModuleDescription::moduleLabel, _1)));
81  if (itFound == desc.end()) {
82  return nullptr;
83  }
84  return pset::Registry::instance()->getMapped((*itFound)->parameterSetID());
85 }

References edm::Schedule::getAllModuleDescriptions(), edm::pset::Registry::getMapped(), edm::pset::Registry::instance(), edm::ModuleDescription::moduleLabel(), and schedule_.

Member Data Documentation

◆ schedule_

const Schedule* edm::ScheduleInfo::schedule_
private
edm::pset::Registry::instance
static Registry * instance()
Definition: Registry.cc:12
edm::ModuleDescription::moduleLabel
std::string const & moduleLabel() const
Definition: ModuleDescription.h:43
edm::Schedule::modulesInPath
void modulesInPath(std::string const &iPathLabel, std::vector< std::string > &oLabelsToFill) const
adds to oLabelsToFill in execution order the labels of all modules in path iPathLabel
Definition: Schedule.cc:1338
edm::Schedule::availablePaths
void availablePaths(std::vector< std::string > &oLabelsToFill) const
adds to oLabelsToFill the labels for all paths in the process
Definition: Schedule.cc:1330
HcalDetIdTransform::transform
unsigned transform(const HcalDetId &id, unsigned transformCode)
Definition: HcalDetIdTransform.cc:7
edm::ScheduleInfo::schedule_
const Schedule * schedule_
Definition: ScheduleInfo.h:62
edm::Schedule::getAllModuleDescriptions
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
Definition: Schedule.cc:1311
edm::pset::Registry::getMapped
bool getMapped(key_type const &k, value_type &result) const
Definition: Registry.cc:17