1 #ifndef FWCore_Framework_globalTransitionAsync_h 2 #define FWCore_Framework_globalTransitionAsync_h 34 class LuminosityBlockPrincipal;
54 template<
typename Traits,
typename P,
typename SC >
65 auto subs =
make_waiting_task(tbb::task::allocate_root(), [&iSubProcesses, iWait,&iPrincipal,iTS](std::exception_ptr
const* iPtr)
mutable {
68 auto delayError =
make_waiting_task(tbb::task::allocate_root(), [iWait,excpt](std::exception_ptr
const* )
mutable {
72 for(
auto& subProcess: iSubProcesses) {
76 for(
auto& subProcess:iSubProcesses){
87 template<
typename Traits,
typename P,
typename SC >
95 bool cleaningUpAfterException)
99 auto subs =
make_waiting_task(tbb::task::allocate_root(), [&iSubProcesses, iWait,&iPrincipal,iTS,cleaningUpAfterException](std::exception_ptr
const* iPtr)
mutable {
102 auto delayError =
make_waiting_task(tbb::task::allocate_root(), [iWait,excpt](std::exception_ptr
const* )
mutable {
106 for(
auto& subProcess: iSubProcesses){
110 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)
FunctorWaitingTask< F > * make_waiting_task(ALLOC &&iAlloc, F f)
std::pair< OmniClusterRef, TrackingParticleRef > P
void endGlobalTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, P &iPrincipal, IOVSyncValue const &iTS, EventSetup const &iES, ServiceToken const &token, SC &iSubProcesses, bool cleaningUpAfterException)
void beginGlobalTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, P &iPrincipal, IOVSyncValue const &iTS, EventSetup const &iES, ServiceToken const &token, SC &iSubProcesses)
void processOneGlobalAsync(WaitingTaskHolder iTask, typename T::MyPrincipal &principal, EventSetup const &eventSetup, ServiceToken const &token, bool cleaningUpAfterException=false)