source: snovis/trunk/source/G4Lab/Manager.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.8 KB
Line 
1#ifndef G4Lab_Manager_h
2#define G4Lab_Manager_h
3
4// Inheritance :
5#include <Slash/Core/IManager.h>
6#include <G4Lab/Interfaces/IGeant4Manager.h>
7
8namespace Slash {namespace Core {class ISession;}}
9namespace Slash {namespace Data {class IAccessor;}}
10namespace Slash {namespace UI {class IScriptManager;}}
11
12namespace AIDA {class IAnalysisFactory;}
13
14namespace G4Lab {
15
16class State;
17class UIsession;
18
19class Manager 
20:public virtual Slash::Core::IManager
21,public virtual IGeant4Manager {
22public: //Slash::Core::IManager
23  virtual std::string name() const;
24  virtual void* cast(const std::string&) const;
25public: //IGeant4Manager
26  virtual void executeG4Script(const std::string&);
27  virtual std::string physicalVolumes();
28  virtual std::string hitsCollections();
29  virtual std::string digitsCollections(); 
30  virtual void setRunBeginScript(const std::string&,const std::string&);
31  virtual void setRunEndScript(const std::string&,const std::string&);
32  virtual void setEventBeginScript(const std::string&,const std::string&);
33  virtual void setEventEndScript(const std::string&,const std::string&);
34  virtual std::string completeCommand(const std::string&);
35  virtual bool initialize();
36
37  virtual void beamOn(int);
38  virtual void abortRun();
39  virtual bool isRunning();
40  virtual void particleTableDump();
41
42  virtual G4RunManager* runManager() const;
43  virtual G4SDManager* sdManager() const;
44public:
45  Manager(Slash::Core::ISession&,
46          const std::string&,G4RunManager*,bool = false);
47  virtual ~Manager();
48  void addAccessor(Slash::Data::IAccessor*);
49  AIDA::IAnalysisFactory* findAIDA();
50public:
51  static bool executeScript(const std::string&,void*);
52private:
53  Slash::Core::ISession& fSession;
54  std::string fName;
55  UIsession* fUIsession;
56  State* fState;
57  Slash::UI::IScriptManager* fScriptManager;
58  G4RunManager* fRunManager;
59  bool fDeleteRunManager;
60};
61
62}
63
64#endif
Note: See TracBrowser for help on using the repository browser.