1 #ifndef FWCore_Framework_globalTransitionAsync_h 2 #define FWCore_Framework_globalTransitionAsync_h 34 class LuminosityBlockPrincipal;
56 bool cleaningUpAfterException) {
64 bool cleaningUpAfterException) {
68 template <
typename Traits,
typename P,
typename SC>
79 tbb::task::allocate_root(), [&iSubProcesses, iWait, &iPrincipal, iTS](std::exception_ptr
const* iPtr)
mutable {
84 [iWait, excpt](std::exception_ptr
const*)
mutable { iWait.
doneWaiting(excpt); });
86 for (
auto& subProcess : iSubProcesses) {
90 for (
auto& subProcess : iSubProcesses) {
100 template <
typename Traits,
typename P,
typename SC>
108 bool cleaningUpAfterException) {
112 tbb::task::allocate_root(),
113 [&iSubProcesses, iWait, &iPrincipal, iTS, cleaningUpAfterException](std::exception_ptr
const* iPtr)
mutable {
118 [iWait, excpt](std::exception_ptr
const*)
mutable { iWait.
doneWaiting(excpt); });
120 for (
auto& subProcess : iSubProcesses) {
124 for (
auto& subProcess : iSubProcesses) {
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void subProcessDoGlobalEndTransitionAsync(WaitingTaskHolder iHolder, SubProcess &iSubProcess, LuminosityBlockPrincipal &iPrincipal, IOVSyncValue const &iTS, bool cleaningUpAfterException)
void doneWaiting(std::exception_ptr iExcept)
void doEndRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
void doBeginLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
void doBeginRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts)
void doEndLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
void subProcessDoGlobalBeginTransitionAsync(WaitingTaskHolder iHolder, SubProcess &iSubProcess, LuminosityBlockPrincipal &iPrincipal, IOVSyncValue const &iTS)
void endGlobalTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, P &iPrincipal, IOVSyncValue const &iTS, EventSetupImpl const &iES, ServiceToken const &token, SC &iSubProcesses, bool cleaningUpAfterException)
FunctorWaitingTask< F > * make_waiting_task(ALLOC &&iAlloc, F f)
std::pair< OmniClusterRef, TrackingParticleRef > P
void beginGlobalTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, P &iPrincipal, IOVSyncValue const &iTS, EventSetupImpl const &iES, ServiceToken const &token, SC &iSubProcesses)
void processOneGlobalAsync(WaitingTaskHolder iTask, typename T::MyPrincipal &principal, EventSetupImpl const &eventSetup, ServiceToken const &token, bool cleaningUpAfterException=false)