LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "EndPathExecutor.h"
Classes | |
class | PathsDoneTask |
Private Attributes | |
ScheduleContext const | sc_ |
ActionTable const & | actionTable_ |
PathsInfo & | endPathInfo_ |
GlobalTaskGroup & | taskGroup_ |
std::vector< OutputWorker * > | outputWorkers_ {} |
std::unique_ptr< RangeSetHandler > | runRangeSetHandler_ {nullptr} |
std::unique_ptr< RangeSetHandler > | subRunRangeSetHandler_ {nullptr} |
std::atomic< OutputFileStatus > | fileStatus_ {OutputFileStatus::Closed} |
std::set< OutputWorker * > | outputWorkersToOpen_ {} |
std::set< OutputWorker * > | outputWorkersToClose_ {} |
Friends | |
class | Schedule |
Definition at line 41 of file EndPathExecutor.h.
art::EndPathExecutor::EndPathExecutor | ( | ScheduleID | sid, |
PathManager & | pm, | ||
ActionTable const & | actions, | ||
UpdateOutputCallbacks & | callbacks, | ||
GlobalTaskGroup & | task_group | ||
) |
Definition at line 44 of file EndPathExecutor.cc.
References actionTable_, endPathInfo_, outputWorkers_, outputWorkersToOpen_, selectProducts(), taskGroup_, util::values(), and art::PathsInfo::workers().
|
delete |
|
delete |
void art::EndPathExecutor::beginJob | ( | detail::SharedResources const & | resources | ) |
Definition at line 67 of file EndPathExecutor.cc.
References endPathInfo_.
Referenced by art::Schedule::beginJob().
void art::EndPathExecutor::closeAllOutputFiles | ( | ) |
Definition at line 150 of file EndPathExecutor.cc.
References outputWorkers_.
void art::EndPathExecutor::closeSomeOutputFiles | ( | ) |
Definition at line 345 of file EndPathExecutor.cc.
References outputWorkersToClose_, outputWorkersToOpen_, setOutputFileStatus(), and art::Switching.
void art::EndPathExecutor::endJob | ( | ) |
Definition at line 75 of file EndPathExecutor.cc.
References e, art::errors::EndJobFailure, and endPathInfo_.
Referenced by art::Schedule::endJob().
void art::EndPathExecutor::incrementInputFileNumber | ( | ) |
Definition at line 410 of file EndPathExecutor.cc.
References outputWorkers_.
void art::EndPathExecutor::openSomeOutputFiles | ( | FileBlock const & | fb | ) |
Definition at line 366 of file EndPathExecutor.cc.
References art::Open, outputWorkersToOpen_, and setOutputFileStatus().
|
delete |
|
delete |
bool art::EndPathExecutor::outputsToClose | ( | ) | const |
Definition at line 331 of file EndPathExecutor.cc.
References outputWorkersToClose_.
bool art::EndPathExecutor::outputsToOpen | ( | ) | const |
Definition at line 360 of file EndPathExecutor.cc.
References outputWorkersToOpen_.
void art::EndPathExecutor::process | ( | Transition | trans, |
Principal & | principal | ||
) |
Definition at line 214 of file EndPathExecutor.cc.
References endPathInfo_, art::errors::EventProcessorFailure, art::PathsInfo::incrementPassedEventCount(), and art::PathsInfo::paths().
Referenced by art::Schedule::process().
void art::EndPathExecutor::process_event | ( | hep::concurrency::WaitingTaskPtr | finalizeEventTask, |
EventPrincipal & | |||
) |
Definition at line 290 of file EndPathExecutor.cc.
References endPathInfo_, art::ScheduleContext::id(), art::PathsInfo::incrementTotalEventCount(), art::GlobalTaskGroup::may_run(), art::PathsInfo::paths(), art::PathsInfo::reset_for_event(), sc_, taskGroup_, TDEBUG_BEGIN_FUNC_SI, and TDEBUG_END_FUNC_SI.
Referenced by art::Schedule::process_event_observers().
void art::EndPathExecutor::recordOutputClosureRequests | ( | Granularity | atBoundary | ) |
Definition at line 395 of file EndPathExecutor.cc.
References outputWorkers_, and outputWorkersToClose_.
void art::EndPathExecutor::respondToCloseInputFile | ( | FileBlock const & | fb | ) |
Definition at line 118 of file EndPathExecutor.cc.
References endPathInfo_.
Referenced by art::Schedule::respondToCloseInputFile().
void art::EndPathExecutor::respondToCloseOutputFiles | ( | FileBlock const & | fb | ) |
Definition at line 134 of file EndPathExecutor.cc.
References endPathInfo_.
Referenced by art::Schedule::respondToCloseOutputFiles().
void art::EndPathExecutor::respondToOpenInputFile | ( | FileBlock const & | fb | ) |
Definition at line 110 of file EndPathExecutor.cc.
References endPathInfo_.
Referenced by art::Schedule::respondToOpenInputFile().
void art::EndPathExecutor::respondToOpenOutputFiles | ( | FileBlock const & | fb | ) |
Definition at line 126 of file EndPathExecutor.cc.
References endPathInfo_.
Referenced by art::Schedule::respondToOpenOutputFiles().
void art::EndPathExecutor::seedRunRangeSet | ( | RangeSetHandler const & | rsh | ) |
Definition at line 158 of file EndPathExecutor.cc.
References art::RangeSetHandler::clone(), and runRangeSetHandler_.
void art::EndPathExecutor::seedSubRunRangeSet | ( | RangeSetHandler const & | rsh | ) |
Definition at line 183 of file EndPathExecutor.cc.
References art::RangeSetHandler::clone(), and subRunRangeSetHandler_.
void art::EndPathExecutor::selectProducts | ( | ProductTables const & | tables | ) |
Definition at line 102 of file EndPathExecutor.cc.
References outputWorkers_.
Referenced by EndPathExecutor().
void art::EndPathExecutor::setOutputFileStatus | ( | OutputFileStatus | ofs | ) |
Definition at line 386 of file EndPathExecutor.cc.
References fileStatus_, and outputWorkers_.
Referenced by closeSomeOutputFiles(), and openSomeOutputFiles().
void art::EndPathExecutor::setRunAuxiliaryRangeSetID | ( | RangeSet const & | rs | ) |
Definition at line 164 of file EndPathExecutor.cc.
References outputWorkers_.
void art::EndPathExecutor::setSubRunAuxiliaryRangeSetID | ( | RangeSet const & | rs | ) |
Definition at line 189 of file EndPathExecutor.cc.
References outputWorkers_.
bool art::EndPathExecutor::someOutputsOpen | ( | ) | const |
Definition at line 142 of file EndPathExecutor.cc.
References outputWorkers_.
void art::EndPathExecutor::writeEvent | ( | EventPrincipal & | ep | ) |
Definition at line 313 of file EndPathExecutor.cc.
References art::PathContext::end_path_spec(), art::EventPrincipal::eventID(), art::ScheduleContext::id(), art::EventPrincipal::isLastInSubRun(), outputWorkers_, runRangeSetHandler_, sc_, subRunRangeSetHandler_, and TDEBUG_FUNC_SI.
void art::EndPathExecutor::writeRun | ( | RunPrincipal & | rp | ) |
Definition at line 172 of file EndPathExecutor.cc.
References fileStatus_, outputWorkers_, runRangeSetHandler_, and art::Switching.
void art::EndPathExecutor::writeSubRun | ( | SubRunPrincipal & | srp | ) |
Definition at line 199 of file EndPathExecutor.cc.
References fileStatus_, outputWorkers_, subRunRangeSetHandler_, and art::Switching.
|
friend |
Definition at line 42 of file EndPathExecutor.h.
|
private |
Definition at line 124 of file EndPathExecutor.h.
Referenced by EndPathExecutor().
|
private |
Definition at line 125 of file EndPathExecutor.h.
Referenced by beginJob(), endJob(), EndPathExecutor(), process(), process_event(), respondToCloseInputFile(), respondToCloseOutputFiles(), respondToOpenInputFile(), and respondToOpenOutputFiles().
|
private |
Definition at line 135 of file EndPathExecutor.h.
Referenced by setOutputFileStatus(), writeRun(), and writeSubRun().
|
private |
Definition at line 128 of file EndPathExecutor.h.
Referenced by closeAllOutputFiles(), EndPathExecutor(), incrementInputFileNumber(), recordOutputClosureRequests(), selectProducts(), setOutputFileStatus(), setRunAuxiliaryRangeSetID(), setSubRunAuxiliaryRangeSetID(), someOutputsOpen(), writeEvent(), writeRun(), and writeSubRun().
|
private |
Definition at line 144 of file EndPathExecutor.h.
Referenced by closeSomeOutputFiles(), outputsToClose(), and recordOutputClosureRequests().
|
private |
Definition at line 136 of file EndPathExecutor.h.
Referenced by closeSomeOutputFiles(), EndPathExecutor(), openSomeOutputFiles(), and outputsToOpen().
|
private |
Definition at line 130 of file EndPathExecutor.h.
Referenced by seedRunRangeSet(), writeEvent(), and writeRun().
|
private |
Definition at line 120 of file EndPathExecutor.h.
Referenced by process_event(), and writeEvent().
|
private |
Definition at line 132 of file EndPathExecutor.h.
Referenced by seedSubRunRangeSet(), writeEvent(), and writeSubRun().
|
private |
Definition at line 126 of file EndPathExecutor.h.
Referenced by EndPathExecutor(), art::EndPathExecutor::PathsDoneTask::operator()(), art::EndPathExecutor::PathsDoneTask::PathsDoneTask(), and process_event().