LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::TriggerPathsExecutor::PathsDoneTask Class Reference

Public Member Functions

 PathsDoneTask (TriggerPathsExecutor *const schedule, WaitingTaskPtr const endPathTask, EventPrincipal &principal, GlobalTaskGroup &group)
 
void operator() (exception_ptr const ex)
 

Private Attributes

TriggerPathsExecutor *const schedule_
 
WaitingTaskPtr const endPathTask_
 
EventPrincipalprincipal_
 
GlobalTaskGrouptaskGroup_
 

Detailed Description

Definition at line 168 of file TriggerPathsExecutor.cc.

Constructor & Destructor Documentation

art::TriggerPathsExecutor::PathsDoneTask::PathsDoneTask ( TriggerPathsExecutor *const  schedule,
WaitingTaskPtr const  endPathTask,
EventPrincipal principal,
GlobalTaskGroup group 
)
inline

Definition at line 170 of file TriggerPathsExecutor.cc.

References art::TriggerPathsExecutor::taskGroup_.

174  : schedule_{schedule}
175  , endPathTask_{endPathTask}
176  , principal_{principal}
177  , taskGroup_{group}
178  {}

Member Function Documentation

void art::TriggerPathsExecutor::PathsDoneTask::operator() ( exception_ptr const  ex)
inline

Definition at line 181 of file TriggerPathsExecutor.cc.

References art::GlobalTaskGroup::may_run(), art::TriggerPathsExecutor::taskGroup_, TDEBUG_BEGIN_TASK_SI, and TDEBUG_END_TASK_SI.

182  {
183  auto const scheduleID = schedule_->sc_.id();
184 
185  TDEBUG_BEGIN_TASK_SI(4, scheduleID);
186  if (ex) {
188  TDEBUG_END_TASK_SI(4, scheduleID)
189  << "trigger path processing terminate because of EXCEPTION";
190  return;
191  }
192 
193  try {
196  }
197  catch (...) {
198  taskGroup_.may_run(endPathTask_, current_exception());
199  };
200 
201  // Start the endPathTask going.
202  TDEBUG_END_TASK_SI(4, scheduleID);
203  }
#define TDEBUG_BEGIN_TASK_SI(LEVEL, SI)
ScheduleContext const sc_
#define TDEBUG_END_TASK_SI(LEVEL, SI)
void process_event_paths_done(EventPrincipal &)
void may_run(hep::concurrency::WaitingTaskPtr task, std::exception_ptr ex_ptr={})

Member Data Documentation

WaitingTaskPtr const art::TriggerPathsExecutor::PathsDoneTask::endPathTask_
private

Definition at line 207 of file TriggerPathsExecutor.cc.

EventPrincipal& art::TriggerPathsExecutor::PathsDoneTask::principal_
private

Definition at line 208 of file TriggerPathsExecutor.cc.

TriggerPathsExecutor* const art::TriggerPathsExecutor::PathsDoneTask::schedule_
private

Definition at line 206 of file TriggerPathsExecutor.cc.

GlobalTaskGroup& art::TriggerPathsExecutor::PathsDoneTask::taskGroup_
private

Definition at line 209 of file TriggerPathsExecutor.cc.


The documentation for this class was generated from the following file: