1 #ifndef FWCore_Framework_streamTransitionAsync_h 2 #define FWCore_Framework_streamTransitionAsync_h 34 class LuminosityBlockPrincipal;
55 template<
typename Traits,
typename P,
typename SC >
58 unsigned int iStreamIndex,
67 auto subs =
make_waiting_task(tbb::task::allocate_root(), [&iSubProcesses, iWait,iStreamIndex,&iPrincipal,iTS,token](std::exception_ptr
const* iPtr)
mutable {
71 auto delayError =
make_waiting_task(tbb::task::allocate_root(), [iWait,token,excpt](std::exception_ptr
const* )
mutable {
87 template<
typename Traits,
typename P,
typename SC >
90 unsigned int iNStreams,
97 for(
unsigned int i=0;
i<iNStreams;++
i) {
98 beginStreamTransitionAsync<Traits>(
WaitingTaskHolder(iWait), iSchedule,
i,iPrincipal,iTS,iES,iSubProcesses);
102 template<
typename Traits,
typename P,
typename SC >
105 unsigned int iStreamIndex,
110 bool cleaningUpAfterException)
116 auto subs =
make_waiting_task(tbb::task::allocate_root(), [&iSubProcesses, iWait,iStreamIndex,&iPrincipal,iTS,token,cleaningUpAfterException](std::exception_ptr
const* iPtr)
mutable {
120 auto delayError =
make_waiting_task(tbb::task::allocate_root(), [iWait,token,excpt](std::exception_ptr
const* )
mutable {
125 for_all(iSubProcesses, [&h,iStreamIndex, &iPrincipal, iTS,cleaningUpAfterException](
auto& subProcess){
128 for_all(iSubProcesses, [&iWait,iStreamIndex, &iPrincipal, iTS,cleaningUpAfterException](
auto& subProcess){
139 template<
typename Traits,
typename P,
typename SC >
142 unsigned int iNStreams,
147 bool cleaningUpAfterException)
150 for(
unsigned int i=0;
i<iNStreams;++
i) {
154 iSubProcesses,cleaningUpAfterException);
void doStreamBeginRunAsync(WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts)
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void doStreamEndRunAsync(WaitingTaskHolder iHolder, unsigned int iID, RunPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
void doStreamEndLuminosityBlockAsync(WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts, bool cleaningUpAfterException)
ServiceToken presentToken() const
Func for_all(ForwardSequence &s, Func f)
wrapper for std::for_each
void doneWaiting(std::exception_ptr iExcept)
void subProcessDoStreamEndTransitionAsync(WaitingTaskHolder iHolder, SubProcess &iSubProcess, unsigned int i, LuminosityBlockPrincipal &iPrincipal, IOVSyncValue const &iTS, bool cleaningUpAfterException)
static ServiceRegistry & instance()
void subProcessDoStreamBeginTransitionAsync(WaitingTaskHolder iHolder, SubProcess &iSubProcess, unsigned int i, LuminosityBlockPrincipal &iPrincipal, IOVSyncValue const &iTS)
void doStreamBeginLuminosityBlockAsync(WaitingTaskHolder iHolder, unsigned int iID, LuminosityBlockPrincipal const &principal, IOVSyncValue const &ts)
FunctorWaitingTask< F > * make_waiting_task(ALLOC &&iAlloc, F f)
std::pair< OmniClusterRef, TrackingParticleRef > P
void beginStreamsTransitionAsync(WaitingTask *iWait, Schedule &iSchedule, unsigned int iNStreams, P &iPrincipal, IOVSyncValue const &iTS, EventSetup const &iES, SC &iSubProcesses)
void endStreamTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, unsigned int iStreamIndex, P &iPrincipal, IOVSyncValue const &iTS, EventSetup const &iES, SC &iSubProcesses, bool cleaningUpAfterException)
void beginStreamTransitionAsync(WaitingTaskHolder iWait, Schedule &iSchedule, unsigned int iStreamIndex, P &iPrincipal, IOVSyncValue const &iTS, EventSetup const &iES, SC &iSubProcesses)
void endStreamsTransitionAsync(WaitingTask *iWait, Schedule &iSchedule, unsigned int iNStreams, P &iPrincipal, IOVSyncValue const &iTS, EventSetup const &iES, SC &iSubProcesses, bool cleaningUpAfterException)
void processOneStreamAsync(WaitingTaskHolder iTask, unsigned int iStreamID, typename T::MyPrincipal &principal, EventSetup const &eventSetup, bool cleaningUpAfterException=false)