CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 ( const Schedule iSchedule)

Definition at line 36 of file ScheduleInfo.cc.

36  :
37 schedule_(iSchedule)
38 {
39 }
const Schedule * schedule_
Definition: ScheduleInfo.h:64
ScheduleInfo::~ScheduleInfo ( )
virtual

Definition at line 46 of file ScheduleInfo.cc.

47 {
48 }

Member Function Documentation

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

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

Definition at line 70 of file ScheduleInfo.cc.

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

71 {
72  using std::placeholders::_1;
73  std::vector<ModuleDescription const*> desc = schedule_->getAllModuleDescriptions();
74 
75  oLabelsToFill.reserve(oLabelsToFill.size()+desc.size());
76  std::transform(desc.begin(),desc.end(),
77  std::back_inserter(oLabelsToFill),
78  std::bind(&ModuleDescription::moduleLabel,_1));
79 }
std::string const & moduleLabel() const
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
Definition: Schedule.cc:943
const Schedule * schedule_
Definition: ScheduleInfo.h:64
void ScheduleInfo::availablePaths ( std::vector< std::string > &  oLabelsToFill) const

adds to oLabelsToFill the labels for all paths in the process

Definition at line 99 of file ScheduleInfo.cc.

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

Referenced by FWPSetTableManager::updateSchedule().

100 {
101  schedule_->availablePaths(oLabelsToFill);
102 }
void availablePaths(std::vector< std::string > &oLabelsToFill) const
adds to oLabelsToFill the labels for all paths in the process
Definition: Schedule.cc:960
const Schedule * schedule_
Definition: ScheduleInfo.h:64
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 105 of file ScheduleInfo.cc.

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

Referenced by FWPSetTableManager::updateSchedule().

107 {
108  schedule_->modulesInPath(iPathLabel, oLabelsToFill);
109 }
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:975
const Schedule * schedule_
Definition: ScheduleInfo.h:64
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 82 of file ScheduleInfo.cc.

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

Referenced by FWPSetTableManager::updateSchedule().

83 {
84  using std::placeholders::_1;
85  std::vector<ModuleDescription const*> desc = schedule_->getAllModuleDescriptions();
86 
87  std::vector<ModuleDescription const*>::iterator itFound = std::find_if(desc.begin(),
88  desc.end(),
89  std::bind(std::equal_to<std::string>(),
90  iLabel,
91  std::bind(&ModuleDescription::moduleLabel,_1)));
92  if (itFound == desc.end()) {
93  return nullptr;
94  }
95  return pset::Registry::instance()->getMapped((*itFound)->parameterSetID());
96 }
std::string const & moduleLabel() const
bool getMapped(key_type const &k, value_type &result) const
Definition: Registry.cc:22
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
Definition: Schedule.cc:943
static Registry * instance()
Definition: Registry.cc:16
const Schedule * schedule_
Definition: ScheduleInfo.h:64

Member Data Documentation

const Schedule* edm::ScheduleInfo::schedule_
private