source: snovis/trunk/source/G4Lab/Manager.h@ 260

Last change on this file since 260 was 233, checked in by barrand, 19 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.