00001 //---------------------------------------------------------------------------// 00002 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00003 // // 00004 // MAJORANA Simulation // 00005 // // 00006 // This code implementation is the intellectual property of the // 00007 // MAJORANA Collaboration. It is based on Geant4, an intellectual // 00008 // property of the RD44 GEANT4 collaboration. // 00009 // // 00010 // ********************* // 00011 // // 00012 // Neither the authors of this software system, nor their employing // 00013 // institutes, nor the agencies providing financial support for this // 00014 // work make any representation or warranty, express or implied, // 00015 // regarding this software system or assume any liability for its use. // 00016 // By copying, distributing or modifying the Program (or any work based // 00017 // on on the Program) you indicate your acceptance of this statement, // 00018 // and all its terms. // 00019 // // 00020 //bb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nubb0nu// 00021 //---------------------------------------------------------------------------// 00032 // Begin description of class here 00052 // End class description 00053 // 00058 // 00059 // --------------------------------------------------------------------------// 00070 // --------------------------------------------------------------------------// 00071 00072 #ifndef _MJWAVEFORMUI_HH 00073 #define _MJWAVEFORMUI_HH 00074 00075 //---------------------------------------------------------------------------// 00076 00077 #include <string> 00078 00079 #include "waveform/MJWaveformManager.hh" 00080 00081 //---------------------------------------------------------------------------// 00082 00083 class MJWaveformUI 00084 { 00085 public: 00086 00087 //default constructor 00088 MJWaveformUI(MJWaveformManager *manager); 00089 00090 //copy constructor 00091 MJWaveformUI(const MJWaveformUI &); 00092 00093 //destructor 00094 ~MJWaveformUI(); 00095 00096 //public interface 00097 void StartSession(); 00098 void ExecuteFromFile(char *fname); 00099 void ExecuteCommand(); 00100 void ParseLine(); 00101 00102 //protected members 00103 protected: 00104 00105 00106 //private members 00107 private: 00108 MJWaveformManager *fManager; // Pointer to manager that instantiated this 00109 // UI object. 00110 string fPrompt; // Prompt for each command. 00111 string fLine; // Line of text to be parsed and interpreted. 00112 vector<string> fArguments; // Arguments for each command. 00113 }; 00114 #endif