Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4GDMLMessenger Class Reference

#include <G4GDMLMessenger.hh>

Inheritance diagram for G4GDMLMessenger:

Public Member Functions

 G4GDMLMessenger (G4GDMLParser *)
 ~G4GDMLMessenger ()
void SetNewValue (G4UIcommand *, G4String)
Public Member Functions inherited from G4UImessenger
 G4UImessenger ()=default
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
virtual ~G4UImessenger ()
virtual G4String GetCurrentValue (G4UIcommand *command)
G4bool CommandsShouldBeInMaster () const

Additional Inherited Members

Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
G4String LtoS (G4long l)
G4String DtoS (G4double a)
G4String BtoS (G4bool b)
G4int StoI (const G4String &s)
G4long StoL (const G4String &s)
G4double StoD (const G4String &s)
G4bool StoB (const G4String &s)
void AddUIcommand (G4UIcommand *newCommand)
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
template<typename T>
T * CreateCommand (const G4String &cname, const G4String &dsc)
Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir = nullptr
G4String baseDirName = ""
G4bool commandsShouldBeInMaster = false

Detailed Description

Definition at line 48 of file G4GDMLMessenger.hh.

Constructor & Destructor Documentation

◆ G4GDMLMessenger()

G4GDMLMessenger::G4GDMLMessenger ( G4GDMLParser * myPars)

Definition at line 46 of file G4GDMLMessenger.cc.

47 : myParser(myPars)
48{
49 persistencyDir = new G4UIdirectory("/persistency/");
50 persistencyDir->SetGuidance("UI commands specific to persistency.");
51
52 gdmlDir = new G4UIdirectory("/persistency/gdml/");
53 gdmlDir->SetGuidance("GDML parser and writer.");
54
55 ReaderSchema = new G4UIcmdWithAString("/persistency/gdml/schema", this);
56 ReaderSchema->SetGuidance("Set alternative GDML schema file for import validation.");
57 ReaderSchema->SetParameterName("schema_path_and_filename", false);
58 ReaderSchema->AvailableForStates(G4State_PreInit, G4State_Idle);
59 ReaderSchema->SetToBeBroadcasted(false);
60
61 ReaderCmd = new G4UIcmdWithAString("/persistency/gdml/read", this);
62 ReaderCmd->SetGuidance("Read GDML file.");
63 ReaderCmd->SetParameterName("filename", false);
64 ReaderCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
65 ReaderCmd->SetToBeBroadcasted(false);
66
67 TopVolCmd = new G4UIcmdWithAString("/persistency/gdml/topvol", this);
68 TopVolCmd->SetGuidance("Set the top volume for writing the GDML file.");
69 TopVolCmd->SetParameterName("topvol", false);
70 TopVolCmd->SetToBeBroadcasted(false);
71
72 WriterCmd = new G4UIcmdWithAString("/persistency/gdml/write", this);
73 WriterCmd->SetGuidance("Write GDML file.");
74 WriterCmd->SetParameterName("filename", false);
75 WriterCmd->AvailableForStates(G4State_Idle);
76 WriterCmd->SetToBeBroadcasted(false);
77
78 StripCmd = new G4UIcmdWithABool("/persistency/gdml/strip_pointers", this);
79 StripCmd->SetGuidance("Enable/disable stripping of pointers on names");
80 StripCmd->SetGuidance("when reading a GDML file.");
81 StripCmd->SetParameterName("strip_pointers", true);
82 StripCmd->SetDefaultValue(true);
83 StripCmd->AvailableForStates(G4State_Idle);
84 StripCmd->SetToBeBroadcasted(false);
85
86 AppendCmd = new G4UIcmdWithABool("/persistency/gdml/add_pointers", this);
87 AppendCmd->SetGuidance("Enable/disable appending of pointers to names");
88 AppendCmd->SetGuidance("when writing a GDML file.");
89 AppendCmd->SetParameterName("append_pointers", true);
90 AppendCmd->SetDefaultValue(true);
91 AppendCmd->AvailableForStates(G4State_Idle);
92 AppendCmd->SetToBeBroadcasted(false);
93
94 RegionCmd = new G4UIcmdWithABool("/persistency/gdml/export_regions", this);
95 RegionCmd->SetGuidance("Enable export of geometrical regions");
96 RegionCmd->SetGuidance("for storing production cuts.");
97 RegionCmd->SetParameterName("export_regions", false);
98 RegionCmd->SetDefaultValue(false);
99 RegionCmd->AvailableForStates(G4State_Idle);
100 RegionCmd->SetToBeBroadcasted(false);
101
102 EcutsCmd = new G4UIcmdWithABool("/persistency/gdml/export_Ecuts", this);
103 EcutsCmd->SetGuidance("Enable export of energy cuts associated");
104 EcutsCmd->SetGuidance("to logical volumes.");
105 EcutsCmd->SetGuidance("NOTE: may increase considerably the size of the");
106 EcutsCmd->SetGuidance(" GDML file! Information is anyhow not used");
107 EcutsCmd->SetGuidance(" for import.");
108 EcutsCmd->SetParameterName("export_Ecuts", false);
109 EcutsCmd->SetDefaultValue(false);
110 EcutsCmd->AvailableForStates(G4State_Idle);
111 EcutsCmd->SetToBeBroadcasted(false);
112
113 SDCmd = new G4UIcmdWithABool("/persistency/gdml/export_SD", this);
114 SDCmd->SetGuidance("Enable export of SD associated");
115 SDCmd->SetGuidance("to logical volumes.");
116 SDCmd->SetParameterName("export_SD", false);
117 SDCmd->SetDefaultValue(false);
118 SDCmd->AvailableForStates(G4State_Idle);
119 SDCmd->SetToBeBroadcasted(false);
120
121 ClearCmd = new G4UIcmdWithoutParameter("/persistency/gdml/clear", this);
122 ClearCmd->SetGuidance("Clear geometry (before reading a new one from GDML).");
123 ClearCmd->AvailableForStates(G4State_Idle);
124 ClearCmd->SetToBeBroadcasted(false);
125}
@ G4State_Idle
@ G4State_PreInit

