00001 00002 // 00003 // Class AlephROOTExManager 00004 // 00005 // The specific execution manager in case we use ROOT files 00006 // It inherits from AlephExManager 00007 // It is a singleton. 00008 // 00009 // Author : C. Delaere , 15.08.2002 00010 // 00012 00013 #ifndef ALEPHROOTEXMANAGER_H 00014 #define ALEPHROOTEXMANAGER_H 00015 00017 // the includes 00019 #include "bos.h" 00020 #include "AlephExManager.h" 00021 #include "AlephDbManager.h" 00022 00024 00025 class AlephROOTExManager : public AlephExManager 00026 { 00027 public: 00028 00029 // declare the AlephExManager base class also as friend. 00030 // Then the constructor can stay protected which avoids multiple 00031 // creation from a client 00032 friend class AlephExManager; 00034 virtual AlephRC initialize(); 00036 virtual AlephRC run(); 00038 virtual AlephRC terminate(); 00039 protected: 00040 00041 // constructor and destructor 00042 AlephROOTExManager(); 00043 virtual ~AlephROOTExManager(); 00044 // some execution routines 00045 // if in batch mode 00046 // loop over databases, runs and events, actually calls next two routines 00047 virtual AlephRC loopAll(); 00048 // reading loop 00049 virtual AlephRC loopAllRead(); 00050 // writing loop 00051 virtual AlephRC loopAllWrite(); 00052 // if in interactive mode 00053 // loop over databases, runs and events, actually calls next two routines 00054 virtual AlephRC loopInter(); 00055 // reading loop 00056 virtual AlephRC loopInterRead(); 00057 // writing loop 00058 virtual AlephRC loopInterWrite(); 00059 }; 00060 00061 #endif