source: snovis/trunk/source/G4Lab/PhysicsTableAccessor.h@ 302

Last change on this file since 302 was 288, checked in by barrand, 18 years ago
  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
1#ifndef G4Lab_PhysicsTableAccessor_h
2#define G4Lab_PhysicsTableAccessor_h
3
4// Inheritance :
5#include <Lib/BaseAccessor.h>
6#include <Slash/Data/IVisualizer.h>
7
8class G4ParticleDefinition;
9class G4VProcess;
10class G4PhysicsTable;
11
12namespace Slash {namespace Core {class ISession;}}
13
14namespace AIDA {class IAnalysisFactory;}
15
16namespace G4Lab {class PhysicsTable;}
17
18class IGeant4Manager;
19
20namespace G4Lab {
21
22class PhysicsTableAccessor
23:public Lib::BaseAccessor
24,public virtual Slash::Data::IVisualizer
25{
26public: //Slash::Data::IAccessor
27 virtual void* cast(const std::string& aClass) const;
28 virtual std::string name() const;
29 virtual Slash::Data::IIterator* iterator();
30 virtual Slash::Core::IValue* findValue(Slash::Data::IAccessor::Data,const std::string&,void*);
31public: //Lib::IVisualizationType
32 virtual void beginVisualize();
33 virtual void visualize(Slash::Data::IAccessor::Data,void*);
34 virtual void endVisualize();
35public:
36 PhysicsTableAccessor(Slash::Core::ISession&,
37 IGeant4Manager&,
38 AIDA::IAnalysisFactory*);
39 virtual ~PhysicsTableAccessor();
40private:
41 bool buildProcessTables();
42 bool findProcessTables(G4ParticleDefinition*,
43 G4VProcess*,
44 std::vector<std::string>&,
45 std::vector<G4PhysicsTable*>&);
46private:
47 Slash::Core::ISession& fSession;
48 std::string fType;
49 std::vector<PhysicsTable*> fTables;
50 AIDA::IAnalysisFactory* fAIDA;
51 IGeant4Manager& fManager;
52};
53
54}
55
56#endif
Note: See TracBrowser for help on using the repository browser.