ATLAS Offline Software
Loading...
Searching...
No Matches
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
virtual::StatusCode doManagerStep (Detail::ManagerData &data) const override
 do whatever needs to be done for the given submission step

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 }
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
#define ANA_MSG_FATAL(xmsg)
Macro printing fatal messages.
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
@ finalRetrieve
the final retrieve step
@ initial
this is just the initial step we do, nothing really happens here
Definition ManagerStep.h:45
@ initialRetrieve
the initial retrieve step

◆ 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 }
@ OPERATION
the base-operation performed (e.g. submit, retrieve)

The documentation for this class was generated from the following files: