00001 00002 // $Id: JobCRootCommandModule.h,v 1.5 2002/01/16 23:47:56 messier Exp $ 00003 // 00005 #ifndef JOBCMODULE_H 00006 #include "JobControl/JobCModule.h" 00007 #endif 00008 00009 #include <vector> 00010 #include <string> 00011 00012 #ifndef JOBCROOTCOMMANDMODULE_H 00013 #define JOBCROOTCOMMANDMODULE_H 00014 using namespace std; 00015 00016 class JobCommand; 00017 class MomNavigator; 00018 00019 class JobCRootCommandModule : public JobCModule 00020 { 00021 00022 public: 00023 00024 JobCRootCommandModule(); 00025 ~JobCRootCommandModule(); 00026 00027 // Analysis/Reconstruction methods 00028 virtual JobCResult Ana(const MomNavigator *mom); 00029 virtual JobCResult Reco(MomNavigator *mom); 00030 00031 // Status change methods 00032 virtual void BeginJob(); 00033 virtual void EndJob(); 00034 virtual void BeginFile(); 00035 virtual void EndFile(); 00036 virtual void BeginRun(); 00037 virtual void EndRun(); 00038 00039 // Interactive mode methods 00040 virtual void HandleCommand(JobCommand* cmd); 00041 virtual void Help(); 00042 virtual void Report(); 00043 virtual void Reset(); 00044 00045 // Input/output 00046 virtual JobCResult Get(MomNavigator *mom); 00047 virtual JobCResult Put(const MomNavigator *mom); 00048 00049 private: 00050 00051 static void Init(); 00052 00053 vector<string>* WhichLinesList(string method); 00054 void ProcessLines(string whichlist); 00055 00056 // what to do at each stage ( if Module is put in a JobCPath ) 00057 00058 vector<string> fAnaLines; 00059 vector<string> fRecoLines; 00060 00061 vector<string> fBeginJobLines; 00062 vector<string> fEndJobLines; 00063 vector<string> fBeginFileLines; 00064 vector<string> fEndFileLines; 00065 vector<string> fBeginRunLines; 00066 vector<string> fEndRunLines; 00067 00068 vector<string> fGetLines; 00069 vector<string> fPutLines; 00070 00071 }; 00072 #endif // JOBCROOTCOMMANDMODULE_H 00073
1.3.9.1