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

#include <RetrieveManager.h>

Inheritance diagram for EL::Detail::RetrieveManager:
Collaboration diagram for EL::Detail::RetrieveManager:

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

Definition at line 20 of file RetrieveManager.h.

Member Function Documentation

◆ doManagerStep()

StatusCode EL::Detail::RetrieveManager::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 41 of file RetrieveManager.cxx.

43  {
44  switch (data.step)
45  {
47  {
49  }
50  break;
51 
53  {
54  if (gSystem->AccessPathName ((data.submitDir + "/submitted").c_str()) != 0)
55  {
56  ANA_MSG_ERROR ("job submission was unsuccessful");
57  return ::StatusCode::FAILURE;
58  }
59  }
60  break;
61 
63  {
64  if (!data.retrieved)
65  {
66  ANA_MSG_FATAL ("Driver::retrieve not implemented in class " << typeid(*data.driver).name());
67  std::abort ();
68  }
69 
71  }
72  break;
73 
74  default:
75  (void) true; // safe to do nothing
76  }
77  return ::StatusCode::SUCCESS;
78  }

◆ getManagerOrder()

std::pair< Detail::ManagerOrder, std::string > EL::Detail::RetrieveManager::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 33 of file RetrieveManager.cxx.

35  {
36  return std::make_pair (ManagerOrder::OPERATION, "");
37  }

The documentation for this class was generated from the following files:
EL::Detail::ManagerOrder::OPERATION
@ OPERATION
the base-operation performed (e.g. submit, retrieve)
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:294
EL::Detail::ManagerStep::final
@ final
EL::Detail::ManagerStep::initial
@ initial
this is just the initial step we do, nothing really happens here
ANA_MSG_FATAL
#define ANA_MSG_FATAL(xmsg)
Macro printing fatal messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:296
EL::Detail::ManagerStep::finalRetrieve
@ finalRetrieve
the final retrieve step
EL::Detail::ManagerStep::initialRetrieve
@ initialRetrieve
the initial retrieve step