LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Schedule.cc
Go to the documentation of this file.
2 // vim: set sw=2 expandtab :
3 
9 #include "hep_concurrency/WaitingTask.h"
10 
11 #include <ios>
12 
13 using namespace hep::concurrency;
14 using namespace std;
15 
16 namespace art {
17 
18  Schedule::Schedule(ScheduleID const scheduleID,
19  PathManager& pm,
20  ActionTable const& actions,
21  ActivityRegistry const& actReg,
22  UpdateOutputCallbacks& outputCallbacks,
23  GlobalTaskGroup& task_group)
24  : context_{scheduleID}
25  , actions_{actions}
26  , epExec_{scheduleID, pm, actions, outputCallbacks, task_group}
27  , tpsExec_{scheduleID, pm, actions, actReg, task_group}
28  {
29  TDEBUG_FUNC_SI(5, scheduleID) << hex << this << dec;
30  }
31 
32  void
34  {
35  tpsExec_.beginJob(resources);
36  epExec_.beginJob(resources);
37  }
38 
39  void
41  {
42  tpsExec_.endJob();
43  epExec_.endJob();
44  }
45 
46  void
48  {
51  }
52 
53  void
55  {
58  }
59 
60  void
62  {
65  }
66 
67  void
69  {
72  }
73 
74  void
75  Schedule::process(Transition const trans, Principal& principal)
76  {
77  tpsExec_.process(trans, principal);
78  epExec_.process(trans, principal);
79  }
80 
81  void
82  Schedule::process_event_modifiers(WaitingTaskPtr endPathTask)
83  {
84  tpsExec_.process_event(endPathTask, *eventPrincipal_);
85  }
86 
87  void
88  Schedule::process_event_observers(WaitingTaskPtr finalizeEventTask)
89  {
90  epExec_.process_event(finalizeEventTask, *eventPrincipal_);
91  }
92 
93 } // namespace art
void endJob()
Definition: Schedule.cc:40
void process_event_observers(hep::concurrency::WaitingTaskPtr finalizeEventTask)
Definition: Schedule.cc:88
void respondToCloseOutputFiles(FileBlock const &)
Definition: Schedule.cc:68
void respondToCloseInputFile(FileBlock const &)
Definition: Schedule.cc:54
EndPathExecutor epExec_
Definition: Schedule.h:196
void process(Transition, Principal &)
void process(Transition, Principal &)
Definition: Schedule.cc:75
void beginJob(detail::SharedResources const &resources)
Definition: Schedule.cc:33
STL namespace.
void respondToOpenInputFile(FileBlock const &fb)
void respondToOpenOutputFiles(FileBlock const &)
void respondToOpenOutputFiles(FileBlock const &fb)
std::unique_ptr< EventPrincipal > eventPrincipal_
Definition: Schedule.h:198
TriggerPathsExecutor tpsExec_
Definition: Schedule.h:197
void respondToCloseOutputFiles(FileBlock const &fb)
Transition
Definition: Transition.h:7
void respondToOpenInputFile(FileBlock const &)
#define TDEBUG_FUNC_SI(LEVEL, SI)
void beginJob(detail::SharedResources const &resources)
TFile fb("Li6.root")
void respondToOpenOutputFiles(FileBlock const &)
Definition: Schedule.cc:61
void respondToCloseInputFile(FileBlock const &)
ActionTable const & actions_
Definition: Schedule.h:195
void respondToCloseInputFile(FileBlock const &fb)
Definition: MVAAlg.h:12
void process_event(hep::concurrency::WaitingTaskPtr endPathTask, EventPrincipal &)
void process(Transition, Principal &)
void process_event_modifiers(hep::concurrency::WaitingTaskPtr endPathTask)
Definition: Schedule.cc:82
void respondToOpenInputFile(FileBlock const &)
Definition: Schedule.cc:47
void respondToCloseOutputFiles(FileBlock const &)
void process_event(hep::concurrency::WaitingTaskPtr finalizeEventTask, EventPrincipal &)
void beginJob(detail::SharedResources const &resources)