source: snovis/trunk/source/G4Lab/UIOnX.h @ 233

Last change on this file since 233 was 233, checked in by barrand, 17 years ago
  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1#ifndef G4Lab_UIOnX_h
2#define G4Lab_UIOnX_h
3
4// Inheritance :
5#include <G4UIsession.hh>
6
7namespace Slash {namespace Data {class IAccessor;}}
8namespace OnX {class Main;}
9namespace AIDA {class IAnalysisFactory;}
10
11namespace Slash {namespace UI {class IUI;}}
12namespace Slash {namespace Core {class ISession;}}
13namespace Slash {namespace Core {class IWriter;}}
14namespace Slash {namespace Core {class IManager;}}
15
16class G4RunManager;
17
18namespace G4Lab {
19
20class Manager;
21
22// Avoid establishing a relationship with G4interfaces (by inheriting
23// G4VBasicShell). This library may be reconstructed with various GUI drivers.
24
25class UIOnX : public G4UIsession {
26public: //G4UIsession
27  virtual G4UIsession* SessionStart();
28  virtual void PauseSessionStart(G4String);
29public:
30  /**
31   * Create an OnX session.
32   * @param aRunManager : User G4RunManager.
33   * @param aGUI : OnX GUI file.
34   * @param aArgc : Pass the argument coming from "main" or give 0.
35   * @param aArgv : Pass the argument coming from "main" or give NULL.
36   */
37  UIOnX(G4RunManager& aRunManager,
38        const std::string& aGUI = "",
39        int aArgc = 0,char** aArgv = NULL);
40  virtual ~UIOnX();
41  bool isValid() const;
42  Slash::Core::ISession* session();
43  Slash::Core::IWriter* printer();
44  void addManager(Slash::Core::IManager*);
45  void addAccessor(Slash::Data::IAccessor*);
46  AIDA::IAnalysisFactory* findAIDA();
47  bool createUI(const std::string& driver = "",
48                const std::string& file = "",
49                bool = true);
50private:
51  OnX::Main* fOnX;
52  Slash::UI::IUI* fUI;
53  Manager* fManager;
54};
55
56}
57
58#endif
59
Note: See TracBrowser for help on using the repository browser.