LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "PathManager.h"
Classes | |
struct | ModulesByThreadingType |
Public Member Functions | |
PathManager (fhicl::ParameterSet const &procPS, UpdateOutputCallbacks &preg, ProductDescriptions &productsToProduce, ActionTable const &exceptActions, ActivityRegistry const &areg, detail::EnabledModules enabled_modules) | |
PathManager (PathManager const &)=delete | |
PathManager (PathManager &&)=delete | |
PathManager & | operator= (PathManager const &)=delete |
PathManager & | operator= (PathManager &&)=delete |
std::vector< PathSpec > | triggerPathSpecs () const |
void | createModulesAndWorkers (GlobalTaskGroup &task_group, detail::SharedResources &resources, std::vector< std::string > const &producing_services) |
std::unique_ptr< Worker > | releaseTriggerResultsInserter (ScheduleID) |
PathsInfo & | triggerPathsInfo (ScheduleID) |
PerScheduleContainer< PathsInfo > const & | triggerPathsInfo () |
PathsInfo & | endPathInfo (ScheduleID) |
PerScheduleContainer< PathsInfo > const & | endPathInfo () |
Private Types | |
using | maybe_module_t = std::variant< ModuleBase *, std::string > |
Private Member Functions | |
std::map< std::string, detail::ModuleConfigInfo > | moduleInformation_ (detail::EnabledModules const &enabled_modules) const |
ModulesByThreadingType | makeModules_ (ScheduleID::size_type n) |
std::unique_ptr< ReplicatedProducer > | makeTriggerResultsInserter_ (ScheduleID scheduleID) |
maybe_module_t | makeModule_ (fhicl::ParameterSet const &module_pset, ModuleDescription const &md, ScheduleID) const |
std::vector< WorkerInPath > | fillWorkers_ (PathContext const &pc, std::vector< WorkerInPath::ConfigInfo > const &wci_list, std::map< std::string, std::shared_ptr< Worker >> &workers, GlobalTaskGroup &task_group, detail::SharedResources &resources) |
std::shared_ptr< Worker > | makeWorker_ (ModuleDescription const &md, WorkerParams const &wp) |
ModuleType | loadModuleType_ (std::string const &lib_spec) const |
ModuleThreadingType | loadModuleThreadingType_ (std::string const &lib_spec) const |
detail::collection_map_t | getModuleGraphInfoCollection_ (std::vector< std::string > const &producing_services) |
void | fillModuleOnlyDeps_ (std::string const &path_name, detail::configs_t const &worker_configs, std::map< std::string, std::set< ProductInfo >> const &produced_products, std::map< std::string, std::set< std::string >> const &viewable_products, detail::collection_map_t &info_collection) const |
void | fillSelectEventsDeps_ (detail::configs_t const &worker_configs, detail::collection_map_t &info_collection) const |
std::vector< std::string > | triggerPathNames_ () const |
std::vector< std::string > | prependedTriggerPathNames_ () const |
Private Attributes | |
UpdateOutputCallbacks & | outputCallbacks_ |
ActionTable const & | exceptActions_ |
ActivityRegistry const & | actReg_ |
fhicl::ParameterSet | procPS_ |
art::detail::module_entries_for_ordered_path_t | triggerPathSpecs_ |
PerScheduleContainer< PathsInfo > | triggerPathsInfo_ |
PerScheduleContainer< PathsInfo > | endPathInfo_ |
ProductDescriptions & | productsToProduce_ |
cet::LibraryManager | lm_ {Suffixes::module()} |
std::string | processName_ {} |
std::map< std::string, detail::ModuleConfigInfo > | allModules_ {} |
art::detail::paths_to_modules_t | protoTrigPathLabels_ {} |
art::detail::configs_t | protoEndPathLabels_ {} |
ModulesByThreadingType | modules_ {} |
PerScheduleContainer< std::unique_ptr< Worker > > | triggerResultsWorkers_ |
Definition at line 50 of file PathManager.h.
|
private |
Definition at line 91 of file PathManager.h.
art::PathManager::PathManager | ( | fhicl::ParameterSet const & | procPS, |
UpdateOutputCallbacks & | preg, | ||
ProductDescriptions & | productsToProduce, | ||
ActionTable const & | exceptActions, | ||
ActivityRegistry const & | areg, | ||
detail::EnabledModules | enabled_modules | ||
) |
Definition at line 70 of file PathManager.cc.
References actReg_, allModules_, endPathInfo_, exceptActions_, art::Globals::instance(), moduleInformation_(), art::PathSpec::name, art::detail::Normal, art::Globals::nschedules(), art::path_spec(), prependedTriggerPathNames_(), processName_, procPS_, productsToProduce_, protoEndPathLabels_, protoTrigPathLabels_, fhicl::ParameterSetRegistry::put(), fhicl::ParameterSet::put(), art::Globals::setProcessName(), art::Globals::setTriggerPathNames(), art::Globals::setTriggerPSet(), util::size(), triggerPathNames_(), triggerPathsInfo_, triggerPathSpecs_, and triggerResultsWorkers_.
|
delete |
|
delete |
void art::PathManager::createModulesAndWorkers | ( | GlobalTaskGroup & | task_group, |
detail::SharedResources & | resources, | ||
std::vector< std::string > const & | producing_services | ||
) |
Definition at line 169 of file PathManager.cc.
References actReg_, allModules_, art::errors::Configuration, art::PathContext::end_path_spec(), endPathInfo_, exceptActions_, fillWorkers_(), fhicl::ParameterSet::get(), getModuleGraphInfoCollection_(), art::Globals::instance(), art::detail::make_module_graph(), makeModules_(), makeTriggerResultsInserter_(), modules_, art::GlobalTaskGroup::native_group(), art::Globals::nschedules(), outputCallbacks_, art::path_spec(), art::detail::print_module_graph(), procPS_, productsToProduce_, protoEndPathLabels_, protoTrigPathLabels_, art::PathManager::ModulesByThreadingType::replicated, sc, triggerPathsInfo_, and triggerResultsWorkers_.
PathsInfo & art::PathManager::endPathInfo | ( | ScheduleID | sid | ) |
Definition at line 284 of file PathManager.cc.
References endPathInfo_.
Referenced by art::detail::writeSummary().
PerScheduleContainer< PathsInfo > const & art::PathManager::endPathInfo | ( | ) |
Definition at line 290 of file PathManager.cc.
References endPathInfo_.
|
private |
Definition at line 648 of file PathManager.cc.
References util::cbegin(), util::cend(), art::ConsumesInfo::consumables(), art::detail::consumed_products_for_module(), util::end(), art::ConsumesInfo::instance(), and processName_.
Referenced by getModuleGraphInfoCollection_().
|
private |
Definition at line 694 of file PathManager.cc.
References art::is_observer(), art::path_spec(), art::path_specs(), and art::detail::remove_whitespace().
Referenced by getModuleGraphInfoCollection_().
|
private |
Definition at line 474 of file PathManager.cc.
References actReg_, exceptActions_, makeWorker_(), art::GlobalTaskGroup::native_group(), outputCallbacks_, art::PathContext::pathID(), util::pi(), productsToProduce_, art::PathContext::scheduleID(), TDEBUG, TDEBUG_FUNC_SI, and art::to_string().
Referenced by createModulesAndWorkers().
|
private |
Definition at line 582 of file PathManager.cc.
References util::cend(), art::PathContext::end_path(), fillModuleOnlyDeps_(), fillSelectEventsDeps_(), art::PathSpec::name, art::path_spec(), art::producer, art::producing_service, art::ProductInfo::Product, productsToProduce_, protoEndPathLabels_, protoTrigPathLabels_, and triggerPathSpecs_.
Referenced by createModulesAndWorkers().
|
private |
Definition at line 559 of file PathManager.cc.
References art::errors::Configuration, art::getReleaseVersion(), and lm_.
Referenced by moduleInformation_().
|
private |
Definition at line 540 of file PathManager.cc.
References art::errors::Configuration, art::getReleaseVersion(), and lm_.
Referenced by moduleInformation_().
|
private |
Definition at line 413 of file PathManager.cc.
References art::errors::Configuration, e, art::getReleaseVersion(), lm_, art::detail::module_type(), and fhicl::detail::validationException::what().
Referenced by makeModules_().
|
private |
Definition at line 341 of file PathManager.cc.
References actReg_, allModules_, art::ConsumesInfo::collectConsumes(), art::errors::Configuration, art::ScheduleID::first(), art::ConsumesInfo::instance(), art::legacy, makeModule_(), art::module, art::detail::module_type(), processName_, art::shared, art::ActivityRegistry::sPostModuleConstruction, and art::ActivityRegistry::sPreModuleConstruction.
Referenced by createModulesAndWorkers().
|
private |
Definition at line 445 of file PathManager.cc.
References actReg_, art::getReleaseVersion(), fhicl::ParameterSet::id(), art::Globals::instance(), processName_, procPS_, art::producer, art::replicated, art::ActivityRegistry::sPostModuleConstruction, art::ActivityRegistry::sPreModuleConstruction, triggerPathsInfo_, and art::Globals::triggerPSet().
Referenced by createModulesAndWorkers().
|
private |
Definition at line 521 of file PathManager.cc.
References art::legacy, art::module, art::ModuleDescription::moduleLabel(), modules_, art::ModuleDescription::moduleThreadingType(), art::PathManager::ModulesByThreadingType::replicated, art::WorkerParams::scheduleID_, art::shared, and art::PathManager::ModulesByThreadingType::shared.
Referenced by fillWorkers_().
|
private |
Definition at line 296 of file PathManager.cc.
References art::errors::Configuration, e, util::empty(), fhicl::ParameterSet::get(), art::getReleaseVersion(), fhicl::ParameterSet::id(), loadModuleThreadingType_(), loadModuleType_(), art::detail::module_type(), art::detail::EnabledModules::modules(), processName_, procPS_, and art::to_string().
Referenced by PathManager().
|
delete |
|
delete |
|
private |
Definition at line 160 of file PathManager.cc.
References art::to_string(), and triggerPathSpecs_.
Referenced by PathManager().
std::unique_ptr< Worker > art::PathManager::releaseTriggerResultsInserter | ( | ScheduleID | scheduleID | ) |
Definition at line 468 of file PathManager.cc.
References triggerResultsWorkers_.
|
private |
Definition at line 151 of file PathManager.cc.
References triggerPathSpecs_.
Referenced by PathManager().
PathsInfo & art::PathManager::triggerPathsInfo | ( | ScheduleID | sid | ) |
Definition at line 272 of file PathManager.cc.
References triggerPathsInfo_.
Referenced by art::detail::writeSummary().
PerScheduleContainer< PathsInfo > const & art::PathManager::triggerPathsInfo | ( | ) |
Definition at line 278 of file PathManager.cc.
References triggerPathsInfo_.
std::vector< PathSpec > art::PathManager::triggerPathSpecs | ( | ) | const |
Definition at line 144 of file PathManager.cc.
References triggerPathSpecs_.
|
private |
Definition at line 125 of file PathManager.h.
Referenced by createModulesAndWorkers(), fillWorkers_(), makeModules_(), makeTriggerResultsInserter_(), and PathManager().
|
private |
Definition at line 138 of file PathManager.h.
Referenced by createModulesAndWorkers(), makeModules_(), and PathManager().
|
private |
Definition at line 129 of file PathManager.h.
Referenced by createModulesAndWorkers(), endPathInfo(), and PathManager().
|
private |
Definition at line 124 of file PathManager.h.
Referenced by createModulesAndWorkers(), fillWorkers_(), and PathManager().
|
private |
Definition at line 132 of file PathManager.h.
Referenced by loadModuleThreadingType_(), loadModuleType_(), and makeModule_().
|
private |
Definition at line 141 of file PathManager.h.
Referenced by createModulesAndWorkers(), and makeWorker_().
|
private |
Definition at line 123 of file PathManager.h.
Referenced by createModulesAndWorkers(), and fillWorkers_().
|
private |
Definition at line 137 of file PathManager.h.
Referenced by fillModuleOnlyDeps_(), makeModules_(), makeTriggerResultsInserter_(), moduleInformation_(), and PathManager().
|
private |
Definition at line 126 of file PathManager.h.
Referenced by createModulesAndWorkers(), makeTriggerResultsInserter_(), moduleInformation_(), and PathManager().
|
private |
Definition at line 130 of file PathManager.h.
Referenced by createModulesAndWorkers(), fillWorkers_(), getModuleGraphInfoCollection_(), and PathManager().
|
private |
Definition at line 140 of file PathManager.h.
Referenced by createModulesAndWorkers(), getModuleGraphInfoCollection_(), and PathManager().
|
private |
Definition at line 139 of file PathManager.h.
Referenced by createModulesAndWorkers(), getModuleGraphInfoCollection_(), and PathManager().
|
private |
Definition at line 128 of file PathManager.h.
Referenced by createModulesAndWorkers(), makeTriggerResultsInserter_(), PathManager(), and triggerPathsInfo().
|
private |
Definition at line 127 of file PathManager.h.
Referenced by getModuleGraphInfoCollection_(), PathManager(), prependedTriggerPathNames_(), triggerPathNames_(), and triggerPathSpecs().
|
private |
Definition at line 142 of file PathManager.h.
Referenced by createModulesAndWorkers(), PathManager(), and releaseTriggerResultsInserter().