1 #ifndef art_Framework_EventProcessor_EventProcessor_h 2 #define art_Framework_EventProcessor_EventProcessor_h 34 #include "cetlib/cpu_timer.h" 36 #include "hep_concurrency/thread_sanitize.h" 89 std::enable_if_t<is_above_most_deeply_nested_level(L)>
begin();
139 template <
typename T>
140 using tsan = hep::concurrency::thread_sanitize<T>;
142 template <
typename T>
160 return scheduler_->actionTable().find(e.root_cause());
void readAndProcessAsync(ScheduleID sid)
tsan_unique_ptr< InputSource > input_
tsan< ProductDescriptions > producedProductDescriptions_
void respondToOpenOutputFiles()
void respondToCloseInputFile()
tsan< UpdateOutputCallbacks > outputCallbacks_
tsan< Scheduler > scheduler_
tsan_unique_ptr< FileBlock > fb_
void openSomeOutputFiles()
bool const handleEmptyRuns_
std::atomic< Level > nextLevel_
void invokePostBeginJobWorkers_()
Schedule & main_schedule()
static constexpr ScheduleID first()
std::atomic< bool > firstEvent_
bool const handleEmptySubRuns_
tsan< PathManager > pathManager_
ScheduleIteration scheduleIteration_
std::unique_ptr< GlobalTaskGroup > taskGroup_
tsan< detail::ExceptionCollector > ec_
tsan_unique_ptr< RunPrincipal > runPrincipal_
tsan< ProducingServiceSignals > psSignals_
hep::concurrency::thread_sanitize_unique_ptr< T > tsan_unique_ptr
EventProcessor & operator=(EventProcessor const &)=delete
void setOutputFileStatus(OutputFileStatus)
void processAllEventsAsync(ScheduleID sid)
std::enable_if_t< is_above_most_deeply_nested_level(L)> begin()
void recordOutputModuleClosureRequests()
tsan< cet::cpu_timer > timer_
void finalizeContainingLevels()
tsan< std::map< ScheduleID, Schedule > > schedules_
detail::SharedResources sharedResources_
tsan< ProductTables > producedProductLookupTables_
EventProcessor(fhicl::ParameterSet pset, detail::EnabledModules enabled_modules)
std::atomic< bool > finalizeSubRunEnabled_
PerScheduleContainer< std::unique_ptr< EventPrincipal > > eventPrincipals_
actions::ActionCodes error_action(cet::exception &e) const
std::atomic< bool > beginRunCalled_
std::atomic< bool > finalizeRunEnabled_
std::atomic< bool > fileSwitchInProgress_
hep::concurrency::thread_sanitize< T > tsan
tsan_unique_ptr< ServicesManager > servicesManager_
tsan_unique_ptr< SubRunPrincipal > subRunPrincipal_
void closeSomeOutputFiles()
std::atomic< bool > beginSubRunCalled_
void finishEventAsync(ScheduleID sid)
static ProductTables invalid()
StatusCode runToCompletion()
SharedException sharedException_
void setRunAuxiliaryRangeSetID()
void processEventAsync(ScheduleID sid)
void beginRunIfNotDoneAlready()
void endJobAllSchedules()
Schedule & schedule(ScheduleID const id)
void closeAllOutputFiles()
void beginSubRunIfNotDoneAlready()
tsan< MFStatusUpdater > mfStatusUpdater_
void respondToOpenInputFile()
void setSubRunAuxiliaryRangeSetID()
cet::coded_exception< error, detail::translate > exception
void terminateAbnormally_()
void respondToCloseOutputFiles()