63 : x(0,0,0), p(0,0,1), grdRes(100,100,100), cylRes(90,50,50),
64 cylfZ(0.8), cylfR(0.8), newtol(false), tol(1E-4),
65 recLevel(0), recDepth(-1), tmanager(tman), tlogger(0), tvolume(0)
66{
68 geodir->
SetGuidance(
"Geometry control commands." );
69
70
71
72
74 navdir->
SetGuidance(
"Geometry navigator control setup." );
75
77 resCmd->
SetGuidance(
"Reset navigator and navigation history." );
78 resCmd->
SetGuidance(
"NOTE: must be called only after kernel has been" );
79 resCmd->
SetGuidance(
" initialized once through the run manager!" );
81
83 verbCmd->
SetGuidance(
"Set run-time verbosity for the navigator." );
85 verbCmd->
SetGuidance(
" 1 : Display volume positioning and step lengths");
86 verbCmd->
SetGuidance(
" 2 : Display step/safety info on point location");
87 verbCmd->
SetGuidance(
" 3 : Display minimal state at -every- step");
88 verbCmd->
SetGuidance(
" 4 : Maximum verbosity (very detailed!)");
89 verbCmd->
SetGuidance(
"NOTE: this command has effect -only- if Geant4 has" );
90 verbCmd->
SetGuidance(
" been installed with the G4VERBOSE flag set!" );
93 verbCmd->
SetRange(
"level >=0 && level <=4");
94
96 chkCmd->
SetGuidance(
"Set navigator in -check_mode- state." );
97 chkCmd->
SetGuidance(
"This will cause extra checks to be applied during" );
98 chkCmd->
SetGuidance(
"navigation. More strict and less tolerant conditions" );
99 chkCmd->
SetGuidance(
"are applied. A run-time performance penalty may be" );
100 chkCmd->
SetGuidance(
"observed when the -check_mode- state is activated." );
101 chkCmd->
SetGuidance(
"NOTE: this command has effect -only- if Geant4 has" );
102 chkCmd->
SetGuidance(
" been installed with the G4VERBOSE flag set!" );
106
108 pchkCmd->
SetGuidance(
"Set navigator verbosity push notifications." );
109 pchkCmd->
SetGuidance(
"This allows to disable/re-enable verbosity in" );
110 pchkCmd->
SetGuidance(
"navigation, when tracks may get stuck and require" );
111 pchkCmd->
SetGuidance(
"one artificial push along the direction by the" );
112 pchkCmd->
SetGuidance(
"navigator. Notification is active by default." );
113 pchkCmd->
SetGuidance(
"NOTE: this command has effect -only- if Geant4 has" );
114 pchkCmd->
SetGuidance(
" been installed with the G4VERBOSE flag set!" );
118
119
120
121
123 testdir->
SetGuidance(
"Geometry verification control setup." );
124 testdir->
SetGuidance(
"Helps in detecting possible overlapping regions." );
125
127 tolCmd->
SetGuidance(
"Set error tolerance value." );
128 tolCmd->
SetGuidance(
"Initial default value: 1E-4*mm." );
133
135 posCmd->
SetGuidance(
"Set starting position for the line_test." );
138
140 dirCmd->
SetGuidance(
"Set momentum direction for the line_test." );
141 dirCmd->
SetGuidance(
"Direction needs not to be a unit vector." );
143 dirCmd->
SetRange(
"Px != 0 || Py != 0 || Pz != 0" );
144
146 linCmd->
SetGuidance(
"Performs test along a single specified direction/position." );
147 linCmd->
SetGuidance(
"Use position and direction commands to change default." );
148 linCmd->
SetGuidance(
"Initial default: position(0,0,0), direction(0,0,1)." );
149 linCmd->
SetGuidance(
"If recursion flag is set to TRUE, the intersection checks" );
150 linCmd->
SetGuidance(
"will be performed recursively in the geometry tree." );
154
156 grzCmd->
SetGuidance(
"Define resolution of grid geometry as number of cells," );
157 grzCmd->
SetGuidance(
"specifying them for each dimension, X, Y and Z." );
158 grzCmd->
SetGuidance(
"Will be applied to grid_test and recursive_test commands." );
159 grzCmd->
SetGuidance(
"Initial default values: X=100, Y=100, Z=100." );
162
164 grdCmd->
SetGuidance(
"Start running the default grid test." );
165 grdCmd->
SetGuidance(
"A grid of lines parallel to a cartesian axis is used;" );
166 grdCmd->
SetGuidance(
"By default, only direct daughters of the mother volumes are checked." );
167 grdCmd->
SetGuidance(
"If recursion flag is set to TRUE, the intersection checks" );
168 grdCmd->
SetGuidance(
"will be performed recursively in the geometry tree." );
169 grdCmd->
SetGuidance(
"NOTE: the recursion may take a very long time," );
170 grdCmd->
SetGuidance(
" depending on the geometry complexity !");
174
176 cyzCmd->
SetGuidance(
"Define details of the cylinder geometry, specifying:" );
177 cyzCmd->
SetGuidance(
" nPhi - number of lines per Phi" );
179 cyzCmd->
SetGuidance(
" nRho - number of Rho points" );
180 cyzCmd->
SetGuidance(
"Will be applied to the cylinder_test command." );
181 cyzCmd->
SetGuidance(
"Initial default values: nPhi=90, nZ=50, nRho=50." );
184
186 cfzCmd->
SetGuidance(
"Define the resolution of the cylinder geometry, specifying" );
187 cfzCmd->
SetGuidance(
"the fraction scale for points along Z." );
188 cfzCmd->
SetGuidance(
"Initial default values: fracZ=0.8" );
191
193 cfrCmd->
SetGuidance(
"Define the resolution of the cylinder geometry, specifying" );
194 cfrCmd->
SetGuidance(
"the fraction scale for points along Rho." );
195 cfrCmd->
SetGuidance(
"Initial default values: fracRho=0.8" );
198
200 cylCmd->
SetGuidance(
"Start running the cylinder test." );
201 cylCmd->
SetGuidance(
"A set of lines in a cylindrical pattern of gradually" );
203 cylCmd->
SetGuidance(
"By default, only direct daughters of the mother volumes are checked." );
204 cylCmd->
SetGuidance(
"If recursion flag is set to TRUE, the intersection checks" );
205 cylCmd->
SetGuidance(
"will be performed recursively in the geometry tree." );
206 cylCmd->
SetGuidance(
"NOTE: the recursion may take a very long time," );
207 cylCmd->
SetGuidance(
" depending on the geometry complexity !");
211
213 rcsCmd->
SetGuidance(
"Set the initial level in the geometry tree for recursion." );
214 rcsCmd->
SetGuidance(
"recursive_test will then start from the specified level." );
217
219 rcdCmd->
SetGuidance(
"Set the depth in the geometry tree for recursion." );
220 rcdCmd->
SetGuidance(
"recursive_test will then stop after reached the specified depth." );
221 rcdCmd->
SetGuidance(
"By default, recursion will proceed for the whole depth." );
224
225
226
228 runCmd->
SetGuidance(
"Start running the default grid test." );
229 runCmd->
SetGuidance(
"Same as the grid_test command." );
230 runCmd->
SetGuidance(
"If recursion flag is set to TRUE, the intersection checks" );
231 runCmd->
SetGuidance(
"will be performed recursively in the geometry tree." );
232 runCmd->
SetGuidance(
"NOTE: the recursion may take a very long time," );
233 runCmd->
SetGuidance(
" depending on the geometry complexity !");
237
239 recCmd->
SetGuidance(
"Start running the recursive grid test." );
240 recCmd->
SetGuidance(
"A grid of lines along a cartesian axis is recursively" );
241 recCmd->
SetGuidance(
"to all daughters and daughters of daughters, etc." );
242 recCmd->
SetGuidance(
"NOTE: it may take a very long time," );
243 recCmd->
SetGuidance(
" depending on the geometry complexity !");
245}
CLHEP::Hep3Vector G4ThreeVector
void SetDefaultUnit(const char *defUnit)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4ThreeVector defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4bool defVal)
void SetDefaultValue(G4double defVal)
void SetUnitCategory(const char *unitCategory)
void SetDefaultUnit(const char *defUnit)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4double defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4int defVal)
void SetGuidance(const char *aGuidance)
void SetRange(const char *rs)
void AvailableForStates(G4ApplicationState s1)