source: snovis/trunk/source/G4Lab/PhysicsTableAccessor.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.3 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 {
17
18class PhysicsTable;
19
20class PhysicsTableAccessor 
21:public Lib::BaseAccessor
22,public Slash::Data::IVisualizer
23{
24public: //Slash::Data::IAccessor
25  virtual std::string name() const;
26  virtual Slash::Data::IIterator* iterator();
27  virtual Slash::Core::IValue* findValue(Slash::Data::IAccessor::Data,const std::string&,void*);
28public: //Lib::IVisualizationType
29  virtual void beginVisualize();
30  virtual void visualize(Slash::Data::IAccessor::Data,void*);
31  virtual void endVisualize();
32public:
33  PhysicsTableAccessor(Slash::Core::ISession&,AIDA::IAnalysisFactory*);
34  virtual ~PhysicsTableAccessor();
35private:
36  bool findProcessTables(G4ParticleDefinition*,
37                         G4VProcess*,
38                         std::vector<std::string>&,
39                         std::vector<G4PhysicsTable*>&);
40private:
41  Slash::Core::ISession& fSession;
42  std::string fType;
43  std::vector<PhysicsTable*> fTables;
44  AIDA::IAnalysisFactory* fAIDA;
45};
46
47}
48
49#endif
Note: See TracBrowser for help on using the repository browser.