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
 
unsigned int largestModuleID () 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, BranchType branchType=InEvent) 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 unsigned int doLargestModuleID () 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, BranchType branchType) 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 35 of file PathsAndConsumesOfModulesBase.h.

Constructor & Destructor Documentation

◆ ~PathsAndConsumesOfModulesBase()

edm::PathsAndConsumesOfModulesBase::~PathsAndConsumesOfModulesBase ( )
virtual

Definition at line 5 of file PathsAndConsumesOfModulesBase.cc.

5 {}

Member Function Documentation

◆ allModules()

std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::allModules ( ) const
inline

◆ consumesInfo()

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

Definition at line 76 of file PathsAndConsumesOfModulesBase.h.

References doConsumesInfo().

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

76 { return doConsumesInfo(moduleID); }
virtual std::vector< ConsumesInfo > doConsumesInfo(unsigned int moduleID) const =0

◆ doAllModules()

virtual std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::doAllModules ( ) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by allModules().

◆ doConsumesInfo()

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

Implemented in edm::PathsAndConsumesOfModules.

Referenced by consumesInfo().

◆ doEndPaths()

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

Implemented in edm::PathsAndConsumesOfModules.

Referenced by endPaths().

◆ doLargestModuleID()

virtual unsigned int edm::PathsAndConsumesOfModulesBase::doLargestModuleID ( ) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by largestModuleID().

◆ doModuleDescription()

virtual ModuleDescription const* edm::PathsAndConsumesOfModulesBase::doModuleDescription ( unsigned int  moduleID) const
privatepure virtual

Implemented in edm::PathsAndConsumesOfModules.

Referenced by moduleDescription().

◆ doModulesOnEndPath()

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

Implemented in edm::PathsAndConsumesOfModules.

Referenced by modulesOnEndPath().

◆ doModulesOnPath()

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

Implemented in edm::PathsAndConsumesOfModules.

Referenced by modulesOnPath().

◆ doModulesWhoseProductsAreConsumedBy()

virtual std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::doModulesWhoseProductsAreConsumedBy ( unsigned int  moduleID,
BranchType  branchType 
) const
privatepure virtual

◆ doPaths()

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

Implemented in edm::PathsAndConsumesOfModules.

Referenced by paths().

◆ endPaths()

std::vector<std::string> const& edm::PathsAndConsumesOfModulesBase::endPaths ( ) const
inline

◆ largestModuleID()

unsigned int edm::PathsAndConsumesOfModulesBase::largestModuleID ( ) const
inline

Definition at line 78 of file PathsAndConsumesOfModulesBase.h.

References doLargestModuleID().

Referenced by DependencyGraph::preBeginJob(), and ProcessCallGraph::preBeginJob().

78 { return doLargestModuleID(); }
virtual unsigned int doLargestModuleID() const =0

◆ moduleDescription()

ModuleDescription const* edm::PathsAndConsumesOfModulesBase::moduleDescription ( unsigned int  moduleID) const
inline

Definition at line 44 of file PathsAndConsumesOfModulesBase.h.

References doModuleDescription().

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

44 { return doModuleDescription(moduleID); }
virtual ModuleDescription const * doModuleDescription(unsigned int moduleID) const =0

◆ modulesOnEndPath()

std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::modulesOnEndPath ( unsigned int  endPathIndex) const
inline

Definition at line 50 of file PathsAndConsumesOfModulesBase.h.

References doModulesOnEndPath().

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

50  {
51  return doModulesOnEndPath(endPathIndex);
52  }
virtual std::vector< ModuleDescription const * > const & doModulesOnEndPath(unsigned int endPathIndex) const =0

◆ modulesOnPath()

std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::modulesOnPath ( unsigned int  pathIndex) const
inline

Definition at line 46 of file PathsAndConsumesOfModulesBase.h.

References doModulesOnPath().

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

46  {
47  return doModulesOnPath(pathIndex);
48  }
virtual std::vector< ModuleDescription const * > const & doModulesOnPath(unsigned int pathIndex) const =0

◆ modulesWhoseProductsAreConsumedBy()

std::vector<ModuleDescription const*> const& edm::PathsAndConsumesOfModulesBase::modulesWhoseProductsAreConsumedBy ( unsigned int  moduleID,
BranchType  branchType = InEvent 
) const
inline

Definition at line 64 of file PathsAndConsumesOfModulesBase.h.

References doModulesWhoseProductsAreConsumedBy().

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

65  {
66  return doModulesWhoseProductsAreConsumedBy(moduleID, branchType);
67  }
virtual std::vector< ModuleDescription const * > const & doModulesWhoseProductsAreConsumedBy(unsigned int moduleID, BranchType branchType) const =0

◆ paths()

std::vector<std::string> const& edm::PathsAndConsumesOfModulesBase::paths ( ) const
inline