Go to the documentation of this file. 1 #ifndef FWCore_Framework_PathsAndConsumesOfModules_h
2 #define FWCore_Framework_PathsAndConsumesOfModules_h
28 class ModuleDescription;
29 class ProductRegistry;
42 unsigned int moduleID)
const;
45 std::vector<std::string>
const&
doPaths()
const override {
return paths_; }
51 std::vector<ModuleDescription const*>
const&
doModulesOnPath(
unsigned int pathIndex)
const override;
52 std::vector<ModuleDescription const*>
const&
doModulesOnEndPath(
unsigned int endPathIndex)
const override;
54 unsigned int moduleID,
BranchType branchType)
const override;
56 std::vector<ConsumesInfo>
doConsumesInfo(
unsigned int moduleID)
const override;
60 unsigned int moduleIndex(
unsigned int moduleID)
const;
80 std::shared_ptr<ProductRegistry const>
preg_;
std::vector< ConsumesInfo > doConsumesInfo(unsigned int moduleID) const override
std::vector< std::vector< ModuleDescription const * > > modulesOnPaths_
std::vector< ModuleDescription const * > const & doModulesWhoseProductsAreConsumedBy(unsigned int moduleID, BranchType branchType) const override
std::vector< ModuleProcessName > const & modulesInPreviousProcessesWhoseProductsAreConsumedBy(unsigned int moduleID) const
unsigned int doLargestModuleID() const override
std::vector< std::vector< ModuleDescription const * > > modulesOnEndPaths_
std::array< std::vector< std::vector< ModuleDescription const * > >, NumBranchTypes > modulesWhoseProductsAreConsumedBy_
std::vector< std::string > const & doEndPaths() const override
void initialize(Schedule const *, std::shared_ptr< ProductRegistry const >)
std::vector< std::vector< ModuleProcessName > > modulesInPreviousProcessesWhoseProductsAreConsumedBy_
std::vector< ModuleDescription const * > const & doAllModules() const override
ModuleDescription const * doModuleDescription(unsigned int moduleID) const override
void checkForModuleDependencyCorrectness(edm::PathsAndConsumesOfModulesBase const &iPnC, bool iPrintDependencies)
std::vector< std::string > paths_
std::shared_ptr< ProductRegistry const > preg_
std::vector< std::pair< unsigned int, unsigned int > > moduleIDToIndex_
std::vector< ModuleDescription const * > const & doModulesOnEndPath(unsigned int endPathIndex) const override
std::vector< std::string > const & doPaths() const override
std::vector< std::string > endPaths_
std::vector< ModuleDescription const * > allModuleDescriptions_
std::vector< ModuleDescription const * > nonConsumedUnscheduledModules(edm::PathsAndConsumesOfModulesBase const &iPnC, std::vector< ModuleProcessName > &consumedByChildren)
Schedule const * schedule_
void removeModules(std::vector< ModuleDescription const * > const &modules)
PathsAndConsumesOfModules()
~PathsAndConsumesOfModules() override
std::vector< ModuleDescription const * > const & doModulesOnPath(unsigned int pathIndex) const override
unsigned int moduleIndex(unsigned int moduleID) const