00001 #ifndef ExtBesSubdetector_H 00002 #define ExtBesSubdetector_H 1 00003 00004 00005 #include "GDMLProcessor.hh" 00006 #include "G4LogicalVolume.hh" 00007 00008 class ExtBesSubdetector 00009 { 00010 public: 00011 ExtBesSubdetector(){}; 00012 virtual ~ExtBesSubdetector(){}; 00013 00014 //construct your detector and position it in BES world volume 00015 //You MUST derive your concrete class and implement it 00016 virtual void Construct(G4LogicalVolume* bes) = 0; 00017 inline G4LogicalVolume *FindLogicalVolume( const G4String& vn); 00018 00019 }; 00020 00021 inline G4LogicalVolume* ExtBesSubdetector::FindLogicalVolume( const G4String& vn ) 00022 { 00023 return const_cast<G4LogicalVolume*>( GDMLProcessor::GetInstance()->GetLogicalVolume(vn) ); 00024 } 00025 00026 #endif