1 #ifndef FWCore_Framework_globalTransitionAsync_h 2 #define FWCore_Framework_globalTransitionAsync_h 37 class LuminosityBlockPrincipal;
46 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls) {
55 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls) {
64 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls,
65 bool cleaningUpAfterException) {
67 std::move(iHolder), iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);
75 std::vector<std::shared_ptr<const EventSetupImpl>>
const* iEventSetupImpls,
76 bool cleaningUpAfterException) {
77 iSubProcess.
doEndRunAsync(
std::move(iHolder), iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);
80 template <
typename Traits,
typename P,
typename SC>
87 std::vector<std::shared_ptr<const EventSetupImpl>>
const*
94 tbb::task::allocate_root(),
95 [&iSubProcesses, iWait, &iPrincipal, iTS, iEventSetupImpls](std::exception_ptr
const* iPtr)
mutable {
100 [iWait, excpt](std::exception_ptr
const*)
mutable { iWait.
doneWaiting(excpt); });
102 for (
auto& subProcess : iSubProcesses) {
106 for (
auto& subProcess : iSubProcesses) {
116 template <
typename Traits,
typename P,
typename SC>
122 std::vector<std::shared_ptr<const EventSetupImpl>>
const*
126 bool cleaningUpAfterException) {
131 [&iSubProcesses, iWait, &iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException](
132 std::exception_ptr
const* iPtr)
mutable {
136 tbb::task::allocate_root(),
137 [iWait, excpt](std::exception_ptr
const*)
mutable { iWait.
doneWaiting(excpt); });
139 for (
auto& subProcess : iSubProcesses) {
141 h, subProcess, iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);
144 for (
auto& subProcess : iSubProcesses) {
146 iWait, subProcess, iPrincipal, iTS, iEventSetupImpls, cleaningUpAfterException);
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void subProcessDoGlobalBeginTransitionAsync(WaitingTaskHolder iHolder, SubProcess &iSubProcess, LuminosityBlockPrincipal &iPrincipal, IOVSyncValue const &iTS, std::vector< std::shared_ptr< const EventSetupImpl >> const *iEventSetupImpls)
void subProcessDoGlobalEndTransitionAsync(WaitingTaskHolder iHolder, SubProcess &iSubProcess, LuminosityBlockPrincipal &iPrincipal, IOVSyncValue const &iTS, std::vector< std::shared_ptr< const EventSetupImpl >> const *iEventSetupImpls, bool cleaningUpAfterException)
void doneWaiting(std::exception_ptr iExcept)
void doBeginRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
void endGlobalTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, P &iPrincipal, IOVSyncValue const &iTS, EventSetupImpl const &iES, std::vector< std::shared_ptr< const EventSetupImpl >> const *iEventSetupImpls, ServiceToken const &token, SC &iSubProcesses, bool cleaningUpAfterException)
FunctorWaitingTask< F > * make_waiting_task(ALLOC &&iAlloc, F f)
void doEndRunAsync(WaitingTaskHolder iHolder, RunPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
std::pair< OmniClusterRef, TrackingParticleRef > P
void doEndLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *, bool cleaningUpAfterException)
void doBeginLuminosityBlockAsync(WaitingTaskHolder iHolder, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, std::vector< std::shared_ptr< const EventSetupImpl >> const *)
void beginGlobalTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, P &iPrincipal, IOVSyncValue const &iTS, EventSetupImpl const &iES, std::vector< std::shared_ptr< const EventSetupImpl >> const *iEventSetupImpls, ServiceToken const &token, SC &iSubProcesses)
void processOneGlobalAsync(WaitingTaskHolder iTask, typename T::MyPrincipal &principal, EventSetupImpl const &eventSetup, ServiceToken const &token, bool cleaningUpAfterException=false)