#include <G4GDMLMessenger.hh>
Inheritance diagram for G4GDMLMessenger:
Public Member Functions | |
G4GDMLMessenger (G4GDMLParser *) | |
~G4GDMLMessenger () | |
void | SetNewValue (G4UIcommand *, G4String) |
Definition at line 53 of file G4GDMLMessenger.hh.
G4GDMLMessenger::G4GDMLMessenger | ( | G4GDMLParser * | ) |
Definition at line 47 of file G4GDMLMessenger.cc.
References G4UIcommand::AvailableForStates(), G4State_Idle, G4State_PreInit, G4UIcommand::SetGuidance(), and G4UIcmdWithAString::SetParameterName().
00048 : myParser(myPars), topvol(0) 00049 { 00050 persistencyDir = new G4UIdirectory("/persistency/"); 00051 persistencyDir->SetGuidance("UI commands specific to persistency."); 00052 00053 gdmlDir = new G4UIdirectory("/persistency/gdml/"); 00054 gdmlDir->SetGuidance("GDML parser and writer."); 00055 00056 ReaderCmd = new G4UIcmdWithAString("/persistency/gdml/read",this); 00057 ReaderCmd->SetGuidance("Read GDML file."); 00058 ReaderCmd->SetParameterName("filename",false); 00059 ReaderCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 00060 00061 TopVolCmd = new G4UIcmdWithAString("/persistency/gdml/topvol",this); 00062 TopVolCmd->SetGuidance("Set the top volume for writing the GDML file."); 00063 TopVolCmd->SetParameterName("topvol",false); 00064 00065 WriterCmd = new G4UIcmdWithAString("/persistency/gdml/write",this); 00066 WriterCmd->SetGuidance("Write GDML file."); 00067 WriterCmd->SetParameterName("filename",false); 00068 WriterCmd->AvailableForStates(G4State_Idle); 00069 00070 ClearCmd = new G4UIcmdWithoutParameter("/persistency/gdml/clear",this); 00071 ClearCmd->SetGuidance("Clear geometry (before reading a new one from GDML)."); 00072 ClearCmd->AvailableForStates(G4State_Idle); 00073 }
G4GDMLMessenger::~G4GDMLMessenger | ( | ) |
Definition at line 75 of file G4GDMLMessenger.cc.
00076 { 00077 delete ReaderCmd; 00078 delete WriterCmd; 00079 delete ClearCmd; 00080 delete TopVolCmd; 00081 delete persistencyDir; 00082 delete gdmlDir; 00083 }
void G4GDMLMessenger::SetNewValue | ( | G4UIcommand * | , | |
G4String | ||||
) | [virtual] |
Reimplemented from G4UImessenger.
Definition at line 85 of file G4GDMLMessenger.cc.
References G4SolidStore::Clean(), G4LogicalVolumeStore::Clean(), G4PhysicalVolumeStore::Clean(), G4GDMLParser::Clear(), G4RunManager::DefineWorldVolume(), G4LogicalVolumeStore::GetInstance(), G4GeometryManager::GetInstance(), G4RunManager::GetRunManager(), G4LogicalVolumeStore::GetVolume(), G4GDMLParser::GetWorldVolume(), G4GeometryManager::OpenGeometry(), G4GDMLParser::Read(), and G4GDMLParser::Write().
00086 { 00087 if( command == ReaderCmd ) 00088 { 00089 G4GeometryManager::GetInstance()->OpenGeometry(); 00090 myParser->Read(newValue); 00091 G4RunManager::GetRunManager()->DefineWorldVolume(myParser->GetWorldVolume()); 00092 } 00093 00094 if( command == TopVolCmd ) 00095 { 00096 topvol = G4LogicalVolumeStore::GetInstance()->GetVolume(newValue); 00097 } 00098 00099 if( command == WriterCmd ) 00100 { 00101 myParser->Write(newValue, topvol); 00102 } 00103 00104 if( command == ClearCmd ) 00105 { 00106 myParser->Clear(); 00107 G4GeometryManager::GetInstance()->OpenGeometry(); 00108 G4PhysicalVolumeStore::Clean(); 00109 G4LogicalVolumeStore::Clean(); 00110 G4SolidStore::Clean(); 00111 } 00112 }