◆ ~G4GDMLMessenger()

G4GDMLMessenger::~G4GDMLMessenger ( )

Definition at line 128 of file G4GDMLMessenger.cc.

129{
130 delete ReaderSchema;
131 delete ReaderCmd;
132 delete WriterCmd;
133 delete ClearCmd;
134 delete TopVolCmd;
135 delete RegionCmd;
136 delete EcutsCmd;
137 delete SDCmd;
138 delete persistencyDir;
139 delete gdmlDir;
140 delete StripCmd;
141 delete AppendCmd;
142}

Member Function Documentation

◆ SetNewValue()

void G4GDMLMessenger::SetNewValue ( G4UIcommand * command,
G4String newValue )
virtual

Reimplemented from G4UImessenger.

Definition at line 145 of file G4GDMLMessenger.cc.

146{
147 if(command == StripCmd)
148 {
149 G4bool mode = StripCmd->GetNewBoolValue(newValue);
150 myParser->SetStripFlag(mode);
151 }
152
153 if(command == AppendCmd)
154 {
155 pFlag = AppendCmd->GetNewBoolValue(newValue);
156 myParser->SetAddPointerToName(pFlag);
157 }
158
159 if(command == ReaderSchema)
160 {
161 myParser->SetImportSchema(newValue);
162 }
163
164 if(command == ReaderCmd)
165 {
167 myParser->Read(newValue);
169 myParser->GetWorldVolume());
171 }
172
173 if(command == RegionCmd)
174 {
175 G4bool mode = RegionCmd->GetNewBoolValue(newValue);
176 myParser->SetRegionExport(mode);
177 }
178
179 if(command == EcutsCmd)
180 {
181 G4bool mode = EcutsCmd->GetNewBoolValue(newValue);
182 myParser->SetEnergyCutsExport(mode);
183 }
184
185 if(command == SDCmd)
186 {
187 G4bool mode = SDCmd->GetNewBoolValue(newValue);
188 myParser->SetSDExport(mode);
189 }
190
191 if(command == TopVolCmd)
192 {
193 topvol = G4LogicalVolumeStore::GetInstance()->GetVolume(newValue);
194 }
195
196 if(command == WriterCmd)
197 {
198 myParser->Write(newValue, topvol, pFlag);
199 }
200
201 if(command == ClearCmd)
202 {
203 myParser->Clear();
205 }
206}
bool G4bool
Definition G4Types.hh:86
static G4GeometryManager * GetInstance()
void OpenGeometry(G4VPhysicalVolume *vol=nullptr)
G4LogicalVolume * GetVolume(const G4String &name, G4bool verbose=true, G4bool reverseSearch=false) const
static G4LogicalVolumeStore * GetInstance()
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4RunManager * GetRunManager()
virtual void DefineWorldVolume(G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
void GeometryDirectlyUpdated(G4bool val=true)

The documentation for this class was generated from the following files: