00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SUBDETECTOR_G4_GEO_H
00009 #define SUBDETECTOR_G4_GEO_H
00010
00011 #include <string>
00012
00013 #include <G4LogicalVolume.hh>
00014 #include <G4VPhysicalVolume.hh>
00015 #include "G4VisAttributes.hh"
00016 #include "G4Color.hh"
00017
00018 #include "Saxana/SAXProcessor.h"
00019 #include "Saxana/ProcessingConfigurator.h"
00020 #include "G4Processor/GDMLProcessor.h"
00021
00030 class SubDetectorG4Geo
00031 {
00032 public:
00033
00035 SubDetectorG4Geo();
00036
00038 virtual ~SubDetectorG4Geo();
00039
00041 void ReadGdml( const char *gdmlFile, const char *setupName );
00042
00044 int IsInitialized() { return m_G4GeoInit; }
00045
00047 G4LogicalVolume* GetLogicalVolume( const std::string& vn );
00048
00050 G4LogicalVolume* GetTopVolume() { return m_TopVolume; }
00051
00052 private:
00053
00054 SAXProcessor m_sxp;
00055 ProcessingConfigurator m_config;
00056
00057 protected:
00058
00059 int m_G4GeoInit;
00060
00061 G4LogicalVolume *m_TopVolume;
00062 };
00063
00064 #endif