CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions
edm::PathsAndConsumesOfModulesBase Class Referenceabstract

#include <PathsAndConsumesOfModulesBase.h>

Inheritance diagram for edm::PathsAndConsumesOfModulesBase:
edm::PathsAndConsumesOfModules

Public Member Functions

std::vector< ModuleDescription const * > const & allModules () const
 
std::vector< ConsumesInfoconsumesInfo (unsigned int moduleID) const
 
std::vector< std::string > const & endPaths () const
 
ModuleDescription const * moduleDescription (unsigned int moduleID) const
 
std::vector< ModuleDescription const * > const & modulesOnEndPath (unsigned int endPathIndex) const
 
std::vector< ModuleDescription const * > const & modulesOnPath (unsigned int pathIndex) const
 
std::vector< ModuleDescription const * > const & modulesWhoseProductsAreConsumedBy (unsigned int moduleID) const
 
std::vector< std::string > const & paths () const
 
virtual ~PathsAndConsumesOfModulesBase ()
 

Private Member Functions

virtual std::vector< ModuleDescription const * > const & doAllModules () const =0
 
virtual std::vector< ConsumesInfodoConsumesInfo (unsigned int moduleID) const =0
 
virtual std::vector< std::string > const & doEndPaths () const =0
 
virtual ModuleDescription const * doModuleDescription (unsigned int moduleID) const =0
 
virtual std::vector< ModuleDescription const * > const & doModulesOnEndPath (unsigned int endPathIndex) const =0
 
virtual std::vector< ModuleDescription const * > const & doModulesOnPath (unsigned int pathIndex) const =0
 
virtual std::vector< ModuleDescription const * > const & doModulesWhoseProductsAreConsumedBy (unsigned int moduleID) const =0
 
virtual std::vector< std::string > const & doPaths () const =0
 

Detailed Description

Description: Contains information about paths and end paths as well as the modules on them. Also contains information about all modules that might run. Also contains information about the products a module is declared to consume and the dependences between modules which can be derived from those declarations.

Usage: This is typically passed as an argument to the PreBeginJob callback for a service.

In a SubProcess job, an instance of this class this will contain information about 1 Process/SubProcess, but a service will be passed a separate object for its process and each SubProcess descended from it.

Definition at line 34 of file PathsAndConsumesOfModulesBase.h.

Constructor & Destructor Documentation

edm::PathsAndConsumesOfModulesBase::~PathsAndConsumesOfModulesBase ( )
virtual

Definition at line 5 of file PathsAndConsumesOfModulesBase.cc.

5  {
6  }

Member Function Documentation

std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::allModules ( ) const
inline
std::vector<ConsumesInfo> edm::PathsAndConsumesOfModulesBase::consumesInfo ( unsigned int  moduleID) const
inline

Definition at line 79 of file PathsAndConsumesOfModulesBase.h.

References doAllModules(), doConsumesInfo(), doEndPaths(), doModuleDescription(), doModulesOnEndPath(), doModulesOnPath(), doModulesWhoseProductsAreConsumedBy(), and doPaths().

Referenced by edm::service::Tracer::preBeginJob().

79  {
80  return doConsumesInfo(moduleID);
81  }
virtual std::vector< ConsumesInfo > doConsumesInfo(unsigned int moduleID) const =0
virtual std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::doAllModules ( ) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by allModules(), and consumesInfo().

virtual std::vector<ConsumesInfo> edm::PathsAndConsumesOfModulesBase::doConsumesInfo ( unsigned int  moduleID) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by consumesInfo().

virtual std::vector<std::string> const& edm::PathsAndConsumesOfModulesBase::doEndPaths ( ) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by consumesInfo(), and endPaths().

virtual ModuleDescription const* edm::PathsAndConsumesOfModulesBase::doModuleDescription ( unsigned int  moduleID) const
privatepure virtual
virtual std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::doModulesOnEndPath ( unsigned int  endPathIndex) const
privatepure virtual
virtual std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::doModulesOnPath ( unsigned int  pathIndex) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by consumesInfo(), and modulesOnPath().

virtual std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::doModulesWhoseProductsAreConsumedBy ( unsigned int  moduleID) const
privatepure virtual
virtual std::vector<std::string> const& edm::PathsAndConsumesOfModulesBase::doPaths ( ) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by consumesInfo(), and paths().

std::vector<std::string> const& edm::PathsAndConsumesOfModulesBase::endPaths ( ) const
inline
ModuleDescription const* edm::PathsAndConsumesOfModulesBase::moduleDescription ( unsigned int  moduleID) const
inline

Definition at line 46 of file PathsAndConsumesOfModulesBase.h.

References doModuleDescription().

Referenced by edm::service::Tracer::preBeginJob().

46  {
47  return doModuleDescription(moduleID);
48  }
virtual ModuleDescription const * doModuleDescription(unsigned int moduleID) const =0
std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::modulesOnEndPath ( unsigned int  endPathIndex) const
inline

Definition at line 54 of file PathsAndConsumesOfModulesBase.h.

References doModulesOnEndPath().

Referenced by edm::checkForModuleDependencyCorrectness(), DependencyGraph::preBeginJob(), edm::service::Tracer::preBeginJob(), and ProcessCallGraph::preBeginJob().

54  {
55  return doModulesOnEndPath(endPathIndex);
56  }
virtual std::vector< ModuleDescription const * > const & doModulesOnEndPath(unsigned int endPathIndex) const =0
std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::modulesOnPath ( unsigned int  pathIndex) const
inline

Definition at line 50 of file PathsAndConsumesOfModulesBase.h.

References doModulesOnPath().

Referenced by edm::checkForModuleDependencyCorrectness(), DependencyGraph::preBeginJob(), edm::service::Tracer::preBeginJob(), and ProcessCallGraph::preBeginJob().

50  {
51  return doModulesOnPath(pathIndex);
52  }
virtual std::vector< ModuleDescription const * > const & doModulesOnPath(unsigned int pathIndex) const =0
std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::modulesWhoseProductsAreConsumedBy ( unsigned int  moduleID) const
inline

Definition at line 68 of file PathsAndConsumesOfModulesBase.h.

References doModulesWhoseProductsAreConsumedBy().

Referenced by edm::checkForModuleDependencyCorrectness(), DependencyGraph::preBeginJob(), edm::service::Tracer::preBeginJob(), and ProcessCallGraph::preBeginJob().

68  {
69  return doModulesWhoseProductsAreConsumedBy(moduleID);
70  }
virtual std::vector< ModuleDescription const * > const & doModulesWhoseProductsAreConsumedBy(unsigned int moduleID) const =0
std::vector<std::string> const& edm::PathsAndConsumesOfModulesBase::paths ( ) const
inline