00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef BesSubdetector_H
00010 #define BesSubdetector_H 1
00011
00012 class G4LogicalVolume;
00013
00014 #include "GDMLProcessor.hh"
00015 #include "SAXProcessor.hh"
00016 #include "ProcessingConfigurator.hh"
00017
00018 class BesSubdetector
00019 {
00020 public:
00021 BesSubdetector(){;}
00022 virtual ~BesSubdetector(){;}
00023
00024
00025
00026
00027 virtual void Construct(G4LogicalVolume* bes) = 0;
00028 G4LogicalVolume* FindLogicalVolume( const G4String& vn);
00029
00030 protected:
00031
00032 SAXProcessor m_sxp;
00033 ProcessingConfigurator m_config;
00034
00035 };
00036
00037 inline
00038 G4LogicalVolume* BesSubdetector::FindLogicalVolume( const G4String& vn ) {
00039 return const_cast<G4LogicalVolume*>( GDMLProcessor::GetInstance()->GetLogicalVolume(vn) );
00040 }
00041
00042 #endif
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052