ATLAS Offline Software
Public Member Functions | List of all members
EL::Detail::DriverManager Class Referencefinal

a Manager that passes callbacks through to the Driver More...

#include <DriverManager.h>

Inheritance diagram for EL::Detail::DriverManager:
Collaboration diagram for EL::Detail::DriverManager:

Public Member Functions

virtual std::pair< Detail::ManagerOrder, std::string > getManagerOrder () const noexcept override
 get the order/name of this manager More...
 
virtual ::StatusCode doManagerStep (Detail::ManagerData &data) const override
 do whatever needs to be done for the given submission step More...
 

Detailed Description

a Manager that passes callbacks through to the Driver

Originally I was thinking of having the Driver class derive from the Manager class, but that gave me dictionary errors I was unable to resolve. So now I have this class that passes callbacks straight through. There are three ways to go from here in the future:

Definition at line 39 of file DriverManager.h.

Member Function Documentation

◆ doManagerStep()

StatusCode EL::Detail::DriverManager::doManagerStep ( Detail::ManagerData data) const
overridevirtual

do whatever needs to be done for the given submission step

Guarantee
basic
Failures
job configuration errors
driver errors

Implements EL::Detail::Manager.

Definition at line 37 of file DriverManager.cxx.

39  {
40  return data.driver->doManagerStep (data);
41  }

◆ getManagerOrder()

std::pair< Detail::ManagerOrder, std::string > EL::Detail::DriverManager::getManagerOrder ( ) const
overridevirtualnoexcept

get the order/name of this manager

This is both used to identify the manager we are looking at, and to make sure they get executed in the right order. It is a mistake to load two managers that report the same order.

This is a pair of an enum that defines the absolute order of managers, and a string that identifies the stream that this manager belongs to. If this manager is not specific to a stream this should be the empty stream.

Guarantee
no-fail

Implements EL::Detail::Manager.

Definition at line 29 of file DriverManager.cxx.

31  {
32  return std::make_pair (ManagerOrder::DRIVER, "");
33  }

The documentation for this class was generated from the following files:
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
EL::Detail::ManagerOrder::DRIVER
@ DRIVER
the driver itself