00001 #ifndef EVENT_LOOP_DRIVER_HH
00002 #define EVENT_LOOP_DRIVER_HH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00018
00019
00020
00021 #include <EventLoop/Global.h>
00022
00023 #include <TObject.h>
00024 #include <SampleHandler/MetaObject.h>
00025
00026 namespace EL
00027 {
00028 class Driver : public TObject
00029 {
00030
00031
00032
00033
00036 public:
00037 void testInvariant () const;
00038
00039
00043 public:
00044 Driver ();
00045
00046
00050 public:
00051 SH::MetaObject *options ();
00052 const SH::MetaObject *options () const;
00053
00054
00063 public:
00064 void submit (const Job& job, const std::string& location) const;
00065
00066
00079 public:
00080 void submitOnly (const Job& job, const std::string& location) const;
00081
00082
00094 public:
00095 static bool retrieve (const std::string& location);
00096
00097
00112 public:
00113 static bool wait (const std::string& location, unsigned time = 60);
00114
00115
00122 public:
00123 static void updateLocation (const std::string& location);
00124
00125
00126
00127
00128
00129
00130
00138 public:
00139 static void
00140 saveOutput (const std::string& location, const std::string& name,
00141 TList& output);
00142
00143
00149 public:
00150 static std::string
00151 mergedOutputName (const std::string& location, const OutputStream& output,
00152 const std::string& sample);
00153
00154
00161 public:
00162 static void
00163 mergedOutputMkdir (const std::string& location, const Job& job);
00164
00165
00173 public:
00174 static void
00175 mergedOutputSave (const std::string& location, const Job& job);
00176
00177
00185 public:
00186 static void
00187 diskOutputSave (const std::string& location, const Job& job);
00188
00189
00194 protected:
00195 static bool abortRetrieve;
00196
00197
00198
00199
00200
00201
00206 private:
00207 virtual void
00208 doUpdateJob (Job& job, const std::string& location) const;
00209
00210
00218 private:
00219 virtual void
00220 doSubmit (const Job& job, const std::string& location) const;
00221
00222
00235 private:
00236 virtual bool
00237 doRetrieve (const std::string& location) const;
00238
00239
00240
00241
00242
00243
00244
00246 private:
00247 SH::MetaObject m_options;
00248
00249 ClassDef(Driver, 1);
00250 };
00251 }
00252
00253 #endif