1 #ifndef art_Framework_Core_EndPathExecutor_h 2 #define art_Framework_Core_EndPathExecutor_h 28 #include "hep_concurrency/WaitingTask.h" 36 class ActivityRegistry;
37 class GlobalTaskGroup;
39 class SharedResources;
63 void respondToOpenInputFile(
FileBlock const& fb);
64 void respondToCloseInputFile(
FileBlock const& fb);
65 void respondToOpenOutputFiles(
FileBlock const& fb);
66 void respondToCloseOutputFiles(
FileBlock const& fb);
67 bool someOutputsOpen()
const;
68 void closeAllOutputFiles();
71 void setRunAuxiliaryRangeSetID(
RangeSet const&
rs);
75 void setSubRunAuxiliaryRangeSetID(
RangeSet const&
rs);
86 void process_event(hep::concurrency::WaitingTaskPtr finalizeEventTask,
95 bool outputsToClose()
const;
104 void closeSomeOutputFiles();
106 bool outputsToOpen()
const;
107 void openSomeOutputFiles(
FileBlock const& fb);
119 void incrementInputFileNumber();
122 bool allAtLimit()
const;
134 std::vector<OutputWorker*> outputWorkers_{};
136 std::unique_ptr<RangeSetHandler> runRangeSetHandler_{
nullptr};
138 std::unique_ptr<RangeSetHandler> subRunRangeSetHandler_{
nullptr};
142 std::set<OutputWorker*> outputWorkersToOpen_{};
150 std::set<OutputWorker*> outputWorkersToClose_{};
ScheduleContext const sc_
ActionTable const & actionTable_
GlobalTaskGroup & taskGroup_
Namespace containing all the test actions.
ActivityRegistry const & actReg_