source: snovis/trunk/source/G4Lab/HitsCollectionAccessor.h @ 288

Last change on this file since 288 was 288, checked in by barrand, 17 years ago
  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1#ifndef G4Lab_HitsCollectionAccessor_h
2#define G4Lab_HitsCollectionAccessor_h
3
4// Inheritance :
5#include <OnX/Inventor/InventorAccessor.h>
6
7#include <G4Transform3D.hh>
8
9class G4VHitsCollection;
10class G4VHit;
11class G4LogicalVolume;
12class G4Colour;
13class G4RunManager;
14
15namespace Slash {namespace Core {class ISession;}}
16namespace Slash {namespace Core {class IWriter;}}
17
18#include <map>
19#include <G4AttDef.hh>
20#include <G4String.hh>
21
22namespace G4Lab {
23
24class HitsCollectionAccessor : public OnX::InventorAccessor {
25public: //Slash::Data::IAccessor
26  virtual std::string name() const;
27  virtual Slash::Data::IIterator* iterator();
28  virtual Slash::Core::IValue* findValue(Slash::Data::IAccessor::Data,const std::string&,void*);
29public: //Slash::Data::IVisualizer
30  virtual void beginVisualize();
31  virtual void visualize(Slash::Data::IAccessor::Data,void*);
32public:
33  HitsCollectionAccessor(Slash::Core::ISession&,G4RunManager*,
34                         const std::string& = "");
35  virtual ~HitsCollectionAccessor();
36  const std::string& HCName() const;
37protected:
38  static G4LogicalVolume* hitLogicalVolume(const G4VHit&); 
39  static G4Transform3D* hitTransform3D(const G4VHit&); 
40  static bool hitColor(const G4VHit&,G4Colour&); 
41protected:
42  G4VHitsCollection* getCollection(Slash::Core::IWriter&,const std::string&);
43private:
44  std::string fType;
45  G4RunManager* fRunManager;
46  std::map<G4String,G4AttDef>* fAttDefs;
47  std::string fHC;
48};
49
50}
51
52#endif
Note: See TracBrowser for help on using the repository browser.