Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

JobController.h

Go to the documentation of this file.
00001 
00002 // $Id: JobController.h,v 1.15 2003/08/26 23:04:23 messier Exp $
00003 //
00004 // Provide a framework for running simulation and reconstruction
00005 //
00006 // messier@huhepl.harvard.edu
00008 #ifndef JOBCONTROLLER_H
00009 #define JOBCONTROLLER_H
00010 #ifndef LIST
00011 #include <list>
00012 #define LIST
00013 #endif
00014 #ifndef STRING
00015 #include <string>
00016 #define STRING
00017 #endif
00018 #ifndef MOMNAVIGATOR_H
00019 #include "MinosObjectMap/MomNavigator.h"
00020 #endif
00021 
00022 class JobCEnv;
00023 class JobCPathRegistry;
00024 class JobCInterpreter;
00025 class JobCommand;
00026 
00027 //......................................................................
00028 
00029 class JobController
00030 {
00031 public:
00032   static JobController* GetMotherController();
00033 
00034   JobController();
00035   JobController(int argc, char** argv);
00036   ~JobController(); 
00037 
00038   JobController& operator<<(const char *);
00039   void           operator()(const char *c);
00040 
00041   JobCEnv*          GetJobEnv()        const;
00042   JobCPathRegistry* GetPathRegistry()  const;  
00043   MomNavigator*     GetMom();  
00044   int               Run();
00045 
00046 private:
00047   // Methods
00048   void BuildSystemPath();
00049   bool ControllerCommand(JobCommand *cmd);
00050   void HandleCommand(const char *cmd);
00051   void HandleCommand(JobCommand *cmd);
00052   void Help(JobCommand *cmd);
00053   void Init();
00054   void ProcessCommands();
00055   void ReadMacroFile(const char *filename);
00056   
00057   // Class data
00058   static JobController* fMotherController; // First jc instantiated
00059   static const char*    fSystemPathName;   // Name of the jc system path
00060   // Member data
00061   JobCPathRegistry* fPathRegistry; // The set of paths connected to controller
00062   JobCInterpreter*  fInterp;       // Command interpreter
00063   MomNavigator      fMom;          // "The event" records
00064 };
00065 #endif // JOBCONTROLLER_H

Generated on Mon Feb 15 11:06:49 2010 for loon by  doxygen 1.3.9.1