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 33 of file ScheduleInfo.h.

Constructor & Destructor Documentation

ScheduleInfo::ScheduleInfo ( const Schedule iSchedule)

Definition at line 38 of file ScheduleInfo.cc.

38  :
39 schedule_(iSchedule)
40 {
41 }
const Schedule * schedule_
Definition: ScheduleInfo.h:65
ScheduleInfo::~ScheduleInfo ( )
virtual

Definition at line 48 of file ScheduleInfo.cc.

49 {
50 }

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 72 of file ScheduleInfo.cc.

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

73 {
74  std::vector<ModuleDescription const*> desc = schedule_->getAllModuleDescriptions();
75 
76  oLabelsToFill.reserve(oLabelsToFill.size()+desc.size());
77  std::transform(desc.begin(),desc.end(),
78  std::back_inserter(oLabelsToFill),
79  boost::bind(&ModuleDescription::moduleLabel,_1));
80 }
std::string const & moduleLabel() const
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
Definition: Schedule.cc:1358
const Schedule * schedule_
Definition: ScheduleInfo.h:65
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:1373
const Schedule * schedule_
Definition: ScheduleInfo.h:65
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:1382
const Schedule * schedule_
Definition: ScheduleInfo.h:65
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 83 of file ScheduleInfo.cc.

References edm::Schedule::getAllModuleDescriptions(), edm::detail::ThreadSafeRegistry< KEY, T, E >::getMapped(), edm::detail::ThreadSafeRegistry< KEY, T, E >::instance(), edm::ModuleDescription::moduleLabel(), and schedule_.

Referenced by FWPSetTableManager::updateSchedule().

84 {
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  boost::bind(std::equal_to<std::string>(),
90  iLabel,
91  boost::bind(&ModuleDescription::moduleLabel,_1)));
92  if (itFound == desc.end()) {
93  return 0;
94  }
95  return pset::Registry::instance()->getMapped((*itFound)->parameterSetID());
96 }
static ThreadSafeRegistry * instance()
bool getMapped(key_type const &k, value_type &result) const
std::string const & moduleLabel() const
std::vector< ModuleDescription const * > getAllModuleDescriptions() const
Definition: Schedule.cc:1358
const Schedule * schedule_
Definition: ScheduleInfo.h:65

Member Data Documentation

const Schedule* edm::ScheduleInfo::schedule_
private