ATLAS Offline Software
Driver.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef EVENT_LOOP_DRIVER_HH
9 #define EVENT_LOOP_DRIVER_HH
10 
11 #include <EventLoop/Global.h>
12 
13 #include <TObject.h>
15 
16 class StatusCode;
17 
18 namespace EL
19 {
26 
27  class Driver : public TObject
28  {
29  //
30  // public interface
31  //
32 
36  public:
37  void testInvariant () const;
38 
39 
45  public:
46  Driver ();
47 
48 
53  public:
55  const SH::MetaObject *options () const;
56 
57 
73  public:
74  std::string submit (const Job& job, const std::string& location) const;
75 
76 
95  public:
96  std::string submitOnly (const Job& job, const std::string& location) const;
97 
98 
111  public:
112  static void resubmit (const std::string& location,
113  const std::string& option);
114 
115 
131  public:
132  static bool retrieve (const std::string& location);
133 
134 
153  public:
154  static bool wait (const std::string& location, unsigned time = 60);
155 
156 
165  public:
166  static void updateLocation (const std::string& location);
167 
168 
169 
170  //
171  // semi-public interface
172  //
173 
185  public:
186  static void
188 
189 
201  public:
202  static void
204 
205 
211  protected:
212  static bool abortRetrieve;
213 
214 
215  //
216  // virtual interface
217  //
218 
219  protected:
222 
223 
224 
225  //
226  // private interface
227  //
228 
229  friend class Detail::DriverManager;
230 
232  private:
234 
235 #pragma GCC diagnostic push
236 #pragma GCC diagnostic ignored "-Wpragmas"
237 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
238 #pragma GCC diagnostic ignored "-Winconsistent-missing-override"
240 #pragma GCC diagnostic pop
241  };
242 }
243 
244 #endif
EL::Driver::options
SH::MetaObject * options()
the list of options to jobs with this driver
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
EL::Driver::doManagerStep
virtual ::StatusCode doManagerStep(Detail::ManagerData &data) const
EL::Driver::retrieve
static bool retrieve(const std::string &location)
retrieve all the output for the job in the given location
SH::MetaObject
A class that manages meta-data to be associated with an object.
Definition: MetaObject.h:56
EL::Driver::submitOnly
std::string submitOnly(const Job &job, const std::string &location) const
submit the given job with the given output location and return immediately
EL::Driver
the base class for the various EventLoop drivers that allow to run jobs on different backends
Definition: Driver.h:28
EL::Driver::ClassDef
ClassDef(Driver, 1)
EL::Driver::mergedOutputSave
static void mergedOutputSave(Detail::ManagerData &data)
create and save a sample handler assuming we created all the merged files at the requested locations
MetaObject.h
EL::Driver::m_options
SH::MetaObject m_options
members directly corresponding to accessors
Definition: Driver.h:233
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EL::Driver::testInvariant
void testInvariant() const
test the invariant of this object
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
EL::Driver::Driver
Driver()
standard default constructor
EL::Driver::wait
static bool wait(const std::string &location, unsigned time=60)
retrieve all the output for the job in the given location and wait until it is finished completely.
EL::Driver::diskOutputSave
static void diskOutputSave(Detail::ManagerData &data)
make the output sample handler for the given job or stream from the information stored in the histogr...
EL::Driver::abortRetrieve
static bool abortRetrieve
this flag is set to true when the wait() function is running and a SIGINT is caught,...
Definition: Driver.h:212
EL::Driver::updateLocation
static void updateLocation(const std::string &location)
update the internal location of files, after moving the submission directory
EL::Detail::ManagerData
an internal data structure for passing data between different manager objects anbd step
Definition: ManagerData.h:46
EL::Job
Definition: Job.h:51
test_interactive_athena.job
job
Definition: test_interactive_athena.py:6
EL::Driver::options
const SH::MetaObject * options() const
EL::Driver::resubmit
static void resubmit(const std::string &location, const std::string &option)
resubmit all failed sub-jobs for the job in the given location
Global.h
EL::Driver::submit
std::string submit(const Job &job, const std::string &location) const
submit the given job with the given output location and wait for it to finish
EL::Detail::DriverManager
a Manager that passes callbacks through to the Driver
Definition: DriverManager.h:40