CMS 3D CMS Logo

Public Member Functions | Private Attributes

edm::ScheduleInfo Class Reference

#include <ScheduleInfo.h>

List of all members.

Public Member Functions

void availableModuleLabels (std::vector< std::string > &oLabelsToFill) const
 adds to oLabelsToFill the labels for all modules used in the process
void availablePaths (std::vector< std::string > &oLabelsToFill) const
 adds to oLabelsToFill the labels for all paths in the process
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
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.

                                                   :
schedule_(iSchedule)
{
}
ScheduleInfo::~ScheduleInfo ( ) [virtual]

Definition at line 48 of file ScheduleInfo.cc.

{
}

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(), and schedule_.

{
   std::vector<ModuleDescription const*> desc = schedule_->getAllModuleDescriptions();
   
   oLabelsToFill.reserve(oLabelsToFill.size()+desc.size());
   std::transform(desc.begin(),desc.end(),
                  std::back_inserter(oLabelsToFill),
                  boost::bind(&ModuleDescription::moduleLabel,_1));
}
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().

{
   schedule_->availablePaths(oLabelsToFill);
}
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().

{
   schedule_->modulesInPath(iPathLabel, oLabelsToFill);
}
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(), instance, edm::ModuleDescription::moduleLabel(), and schedule_.

Referenced by FWPSetTableManager::updateSchedule().

{
   std::vector<ModuleDescription const*> desc = schedule_->getAllModuleDescriptions();
   
   std::vector<ModuleDescription const*>::iterator itFound = std::find_if(desc.begin(),
                                                                          desc.end(),
                                                                          boost::bind(std::equal_to<std::string>(),
                                                                                      iLabel,
                                                                                      boost::bind(&ModuleDescription::moduleLabel,_1)));
   if (itFound == desc.end()) {
      return 0;
   }
   return pset::Registry::instance()->getMapped((*itFound)->parameterSetID());
}

Member Data Documentation