1 | |
---|
2 | ========================================================= |
---|
3 | Geant4 - Radiation monitor example |
---|
4 | ========================================================= |
---|
5 | |
---|
6 | README |
---|
7 | --------------------- |
---|
8 | |
---|
9 | 0. INTRODUCTION |
---|
10 | |
---|
11 | The Radiation monitor example derives from a Geant4 application whose scope |
---|
12 | is to study of the effects of a chip carrier on silicon radiation monitoring |
---|
13 | devices used in the LHC environment. Further details are available at the |
---|
14 | |
---|
15 | http://www.ge.infn.it/~geant4/hep/radmon |
---|
16 | |
---|
17 | website. |
---|
18 | |
---|
19 | |
---|
20 | |
---|
21 | 1. HOW TO BUILD |
---|
22 | |
---|
23 | Run gmake from the |
---|
24 | |
---|
25 | $G4INSTALL/examples/advanced/radiation_monitor |
---|
26 | |
---|
27 | directory. The executable |
---|
28 | |
---|
29 | $G4WORKDIR/bin/Radmon |
---|
30 | |
---|
31 | will be built. |
---|
32 | |
---|
33 | If you set the environment variable G4VIS_USE, the geant4 visualisation |
---|
34 | module will be build. |
---|
35 | |
---|
36 | If you set the environment variable G4ANALYSIS_USE, the analysis will be |
---|
37 | built. Analysis module is based on AIDA 3.2.1 and was tested with PI 1.3.5. |
---|
38 | Probably analysis will run also on previous AIDA versions, but it is no |
---|
39 | garateed |
---|
40 | |
---|
41 | |
---|
42 | |
---|
43 | 2. COMMAND LINE SYNTAX |
---|
44 | |
---|
45 | Run |
---|
46 | |
---|
47 | $G4WORKDIR/bin/Radmon -h |
---|
48 | |
---|
49 | for command line help. The following output will be printed out |
---|
50 | _____________________________________________________________________________ |
---|
51 | |
---|
52 | Usage: Radmon [-h|-H|-?] [-b] [-v] [<filename>] |
---|
53 | |
---|
54 | -h -H -? Usage help |
---|
55 | -b Force non-interactive mode |
---|
56 | -v Verbose output |
---|
57 | <filename> Name of the macro to be run |
---|
58 | |
---|
59 | If ".startup.mac" is present, it will be run before anything else. |
---|
60 | _____________________________________________________________________________ |
---|
61 | |
---|
62 | -v options adds some extra messages during initialization phase. |
---|
63 | At the end of initialization, .startup.mac file is run (if present) and then |
---|
64 | <filename> is run (if specified on the command line). After having run these |
---|
65 | two files, if -b option is omitted, the interactive session starts. |
---|
66 | |
---|
67 | |
---|
68 | |
---|
69 | 3. USER INTERFACE |
---|
70 | |
---|
71 | Geometry, Materials, Physics, Beam type, Sensible volumes, Quantities to be |
---|
72 | stored for the analysis are all defined interactively (or in macro files) |
---|
73 | through the user interface. This allows a high level of flexibility in the |
---|
74 | setup definition, without need to rebuild the code. Gemetry types, Physics |
---|
75 | list, Beam types, Quantities to be stored for the analysis are all |
---|
76 | modularired using abstract classes. If current modules satisfy your |
---|
77 | requirements, you will not need to add code, but only to modify macro files |
---|
78 | or insert commands interactively through command line. |
---|
79 | |
---|
80 | 3.1 RADMON PROPRETARY UI COMMANDS |
---|
81 | |
---|
82 | The introduced user interface commands are: |
---|
83 | |
---|
84 | /radmon/application/EnableRunsDump |
---|
85 | /radmon/application/DisableRunsDump |
---|
86 | /radmon/application/DumpEventsEvery |
---|
87 | /radmon/application/DisableEventsDump |
---|
88 | /radmon/application/EnableTracksVisualisation |
---|
89 | /radmon/application/DisableTracksVisualisation |
---|
90 | /radmon/detectorFactory/Dump |
---|
91 | /radmon/detector/EnableEnvironment |
---|
92 | /radmon/detector/DisableEnvironment |
---|
93 | /radmon/detector/SetEnvironmentType |
---|
94 | /radmon/detector/SetEnvironmentAttribute |
---|
95 | /radmon/detector/ClearEnvironmentAttribute |
---|
96 | /radmon/detector/CreateMultilayer |
---|
97 | /radmon/detector/RemoveMultilayer |
---|
98 | /radmon/detector/SetMultilayerWidth |
---|
99 | /radmon/detector/SetMultilayerHeight |
---|
100 | /radmon/detector/AppendLayerToMultilayer |
---|
101 | /radmon/detector/RemoveLayerFromMultilayer |
---|
102 | /radmon/detector/RemoveAllLayersFromMultilayer |
---|
103 | /radmon/detector/SetLayerThickness |
---|
104 | /radmon/detector/SetLayerType |
---|
105 | /radmon/detector/SetLayerAttribute |
---|
106 | /radmon/detector/ClearLayerAttribute |
---|
107 | /radmon/detector/CreatePlacement |
---|
108 | /radmon/detector/RemovePlacement |
---|
109 | /radmon/detector/SetPlacementPosition |
---|
110 | /radmon/detector/SetPlacementRotation |
---|
111 | /radmon/detector/SetRelativePlacementPosition |
---|
112 | /radmon/detector/SetRelativePlacementRotation |
---|
113 | /radmon/detector/DumpLayout |
---|
114 | /radmon/detector/Load |
---|
115 | /radmon/detector/Save |
---|
116 | /radmon/materials/CreateElement |
---|
117 | /radmon/materials/CreateMaterial |
---|
118 | /radmon/materials/AddComponentByAtoms |
---|
119 | /radmon/materials/AddComponentByFraction |
---|
120 | /radmon/materials/SetMaterialColor |
---|
121 | /radmon/materials/SetMaterialTrasparency |
---|
122 | /radmon/materials/SetMaterialVisibility |
---|
123 | /radmon/materials/SetMaterialStyle |
---|
124 | /radmon/materials/Dump |
---|
125 | /radmon/materials/Insert |
---|
126 | /radmon/materials/Save |
---|
127 | /radmon/subPhysicsListFactory/Dump |
---|
128 | /radmon/physics/AddPhysicsList |
---|
129 | /radmon/physics/RemovePhysicsList |
---|
130 | /radmon/physics/SetPhysicsListAttribute |
---|
131 | /radmon/physics/ClearPhysicsListAttribute |
---|
132 | /radmon/physics/DumpLayout |
---|
133 | /radmon/physics/Load |
---|
134 | /radmon/physics/Save |
---|
135 | /radmon/generatorsFactory/Dump |
---|
136 | /radmon/generator/InsertSource |
---|
137 | /radmon/generator/SetRelativeSourceIntensity |
---|
138 | /radmon/generator/RemoveSource |
---|
139 | /radmon/generator/AppendSourceAlgorithm |
---|
140 | /radmon/generator/SetSourceAlgorithmType |
---|
141 | /radmon/generator/RemoveSourceAlgorithm |
---|
142 | /radmon/generator/SetSourceAlgorithmAttribute |
---|
143 | /radmon/generator/ClearSourceAlgorithmAttribute |
---|
144 | /radmon/generator/Load |
---|
145 | /radmon/generator/Save |
---|
146 | /radmon/generator/DumpLayout |
---|
147 | /radmon/dataAnalysisFactory/Dump |
---|
148 | /radmon/analysis/SetOutputFileName |
---|
149 | /radmon/analysis/SetOutputFileFormat |
---|
150 | /radmon/analysis/CreateSensitiveDetector |
---|
151 | /radmon/analysis/SetSensitiveDetectorType |
---|
152 | /radmon/analysis/RemoveSensitiveDetector |
---|
153 | /radmon/analysis/CreateSensitiveDetectorType |
---|
154 | /radmon/analysis/RemoveSensitiveDetectorType |
---|
155 | /radmon/analysis/AppendDataAnalysisToSensitiveDetectorType |
---|
156 | /radmon/analysis/SetDataAnalysisType |
---|
157 | /radmon/analysis/RemoveDataAnalysis |
---|
158 | /radmon/analysis/SetDataAnalysisAttribute |
---|
159 | /radmon/analysis/ClearDataAnalysisAttribute |
---|
160 | /radmon/analysis/DumpLayout |
---|
161 | /radmon/analysis/Load |
---|
162 | /radmon/analysis/Save |
---|
163 | |
---|
164 | Details of the commands will be given in each specific section. |
---|
165 | |
---|
166 | A common feature to all the code is the presence of 'attributes'. Each |
---|
167 | module of geometry, physics, beam type, analysis can have specific |
---|
168 | parameters that define its behaviour. These parameters are set through |
---|
169 | 'attributes'. Next sections will document for each implemented module, the required and optional |
---|
170 | attributes, their meaning and their format. |
---|
171 | |
---|
172 | Everything in the Radmon application is case sensitive. |
---|
173 | |
---|
174 | |
---|
175 | |
---|
176 | 4. APPLICATION |
---|
177 | |
---|
178 | Application commands sets the behaviour of helper user actions: |
---|
179 | |
---|
180 | Command: /radmon/application/EnableRunsDump |
---|
181 | Parameters: [none] |
---|
182 | Description: Enables the print out of the run number at the begin of the run |
---|
183 | |
---|
184 | Command: /radmon/application/DisableRunsDump |
---|
185 | Parameters [none] |
---|
186 | Description: Disables the print out of the run number |
---|
187 | |
---|
188 | Command: /radmon/application/DumpEventsEvery |
---|
189 | Parameters <n> [integer] |
---|
190 | Description: Enables the print out of the event number at the beginning of |
---|
191 | the event (1 out of <n> events) |
---|
192 | |
---|
193 | Command: /radmon/application/DisableEventsDump |
---|
194 | Parameters [none] |
---|
195 | Description: Disables the print out of the event number |
---|
196 | |
---|
197 | Command: /radmon/application/EnableTracksVisualisation |
---|
198 | Parameters [none] |
---|
199 | Description: Enables the display of the tracks at the end of the run |
---|
200 | Requires: G4VIS_USE environment variable at build time |
---|
201 | See also: /vis/scene/endOfEventAction [Geant4 built-in UI command] |
---|
202 | |
---|
203 | Command: /radmon/application/DisableTracksVisualisation |
---|
204 | Parameters [none] |
---|
205 | Description: Disables the display of the tracks |
---|
206 | Requires: G4VIS_USE environment variable at build time |
---|
207 | |
---|
208 | |
---|
209 | |
---|
210 | 5. GEOMETRY |
---|
211 | |
---|
212 | Geometry is completely built interactively. Two concepts are available: |
---|
213 | |
---|
214 | - Environment |
---|
215 | - Multi-layers |
---|
216 | |
---|
217 | 5.1 ENVIRONMENT |
---|
218 | |
---|
219 | Defines the geometry in which "multi-layers" will be placed. The environment |
---|
220 | defines the world volume and eventually other volumes that are not |
---|
221 | "multi-layers" volumes. For example the "TestBeam" environment type |
---|
222 | (currently not implemented) will define all the geometries of the test beam |
---|
223 | except from the tested chips+packagings. |
---|
224 | |
---|
225 | Command: /radmon/detector/DisableEnvironment |
---|
226 | Parameters: [none] |
---|
227 | Description: Disables the usage of specific environments. The world volume |
---|
228 | will be a sphere of RADMON_VACUUM (vacuum) large enough to contain |
---|
229 | all the placed multi-layers |
---|
230 | |
---|
231 | Command: /radmon/detector/EnableEnvironment |
---|
232 | Parameters: [none] |
---|
233 | Description: Enables the usage of a specific environment. The enviroment is |
---|
234 | defined through the next commands |
---|
235 | |
---|
236 | Command: /radmon/detector/SetEnvironmentType |
---|
237 | Parameters: <type> [string] |
---|
238 | Description: Fix the environment type to the type <type>. For a list of |
---|
239 | available strings use /radmon/detectorFactory/Dump command |
---|
240 | See also: /radmon/detectorFactory/Dump (Chapter 5.3) |
---|
241 | |
---|
242 | Command: /radmon/detector/SetEnvironmentAttribute |
---|
243 | Parameters: <name> [string], <value> [string] |
---|
244 | Description: Configure the selected environment type setting the attribute |
---|
245 | <name> to the value <value>. Each environment type has its own |
---|
246 | attributes. Attributes are detailed in Chapter 5.4 |
---|
247 | |
---|
248 | Command: /radmon/detector/ClearEnvironmentAttribute |
---|
249 | Parameters: <name> [string] |
---|
250 | Description: Removes the attribute <name> from the environment |
---|
251 | configuration. |
---|
252 | |
---|
253 | 5.2 MULTILAYERS |
---|
254 | |
---|
255 | Multilayers are wafer made up of different layers. Several multilayers can |
---|
256 | be defined. A instance of a multilayer is called placed multilayer. A placed |
---|
257 | multilayer has a position and a rotation relative to the world volume. More |
---|
258 | placed multilayers can be instanced for each multilayer type. |
---|
259 | |
---|
260 | 5.2.1 MULTILAYERS |
---|
261 | |
---|
262 | Command: /radmon/detector/CreateMultilayer |
---|
263 | Parameters: <name> [string] |
---|
264 | Description: Creates a multilayer with name <name> |
---|
265 | |
---|
266 | Command: /radmon/detector/RemoveMultilayer |
---|
267 | Parameters: <name> [string] |
---|
268 | Description: If defined and without placed instances, removes the multilayer |
---|
269 | named <name>. If the multilayer has placed instances. You will |
---|
270 | have to remove the placed instances with |
---|
271 | /radmon/detector/RemovePlacement command. |
---|
272 | See Also: /radmon/detector/RemovePlacement (Chapter 5.2.2) |
---|
273 | |
---|
274 | Command: /radmon/detector/SetMultilayerWidth |
---|
275 | Parameters: <name> [string], <width> [length] |
---|
276 | Description: Defines the multilayer width. the second argument is a space |
---|
277 | separated string with a real number and a unit of length |
---|
278 | |
---|
279 | Command: /radmon/detector/SetMultilayerHeight |
---|
280 | Parameters: <name> [string], <height> [length] |
---|
281 | Description: Defines the multilayer height |
---|
282 | |
---|
283 | Command: /radmon/detector/AppendLayerToMultilayer |
---|
284 | Parameters: <name> [string], <label> [string] |
---|
285 | Description: Adds a layer to the multilayer named <name>. The layer will be |
---|
286 | referenced by the label <label> |
---|
287 | The multilayer thickness is alogn the z axis. Width is along x |
---|
288 | axis and height along y axis. Appended layers are placed |
---|
289 | consecutively along the z direction. The first appended layer |
---|
290 | has a z coordinate lower than the second appended layer. |
---|
291 | AppendLayerToMultilayer stacks the layers on top of the previous |
---|
292 | ones. The origin of reference system for the multilayer is |
---|
293 | placed in its center. |
---|
294 | |
---|
295 | Example: |
---|
296 | |
---|
297 | /radmon/detector/AppendLayerToMultilayer mly1 ly1 |
---|
298 | /radmon/detector/AppendLayerToMultilayer mly1 ly2 |
---|
299 | /radmon/detector/AppendLayerToMultilayer mly1 ly3 |
---|
300 | |
---|
301 | Width mly1 |
---|
302 | <-----------------------------------------> |
---|
303 | _________________________________________ ... |
---|
304 | | | ^ |
---|
305 | | ly3 | | Thickness ly3 |
---|
306 | |_________________ z ^ __________________|...v |
---|
307 | | | ly2 | ^ Thickness ly2 |
---|
308 | |_________________ +---> x _____________|...v |
---|
309 | | O | ^ |
---|
310 | | ly1 | | Thickness ly1 |
---|
311 | | | | |
---|
312 | |_________________________________________|...v |
---|
313 | |
---|
314 | |
---|
315 | Command: /radmon/detector/RemoveLayerFromMultilayer |
---|
316 | Parameters: <name> [string], <label> [string] |
---|
317 | Description: Removes the layer named <label> from the multilayer named |
---|
318 | <name> |
---|
319 | |
---|
320 | Command: /radmon/detector/RemoveAllLayersFromMultilayer |
---|
321 | Parameters: <name> [string] |
---|
322 | Description: Removes all the layers form the multilayer. |
---|
323 | |
---|
324 | Command: /radmon/detector/SetLayerThickness |
---|
325 | Parameters: <name> [string], <label> [string], <thickness> [length] |
---|
326 | Description: Sets the thickness of a layer named <label> defined in |
---|
327 | multilayer named <name> to <thickness> |
---|
328 | |
---|
329 | Command: /radmon/detector/SetLayerType |
---|
330 | Parameters: <name> [string], <label> [string], <type> [string] |
---|
331 | Description: Defines the layer type for a layer named <label> defined in |
---|
332 | multilayer named <name>. The type <type> must be one of the |
---|
333 | available modules. (Chapter 5.4) |
---|
334 | See also: /radmon/detectorFactory/Dump (Chapter 5.3) |
---|
335 | |
---|
336 | Command: /radmon/detector/SetLayerAttribute |
---|
337 | Parameters: <name> [string], <label> [string], <attribute> [string], |
---|
338 | <value> [string] |
---|
339 | Description: Sets the attribute <attribute> to value <value> for a layer |
---|
340 | named <label> defined in multilayer named <name>. |
---|
341 | See also: Chapter 5.4 |
---|
342 | |
---|
343 | Command: /radmon/detector/ClearLayerAttribute |
---|
344 | Parameters: <name> [string], <label> [string], <attribute> [string] |
---|
345 | Description: Removes the attribute <attribute> from a layer named <label> |
---|
346 | defined in multilayer named <name>. |
---|
347 | |
---|
348 | 5.2.2 PLACED MULTILAYERS |
---|
349 | |
---|
350 | Command: /radmon/detector/CreatePlacement |
---|
351 | Parameters: <name> [string], <type> [string] |
---|
352 | Description: Insert in the geometry a multilayer object named <type>. The |
---|
353 | inserted instance of the multilayer will be referenced though |
---|
354 | the label <name> |
---|
355 | |
---|
356 | Command: /radmon/detector/RemovePlacement |
---|
357 | Parameters: <name> [string] |
---|
358 | Description: Removes the multilayer instance named <name> from the geometry |
---|
359 | |
---|
360 | Command: /radmon/detector/SetPlacementPosition |
---|
361 | Parameters: <name> [string], <x> [real], <y> [real], <z> [real], |
---|
362 | <unit> [unit of length] |
---|
363 | Description: Set the absolute position of the multilayer instance named |
---|
364 | <name> |
---|
365 | |
---|
366 | Command: /radmon/detector/SetPlacementRotation |
---|
367 | Parameters: <name> [string], <theta> [real], <phi> [real], <delta> [real], |
---|
368 | <unit> [unit of angle] |
---|
369 | Description: Set the absolute direction of the multilayer instance named |
---|
370 | <name>. The multilayer is rtated by an angle <delta> along the |
---|
371 | axis defined by <theta> and <phi> angles |
---|
372 | |
---|
373 | Command: /radmon/detector/SetRelativePlacementPosition |
---|
374 | Parameters: <name> [string], <reference> [string], <x> [real], <y> [real], |
---|
375 | <z> [real], <unit> [unit of length] |
---|
376 | Description: Set the relative position of the multilayer instance named |
---|
377 | <name> relative to the coordinates system of another placed |
---|
378 | multilayer named <reference> |
---|
379 | |
---|
380 | Command: /radmon/detector/SetRelativePlacementRotation |
---|
381 | Parameters: <name> [string], <reference> [string], <theta> [real], |
---|
382 | <phi> [real], <delta> [real], <unit> [unit of angle] |
---|
383 | Description: Set the absolute direction of the multilayer instance named |
---|
384 | <name> relative to the coordinates system of another placed |
---|
385 | multilayer named <reference>. The multilayer is rtated by an |
---|
386 | angle <delta> along the axis defined by <theta> and <phi> |
---|
387 | angles |
---|
388 | |
---|
389 | 5.3 OTHER GEOMETRY COMMANDS |
---|
390 | |
---|
391 | Command: /radmon/detectorFactory/Dump |
---|
392 | Parameters: [none] |
---|
393 | Description: Dumps the complete list of implemented geometry modules. A |
---|
394 | geometry module can be used either for the definition of the |
---|
395 | enviroment type or for the definition of a layer type. Further |
---|
396 | details of the implemented geometry modules are available in |
---|
397 | Chapter 5.4 |
---|
398 | |
---|
399 | Command: /radmon/detector/DumpLayout |
---|
400 | Parameters: [none] |
---|
401 | Description: Dumps all the details of the current geometry configuration |
---|
402 | |
---|
403 | Command: /radmon/detector/Load |
---|
404 | Parameters: <file name> [string] |
---|
405 | Description: Loads the geometry data from <file name> file |
---|
406 | Note: This command is not implemented. It is provided for further |
---|
407 | developments |
---|
408 | |
---|
409 | Command: /radmon/detector/Save |
---|
410 | Parameters: <file name> [string] |
---|
411 | Description: Stores the geometry data in <file name> file |
---|
412 | Note: This command is not implemented. It is provided for further |
---|
413 | developments |
---|
414 | |
---|
415 | 5.4 AVAILABLE GEOMETRY MODULES |
---|
416 | |
---|
417 | Available geometry modules are the following: |
---|
418 | |
---|
419 | FlatVolume |
---|
420 | FlatVolumeWithHole |
---|
421 | FlatVolumeWithGround |
---|
422 | FlatVolumeWithGroundAndKeyMarks |
---|
423 | FlatVolumeWithGroundAndKeyMarksAndHole |
---|
424 | FlatVolumeWithTracks |
---|
425 | FlatVolumeWithPins |
---|
426 | FlatVolumeWithTracksAndHole |
---|
427 | FlatVolumeWithPads |
---|
428 | CarvedFlatVolume |
---|
429 | CarvedFlatVolumeWithHole |
---|
430 | CarvedFlatVolumeWithTracks |
---|
431 | CarvedFlatVolumeWithPins |
---|
432 | CarvedFlatVolumeWithTracksAndHole |
---|
433 | CarvedFlatVolumeWithGround |
---|
434 | CarvedFlatVolumeWithGroundAndKeyMarks |
---|
435 | CarvedFlatVolumeWithGroundAndKeyMarksAndHole |
---|
436 | |
---|
437 | Technically any geometry model could be used in the environment type |
---|
438 | definition, but the only one that is really relevant is FlatVolume. All the |
---|
439 | other modules are implemented for specific packagin geometry requirements: |
---|
440 | |
---|
441 | The * symbol used in next definitions is used to group modules categories. |
---|
442 | |
---|
443 | Modules: *FlatVolume* (modules containing FlatVolume word) |
---|
444 | Description: Builds a uniform box |
---|
445 | Attributes: Width defines the box width (size along x). This |
---|
446 | attribute is needed only when the module is used |
---|
447 | in the environment definition. |
---|
448 | Height defines the box height (size along y). This |
---|
449 | attribute is needed only when the module is used |
---|
450 | in the environment definition. Sa |
---|
451 | Thickness defines the box thickness (size along z). This |
---|
452 | attribute is needed only when the module is used |
---|
453 | in the environment definition |
---|
454 | Material Defines the material type. Materials names are |
---|
455 | defined through materials commands (Chapter 6) |
---|
456 | VisAttributes [OPTIONAL] Defines the visualization style of the |
---|
457 | volume. This attribute is optional. If omitted |
---|
458 | devault material visualization style will be used |
---|
459 | (Chapter 6) |
---|
460 | SensitiveDetector [OPTIONAL] Refers to a defined sensitive |
---|
461 | detector. When particles will pass through |
---|
462 | this volume, information will be stored according to |
---|
463 | the configuration of the referred sensitive |
---|
464 | detector. See Chapter 9 for further details. |
---|
465 | |
---|
466 | Width, Height and Thikness sizes are defined by a space separated string |
---|
467 | containing a real number followed by a unit of measure for length. Example: |
---|
468 | '10.5 cm' |
---|
469 | |
---|
470 | VisAttributes has the following format: |
---|
471 | |
---|
472 | - [OPTIONAL] Either word hidden or word visible can be present. If hidden |
---|
473 | the volume will be invisible, if visible the volume will be shown |
---|
474 | - [OPTIONAL] Either word solid or word wireframe can be present. If solid |
---|
475 | the volume will be drawn as a solid volume. If wireframe, the volume will be |
---|
476 | drawn as a wireframe solid. |
---|
477 | - [OPTIONAL] 3 or 4 real numbers between 0 and 1. The 3 numbers are the red, |
---|
478 | green and blue color components. Optionally the 4th component is the alpha |
---|
479 | channel. |
---|
480 | |
---|
481 | Example: 'solid visible 1. 1. 0. 0.5' a visible solid volume yellow and 50% |
---|
482 | transparent. |
---|
483 | |
---|
484 | Modules: Carved* |
---|
485 | Description: Carves the border of the box with circular holes the holes span |
---|
486 | through the whole box thickness. Holes can be plated with |
---|
487 | another material along the z direction. Plating thickness is |
---|
488 | set through attributes |
---|
489 | Attributes: HolesAlongWidth the number (integer) of holes to apply along |
---|
490 | the x direction for each side of the box |
---|
491 | HolesAlongHeight the number (integer) of holes to apply along |
---|
492 | the y direction for each side of the box |
---|
493 | HolesRadius radius of the holes |
---|
494 | HolesStep separation between two holes |
---|
495 | DepositOnHolesThickness [OPTIONAL] thickness of the plating |
---|
496 | DepositOnHolesMaterial [OPTIONAL] material used for the |
---|
497 | plating |
---|
498 | DepositOnHolesVisAttributes [OPTIONAL] visualisation attributes |
---|
499 | used to display the plating |
---|
500 | |
---|
501 | __ | |
---|
502 | \ |
---|
503 | \ | |
---|
504 | HOLE | | |
---|
505 | | <-------> HolesRadius |
---|
506 | / :____ : |
---|
507 | __/.... | \ : |
---|
508 | | ^ |__ * \ : * = DEPOSIT |
---|
509 | | | HolesStep \ \: |
---|
510 | |__.....v \ | |
---|
511 | \ ^ HOLE | | |
---|
512 | \ | HolesRadius /: | |
---|
513 | HOLE |..v __/.:./:...... |
---|
514 | | | :/ : ^ DepositOnHolesThickness |
---|
515 | / |____/..:......v |
---|
516 | __/ | : : |
---|
517 | | | <--> DepositOnHolesThickness |
---|
518 | |________ _ _ _ _ _ _ |
---|
519 | | |
---|
520 | |
---|
521 | Modules: *WithGround* |
---|
522 | Description: Inserts a box inside the original one, centered and made of |
---|
523 | another material. The box spans through the whole thickness of |
---|
524 | the mother volume |
---|
525 | Attributes: GroundWidth width of the ground box |
---|
526 | GroundScaleWidth [ALTERNATIVE] width of the ground box given |
---|
527 | as a fraction (real number only) |
---|
528 | GroundHeight height of the ground box |
---|
529 | GroundScaleHeight [ALTERNATIVE] height of the ground box |
---|
530 | given as a fraction |
---|
531 | GroundMaterial material used for the ground box |
---|
532 | GroundVisAttributes [OPTIONAL] visualisation attributes used to |
---|
533 | display the box |
---|
534 | |
---|
535 | Modules: *WithHole, *AndHole |
---|
536 | Description: Makes a hole inside the original volume. The hole is centered |
---|
537 | and spans through the whole thickness of the mother volume |
---|
538 | Attributes: HoleWidth width of the hole box |
---|
539 | HoleScaleWidth [ALTERNATIVE] width of the hole box given |
---|
540 | as a fraction |
---|
541 | HoleHeight height of the hole box |
---|
542 | HoleScaleHeight [ALTERNATIVE] height of the hole box given |
---|
543 | as a fraction |
---|
544 | |
---|
545 | Modules: *WithTracks |
---|
546 | Description: Adds tracks from the borders to de center tracks thickness |
---|
547 | spans through the whole thickness of the mother volume. |
---|
548 | Attributes: HolesAlongWidth See Carved* |
---|
549 | HolesAlongHeight See Carved* |
---|
550 | HolesRadius See Carved* |
---|
551 | HolesStep See Carved* |
---|
552 | TracksMaterial defines the material for the tracks |
---|
553 | TracksVisAttributes [OPTIONAL] visualisation attributes used to |
---|
554 | display the tracks |
---|
555 | |
---|
556 | Modules: *WithPins |
---|
557 | Description: Adds pins near the box borders. Pins thickness spans through |
---|
558 | the whole thickness of the mother volume. |
---|
559 | Attributes: HolesAlongWidth See Carved* |
---|
560 | HolesAlongHeight See Carved* |
---|
561 | HolesRadius See Carved* |
---|
562 | HolesStep See Carved* |
---|
563 | PinLength size of the pin in the direction orthogonal |
---|
564 | to the mother volume border |
---|
565 | MarkedPin a index between 1 and |
---|
566 | (HolesAlongWidth+HolesAlongHeight)*2 |
---|
567 | identifing the pin to mark with a triangle |
---|
568 | if 0 no pins will be marked |
---|
569 | MarkedPinLength height of the triangle |
---|
570 | PinsMaterial defines the material for the pins |
---|
571 | PinsVisAttributes [OPTIONAL] visualisation attributes used to |
---|
572 | display the pins |
---|
573 | |
---|
574 | Modules: *WithPads |
---|
575 | Description: Adds pads in the box. Pads thickness spans through the whole |
---|
576 | thickness of the mother volume. |
---|
577 | Attributes: PadsWidth_<index> width of the pads. Index must be >0 |
---|
578 | PadsHeight_<index> height of the pads. Index must be >0 |
---|
579 | PadsMaterial_<index> material of the pads. Index must be >0 |
---|
580 | PadsVisAttributes_<index> [OPTIONAL] visualisation attributes |
---|
581 | of the pads. Index must be >0 |
---|
582 | PadsPosition_<index> position of the pads |
---|
583 | |
---|
584 | Pad position is a list of pads. Each pad is devined by 3 numbers grouped |
---|
585 | togheter by round brakets and separated by comma. The first number is the |
---|
586 | position along x relative to the center, the second one is the position |
---|
587 | along y relative to the center and the third (optional is a rotation angle). |
---|
588 | Example: '(0.315 mm, 0.315 mm) (0.105 mm, 0.315 mm, 10 deg)' |
---|
589 | |
---|
590 | Modules: *AndKeyMarks |
---|
591 | Description: Adds marks used to identify the pin #1. |
---|
592 | Attributes: HolesAlongWidth See Carved* |
---|
593 | HolesAlongHeight See Carved* |
---|
594 | HolesRadius See Carved* |
---|
595 | HolesStep See Carved* |
---|
596 | GroundWidth See *WithGround* |
---|
597 | GroundScaleWidth See *WithGround* |
---|
598 | GroundHeight See *WithGround* |
---|
599 | GroundScaleHeight See *WithGround* |
---|
600 | GroundMaterial See *WithGround* |
---|
601 | GroundVisAttributes See *WithGround* |
---|
602 | MarkedPinRadius the mark is a circular hole. This attribute |
---|
603 | defines thee hole radius |
---|
604 | MarkedPinStep the shift from the box border of the mark |
---|
605 | center in the direction orthogonal to the |
---|
606 | border itself |
---|
607 | MarkedPin See *WithPins |
---|
608 | |
---|
609 | |
---|
610 | |
---|
611 | 6. MATERIALS |
---|
612 | |
---|
613 | A material is defined specifing its elements, their fraction and the mass |
---|
614 | density. An element is defined by its molecular density, its atomic number. |
---|
615 | Materials and elements can be added interactively within Geant4 but cannot |
---|
616 | be removed once added. |
---|
617 | |
---|
618 | Command: /radmon/materials/CreateElement |
---|
619 | Parameters: <name> [string], <abbreviation> [string], <z> [integer], |
---|
620 | <molar density> [real], <unit> [molar density unit] |
---|
621 | Description: Creates an element according to the provided parameters |
---|
622 | |
---|
623 | Command: /radmon/materials/CreateMaterial |
---|
624 | Parameters: <name> [string], <mass density> [real], |
---|
625 | <unit> [mass density unit], <n> [integer] |
---|
626 | Description: Creates a material ccording to the provided parameters. <n> is |
---|
627 | the number of components. Components are then defined through |
---|
628 | AddComponent* commands. All <n> components must be defined |
---|
629 | using the same command (either AddComponentByAtoms or |
---|
630 | AddComponentByFraction) |
---|
631 | See also: /radmon/materials/AddComponentByAtoms, |
---|
632 | /radmon/materials/AddComponentByFraction |
---|
633 | |
---|
634 | Command: /radmon/materials/AddComponentByAtoms |
---|
635 | Parameters: <name> [string], <element> [string], <nAtoms> [integer] |
---|
636 | Description: Defines the amount of atoms of the component. <element> must be |
---|
637 | a previously defined element |
---|
638 | |
---|
639 | Command: /radmon/materials/AddComponentByFraction |
---|
640 | Parameters: <name> [string], <component> [string], <fraction> [real] |
---|
641 | Description: Defines the fraction of a specific component. <component> must |
---|
642 | be a previously defined element or material. Fractions must sum |
---|
643 | to 1 |
---|
644 | |
---|
645 | Command: /radmon/materials/SetMaterialColor |
---|
646 | Parameters: <name> [string], <red> [real], <green> [real], <blue> [real] |
---|
647 | Description: Defines the default color for this material |
---|
648 | |
---|
649 | Command: /radmon/materials/SetMaterialTrasparency |
---|
650 | Parameters: <name> [string], <alpha> [real] |
---|
651 | Description: Defines the default alpha channel level for this material |
---|
652 | |
---|
653 | Command: /radmon/materials/SetMaterialVisibility |
---|
654 | Parameters: <name> [string], <mode> [string] |
---|
655 | Description: Defines the default visibility for this material. <mode> must |
---|
656 | be hidden or visible |
---|
657 | |
---|
658 | Command: /radmon/materials/SetMaterialStyle |
---|
659 | Parameters: <name> [string], <mode> [string] |
---|
660 | Description: Defines the default style for this material. <mode> must be |
---|
661 | solid or wireframe |
---|
662 | |
---|
663 | Command: /radmon/materials/Dump |
---|
664 | Parameters: [none] |
---|
665 | Description: Dumps all the details of the materials defined |
---|
666 | |
---|
667 | Command: /radmon/materials/Load |
---|
668 | Parameters: <file name> [string] |
---|
669 | Description: Loads the materials from <file name> file. Previously defined |
---|
670 | materials are kept |
---|
671 | Note: This command is not implemented. It is provided for further |
---|
672 | developments |
---|
673 | |
---|
674 | Command: /radmon/materials/Save |
---|
675 | Parameters: <file name> [string] |
---|
676 | Description: Stores the materials in <file name> file |
---|
677 | Note: This command is not implemented. It is provided for further |
---|
678 | developments |
---|
679 | |
---|
680 | |
---|
681 | |
---|
682 | 7. PHYSICS |
---|
683 | |
---|
684 | Physics must be defined before /run/initialize command. After inizialization |
---|
685 | of the Geant4 kernel no more changes can be applyed. Physics is defined |
---|
686 | recalling several modules. A system to identify mutual exclusive physics |
---|
687 | modules is provided. Even if not very used, physics modules can have |
---|
688 | attributes too. |
---|
689 | |
---|
690 | 7.1 BASIC PHYSICS COMMANDS |
---|
691 | |
---|
692 | Command: /radmon/physics/AddPhysicsList |
---|
693 | Parameters: <name> [string] |
---|
694 | Description: Inserts the physics module named <name> |
---|
695 | |
---|
696 | Command: /radmon/physics/RemovePhysicsList |
---|
697 | Parameters: <name> [string] |
---|
698 | Description: Removes the physics module named <name> |
---|
699 | |
---|
700 | Command: /radmon/physics/SetPhysicsListAttribute |
---|
701 | Parameters: <name> [string], <attribute> [string], |
---|
702 | <value> [string] |
---|
703 | Description: Sets the attribute <attribute> to value <value> in module |
---|
704 | <name> |
---|
705 | |
---|
706 | Command: /radmon/physics/ClearPhysicsListAttribute |
---|
707 | Parameters: <name> [string], <attribute> [string] |
---|
708 | Description: Removes the attribute <attribute> from module <name> |
---|
709 | |
---|
710 | 7.2 OTHER PHYSICS COMMANDS |
---|
711 | |
---|
712 | Command: /radmon/subPhysicsListFactory/Dump |
---|
713 | Parameters: [none] |
---|
714 | Description: Dumps all the available physics modules |
---|
715 | |
---|
716 | Command: /radmon/physics/DumpLayout |
---|
717 | Parameters: [none] |
---|
718 | Description: Dumps the list of selected physics modules |
---|
719 | |
---|
720 | Command: /radmon/physics/Load |
---|
721 | Parameters: <file name> [string] |
---|
722 | Description: Loads the physics from <file name> file. |
---|
723 | Note: This command is not implemented. It is provided for further |
---|
724 | developments |
---|
725 | |
---|
726 | Command: /radmon/physics/Save |
---|
727 | Parameters: <file name> [string] |
---|
728 | Description: Stores the physics in <file name> file |
---|
729 | Note: This command is not implemented. It is provided for further |
---|
730 | developments |
---|
731 | |
---|
732 | 7.3 PHYSICS MODELS |
---|
733 | |
---|
734 | Available physics models are the following: |
---|
735 | |
---|
736 | Module: ElectronEEDL |
---|
737 | Description: MultipleScattering, eIonisation, eBremsstrahlung and |
---|
738 | StepLimiter. All applied to electrons only |
---|
739 | Attributes: [none] |
---|
740 | |
---|
741 | Module: ElectronStandard |
---|
742 | Description: MultipleScattering, LowEnergyIonisation, |
---|
743 | LowEnergyBremsstrahlung and StepLimiter. All applied to |
---|
744 | electrons only. |
---|
745 | Attributes: [none] |
---|
746 | |
---|
747 | Module: PhotonStandard |
---|
748 | Description: PhotoElectricEffect, ComptonScattering, GammaConversion and |
---|
749 | StepLimiter. All applied to photons only. |
---|
750 | Attributes: [none] |
---|
751 | |
---|
752 | Module: PhotonEPDL |
---|
753 | Description: LowEnergyPhotoElectric, LowEnergyCompton, |
---|
754 | LowEnergyGammaConversion and StepLimiter. All applied to |
---|
755 | photons only. |
---|
756 | Attributes: [none] |
---|
757 | |
---|
758 | Module: PositronStandard |
---|
759 | Description: MultipleScattering, eIonisation, eBremsstrahlung, |
---|
760 | eplusAnnihilation and StepLimiter. All applied to positrons |
---|
761 | only |
---|
762 | Attributes: [none] |
---|
763 | |
---|
764 | Module: MuonStandard |
---|
765 | Description: MultipleScattering, MuIonisation, MuBremsstrahlung, |
---|
766 | MuPairProduction and StepLimiter applied both to mu+ and mu-. |
---|
767 | MuonMinusCaptureAtRest aplied to mu-. |
---|
768 | Attributes: [none] |
---|
769 | |
---|
770 | Module: TauStandard |
---|
771 | Description: MultipleScattering, hIonisation and StepLimiter applied both to |
---|
772 | tau+ and tau-. |
---|
773 | Attributes: [none] |
---|
774 | |
---|
775 | Module: Nuclear |
---|
776 | Description: ElectroNuclearReaction for electrons and positrons |
---|
777 | GammaNuclearReaction up to 3.5 GeV, it's not an aTheoFSGenerator between 3 |
---|
778 | GeV and 100 TeV for photons |
---|
779 | Attributes: [none] |
---|
780 | |
---|
781 | Module: Decay |
---|
782 | Description: Unstable particles decay. G4Decay applied to all particles for |
---|
783 | which it is pertinent |
---|
784 | Attributes: [none] |
---|
785 | |
---|
786 | Module: NeutronBinary |
---|
787 | Description: Neutron processes. HadronElasticProcess, LCapture, LFission and |
---|
788 | NeutronInelasticProcess based on BinaryCascade up to 10 GeV, |
---|
789 | LENeutronInelastic between 8 and 25 GeV and QGSModel between 20 |
---|
790 | GeV and 100 TeV |
---|
791 | Attributes: [none] |
---|
792 | |
---|
793 | Module: NeutronBertini |
---|
794 | Description: Neutron processes. HadronElasticProcess, LCapture, LFission and |
---|
795 | NeutronInelasticProcess based on CascadeInterface up to 3.2 GeV, |
---|
796 | LENeutronInelastic between 2.8 and 25 GeV and QGSModel between 20 |
---|
797 | GeV and 100 TeV |
---|
798 | Attributes: [none] |
---|
799 | |
---|
800 | Module: HadronsBinary |
---|
801 | Description: Protons: HadronElasticProcess and ProtonInelasticProcess based |
---|
802 | on BinaryCascade up to 10 GeV, LEProtonInelastic between 8 and |
---|
803 | 25 GeV and QGSModel between 20 GeV and 100 TeV. |
---|
804 | Pi+: HadronElasticProcess, PionPlusInelasticProcess based on |
---|
805 | PiNuclearCrossSection, LEPionPlusInelastic up to 25 GeV |
---|
806 | and QGSModel between 20 GeV and 100 TeV. |
---|
807 | Pi-: HadronElasticProcess, PionMinusInelasticProcess based on |
---|
808 | PiNuclearCrossSection, LEPionMinusInelastic up to 25 GeV |
---|
809 | and QGSModel between 20 GeV and 100 TeV. |
---|
810 | Alpha: HadronElasticProcess, AlphaInelasticProcess based on |
---|
811 | Tripathi, IonShen cross-sections, LEAlphaInelastic model up to |
---|
812 | 25 GeV and BinaryLightIonReaction between 80 MeV and 110 GeV |
---|
813 | Attributes: [none] |
---|
814 | |
---|
815 | Module: HadronsBertini |
---|
816 | Description: Protons: HadronElasticProcess and ProtonInelasticProcess based |
---|
817 | on CascadeInterface up to 3.2 GeV, LEProtonInelastic between 2.8 |
---|
818 | and 25 GeV and QGSModel between 20 GeV and 100 TeV. |
---|
819 | Pi+: HadronElasticProcess, PionPlusInelasticProcess based on |
---|
820 | PiNuclearCrossSection, CascadeInterface up to 3.2 GeV, |
---|
821 | LEPionPlusInelastic between 2.8 GeV and 25 GeV and QGSModel |
---|
822 | between 20 GeV and 100 TeV. |
---|
823 | Pi-: HadronElasticProcess, PionMinusInelasticProcess based on |
---|
824 | PiNuclearCrossSection, CascadeInterface up to 3.2 GeV, |
---|
825 | LEPionMinusInelastic between 2.8 GeV and 25 GeV and QGSModel |
---|
826 | between 20 GeV and 100 TeV. |
---|
827 | Alpha: HadronElasticProcess, AlphaInelasticProcess based on |
---|
828 | Tripathi, IonShen cross-sections, LEAlphaInelastic model up to |
---|
829 | 25 GeV and BinaryLightIonReaction between 80 MeV and 110 GeV |
---|
830 | Attributes: [none] |
---|
831 | |
---|
832 | Module: ICRUIonization |
---|
833 | Description: Applied to all charged long-lived non-leptons particles. |
---|
834 | MultipleScattering, hIonisation and StepLimiter |
---|
835 | Attributes: [none] |
---|
836 | |
---|
837 | Module: ProductionCuts |
---|
838 | Description: Sets productions cuts for electrons, positrons and photons. |
---|
839 | This module is enabled only if Cut attribute is defined. |
---|
840 | Attributes: Cuts cut value a string space separated containing a real |
---|
841 | number and a unit of length |
---|
842 | |
---|
843 | |
---|
844 | |
---|
845 | 8. GENERATORS |
---|
846 | |
---|
847 | The primary generation is managed through the concepts od "source" and |
---|
848 | "algorithm". With these two concepts it is possible to describe almost any kind of |
---|
849 | radiation environment. |
---|
850 | |
---|
851 | 8.1 SOURCES |
---|
852 | |
---|
853 | Each source is a copletely different particle generator. (with different |
---|
854 | geometry, energy distribution, particle type etc). Usually in simple |
---|
855 | radiation environment no more than a source will be needed. |
---|
856 | |
---|
857 | Each source is labelled and has a real value that describes the relative |
---|
858 | intensity. For each event the primary generator choose the source to use to |
---|
859 | generate primaries based on the relative intensities. On each event only one |
---|
860 | source fires primaries. |
---|
861 | |
---|
862 | Sources are defined by the following commands: |
---|
863 | |
---|
864 | Command: /radmon/generator/InsertSource |
---|
865 | Parameters: <label> [string] |
---|
866 | Description: Inserts a new source labelled <label> |
---|
867 | |
---|
868 | Command: /radmon/generator/SetRelativeSourceIntensity |
---|
869 | Parameters: <label> [string], <intensity> [real] |
---|
870 | Description: Defines the source relative intensity. Meaningful only when |
---|
871 | more than one source is defined |
---|
872 | |
---|
873 | Command: /radmon/generator/RemoveSource |
---|
874 | Parameters: <label> [string] |
---|
875 | Description: Removes the source named <label> |
---|
876 | |
---|
877 | 8.2 SOURCE ALGORITHMS |
---|
878 | |
---|
879 | Source algorithms are filters applied in sequence to the primaries in order |
---|
880 | to define the particle type, the geometry of the source the direction of the |
---|
881 | source and the energy of the primary particle. |
---|
882 | |
---|
883 | As the algorithm are applyed in sequence you can obtain convolution-like |
---|
884 | results. For example you can apply an algorithm that defines a particular |
---|
885 | energy distribution and then a second one that applies a gaussian |
---|
886 | distribution. You will obtain particles emitted by a distribution that is |
---|
887 | the convolution of the two. |
---|
888 | |
---|
889 | Algorithms non necessarely operate on one parameter (position of the |
---|
890 | vertex, particle type, energy, direction). For example a algorithm that |
---|
891 | generates primaries according a distribution funzion of energy and particle |
---|
892 | type based on tables will be provided (currently not implemented). |
---|
893 | |
---|
894 | Algorithms are class modules and can be easily extended by the developer |
---|
895 | accordin to the requirements. |
---|
896 | ____________________________________________________________________________ |
---|
897 | | ____________________ ____________________ ____________________ | |
---|
898 | Initial | | Ex: Gauss. Energy | | Ex: Fix. direction | | Ex: Particle is e+ | | Final |
---|
899 | primary ==> | Source Algorithm 1 | => | Source Algorithm 2 | => | Source Algorithm 3 | ==> primary |
---|
900 | | |____________________| |____________________| |____________________| | |
---|
901 | |____________________________________________________________________________| |
---|
902 | |
---|
903 | The initial primary is alwaya one geantino with 0 energy directed in the z |
---|
904 | direction and with vertex in the origin. Applying algorithms you can change |
---|
905 | the kind of source. For example in the figure above you will obtain a |
---|
906 | positron with a specified fixed direction, with a energy that is distributed |
---|
907 | according to a gaussian with specified mean and rms and still emitted from |
---|
908 | the origin. |
---|
909 | |
---|
910 | Command: /radmon/generator/AppendSourceAlgorithm |
---|
911 | Parameters: <label> [string], <name> [string] |
---|
912 | Description: Adds an algorithm to the source <label>. The algorithm will be |
---|
913 | referenced in future commands using the name <name> |
---|
914 | |
---|
915 | Command: /radmon/generator/SetSourceAlgorithmType |
---|
916 | Parameters: <label> [string], <name> [string], <type> [string] |
---|
917 | Description: The algorithm named <name> of source <label> is set to type |
---|
918 | <type>. Type is the name of one of the available algorithms. |
---|
919 | The list of available algorithms is given by |
---|
920 | /radmon/generatorsFactory/Dump command. Chapter 8.4 provides |
---|
921 | details of the currently implemented algoritms. |
---|
922 | See also: /radmon/generatorsFactory/Dump (Chapter 8.3) |
---|
923 | |
---|
924 | Command: /radmon/generator/RemoveSourceAlgorithm |
---|
925 | Parameters: <label> [string], <name> [string] |
---|
926 | Description: Removes the algorithm named <name> from source <label> |
---|
927 | |
---|
928 | Commnad: /radmon/generator/SetSourceAlgorithmAttribute |
---|
929 | Parameters: <label> [string], <name> [string], <attribute> [string], |
---|
930 | <value> [string] |
---|
931 | Description: Sets to <value> the attribute <attribute> of algorithm <name> |
---|
932 | in source <label>. Required/optional attributes of each |
---|
933 | algorithm type are listed in Chapter 8.4 |
---|
934 | |
---|
935 | Command: /radmon/generator/ClearSourceAlgorithmAttribute |
---|
936 | Parameters: <label> [string], <name> [string], <attribute> [string] |
---|
937 | Description: Removes attribute <attribute> from algorithm <name> in source |
---|
938 | <label> |
---|
939 | |
---|
940 | 8.3 OTHER GENERATOR COMMANDS |
---|
941 | |
---|
942 | Command: /radmon/generatorsFactory/Dump |
---|
943 | Parameters: [none] |
---|
944 | Description: Dumps all the available source algorithms |
---|
945 | |
---|
946 | Command: /radmon/generator/DumpLayout |
---|
947 | Parameters: [none] |
---|
948 | Description: Dumps all the details of the sources and of their algorithms |
---|
949 | |
---|
950 | Command: /radmon/generator/Load |
---|
951 | Parameters: <file name> [string] |
---|
952 | Description: Loads the generator data from <file name> file |
---|
953 | Note: This command is not implemented. It is provided for further |
---|
954 | developments |
---|
955 | |
---|
956 | Command: /radmon/generator/Save |
---|
957 | Parameters: <file name> [string] |
---|
958 | Description: Stores the generator data in <file name> file |
---|
959 | Note: This command is not implemented. It is provided for further |
---|
960 | developments |
---|
961 | |
---|
962 | 8.4 SOURCE ALGORITMS IMPLEMENTED |
---|
963 | |
---|
964 | Module: FixedPosition |
---|
965 | Description: Shifts the position of the primary vertex of the value |
---|
966 | specified |
---|
967 | Attributes: Position The shift defined by a string with three real number |
---|
968 | separated by spaces and followed by a unit of length |
---|
969 | |
---|
970 | Module: FixedDirection |
---|
971 | Description: Rotates the beam direction of a value specified |
---|
972 | Attributes: Direction The rotation matrix is defined by an axis of |
---|
973 | rotation and the angle of rotation. The Direction |
---|
974 | attribute must be a string containig three real |
---|
975 | numbers space separated and followed by a unit of |
---|
976 | angle. The first two angles are theta and phi and |
---|
977 | defines the axis, the third one is delta and defines |
---|
978 | the rotation amount. |
---|
979 | Example: Suppose this filter has in input a particle rirected |
---|
980 | along z and has "Direction"="90. 0. 90. deg". This |
---|
981 | means a rotation counter-clock wise of 90 degrees |
---|
982 | along the x axis. This means a final direction of -y |
---|
983 | |
---|
984 | Module: FixedEnergy |
---|
985 | Description: Shifts the energy of the primary particle by a specified value |
---|
986 | Attributes: Energy The energy shift is space separated string made up |
---|
987 | of a real number and a unit of energy |
---|
988 | |
---|
989 | Module: FixedParticle |
---|
990 | Description: Sets the particle type to the specified particle |
---|
991 | Attributes: Particle A string containing the name of a instantiated |
---|
992 | particle. |
---|
993 | |
---|
994 | Module: UniformSphere |
---|
995 | Description: Shifts the position of the primaries on a sphere of specified |
---|
996 | radius and rotates the direction of the primary so that a |
---|
997 | primary with direction z is roteted on the radial direction of the sphere, |
---|
998 | outward. A primary with initial direction -z, is rotated on the |
---|
999 | radial direction of the sphere, inward. The distribution of the |
---|
1000 | position of the primaries on the sphere is uniform |
---|
1001 | Attributes: Radius A string containig the length of the radius |
---|
1002 | |
---|
1003 | ^ |
---|
1004 | ^ z r | 7 |
---|
1005 | | \ ___ / |
---|
1006 | | / \ |
---|
1007 | . ==> <-- | | --> |
---|
1008 | \___/ |
---|
1009 | / \ |
---|
1010 | L | J |
---|
1011 | v |
---|
1012 | _______ |
---|
1013 | / \ |
---|
1014 | / | \ |
---|
1015 | / \ v / \ |
---|
1016 | | J L | |
---|
1017 | . ==> | --> <-- | |
---|
1018 | | | 7 r | |
---|
1019 | | \ / ^ \ / |
---|
1020 | v -z \ | / |
---|
1021 | \_______/ |
---|
1022 | |
---|
1023 | Module: UniformPlane |
---|
1024 | Description: Shifts the position of the primaries on a plane of specified |
---|
1025 | width, height and direction. The distribution of the position |
---|
1026 | of the primaries on the plane is uniform. |
---|
1027 | Attributes: Width width of the plane (x direction) |
---|
1028 | Height height of the plane (y direction) |
---|
1029 | Direction as in FixedDirection algorith. Defines a rotation |
---|
1030 | matrix. It will be applied to the the initial |
---|
1031 | particle direction, to the width direction and to |
---|
1032 | the height direction. |
---|
1033 | |
---|
1034 | |
---|
1035 | |
---|
1036 | 9. ANALYSIS |
---|
1037 | |
---|
1038 | This section is enabled only if G4ANALYSIS_USE is on. In order to store |
---|
1039 | data, you have to define which part of the geometry is made of sensible |
---|
1040 | volumes. |
---|
1041 | |
---|
1042 | This is done setting the attribute "SensitiveDetector" to the volumes you |
---|
1043 | are interested in (Chapter 5.4) the value of the attribute |
---|
1044 | "SensitiveDetector" must match one of the sensitive detectors defined with |
---|
1045 | the following commands. You can set more than a volume to the same sensitive |
---|
1046 | detector. Data stored for that volumes will be acculuated togheter |
---|
1047 | |
---|
1048 | As the other parts of the application, analysis is modularised too. You |
---|
1049 | can define which data you want to store. The list of the data you want to |
---|
1050 | store is collected in a entity called SensitiveDetectorType. A concrete |
---|
1051 | instance of this entity is called SensitiveDetector. As said before volumes |
---|
1052 | linked to the same SensitiveDetector accumulate data togheter. If you want |
---|
1053 | to collect the same kind of data but separately for let say two geometry |
---|
1054 | elements you'll have to define two Sensitive Detectors set them to the same |
---|
1055 | Sensitive detector type. |
---|
1056 | |
---|
1057 | 9.1 SENSITIVE DETECTOR TYPE |
---|
1058 | |
---|
1059 | Command: /radmon/analysis/CreateSensitiveDetectorType |
---|
1060 | Parameters: <type> [string] |
---|
1061 | Description: Defines a new sensitive detector type, named <type> |
---|
1062 | |
---|
1063 | Command: /radmon/analysis/RemoveSensitiveDetectorType |
---|
1064 | Parameters: <type> [string] |
---|
1065 | Description: Removes the sensitive detector type <type> |
---|
1066 | |
---|
1067 | Command: /radmon/analysis/AppendDataAnalysisToSensitiveDetectorType |
---|
1068 | Parameters: <type> [string], <label> [string] |
---|
1069 | Description: Appends to the sensitive detector type <type>, an data |
---|
1070 | type that will be labelled <label>. |
---|
1071 | |
---|
1072 | Command: /radmon/analysis/SetDataAnalysisType |
---|
1073 | Parameters: <type> [string], <label> [string], <module> [string] |
---|
1074 | Description: Sets the data labelled <label> of the sensitive detector type |
---|
1075 | <type> to the module <module>. This module will process Hits |
---|
1076 | and store data of interest for him. Modules will be detailed in |
---|
1077 | Chapter 9.4. A list of available modules can be obtained with |
---|
1078 | the command /radmon/dataAnalysisFactory/Dump |
---|
1079 | See also: /radmon/dataAnalysisFactory/Dump (Chapter 9.3) |
---|
1080 | |
---|
1081 | Command: /radmon/analysis/RemoveDataAnalysis |
---|
1082 | Parameters: <type> [string], <label> [string] |
---|
1083 | Description: Removes the data type labelled <label>, present in sensitive |
---|
1084 | detector type <type> |
---|
1085 | |
---|
1086 | Command: /radmon/analysis/SetDataAnalysisAttribute |
---|
1087 | Parameters: <type> [string], <label> [string], <attribute> [string], |
---|
1088 | <value> [string] |
---|
1089 | Description: Sets the attribute <attribute> to value <value> in the analysis |
---|
1090 | module labelled <label> of sensitive detector type <type> |
---|
1091 | |
---|
1092 | Command: /radmon/analysis/ClearDataAnalysisAttribute |
---|
1093 | Parameters: <type> [string], <label> [string], <attribute> [string] |
---|
1094 | Description: Removes attribute <attribute> from module labelled <label> of |
---|
1095 | sensitive detector type <type> |
---|
1096 | |
---|
1097 | 9.2 SENSITIVE DETECTOR |
---|
1098 | |
---|
1099 | As said in chapter 9.1 a concrete instance of a sensitive detector type is |
---|
1100 | called sensitive detector. These instances are the ones to be referenced |
---|
1101 | in the attribute "SensitiveDetector" of the geometry modules |
---|
1102 | |
---|
1103 | Command: /radmon/analysis/CreateSensitiveDetector |
---|
1104 | Parameters: <name> [string] |
---|
1105 | Description: Creates a sensitive detector with name <name> |
---|
1106 | |
---|
1107 | Command: /radmon/analysis/SetSensitiveDetectorType |
---|
1108 | Parameters: <name> [string], <type> [string] |
---|
1109 | Description: Sets the sensitive detector with name <name> to the sensitive |
---|
1110 | detector type <type> |
---|
1111 | |
---|
1112 | Command: /radmon/analysis/RemoveSensitiveDetector |
---|
1113 | Parameters: <name> [string] |
---|
1114 | Description: Removes the sensitive detector named <name> |
---|
1115 | |
---|
1116 | |
---|
1117 | 9.3 OTHER GENRATOR COMMANDS |
---|
1118 | |
---|
1119 | Command: /radmon/analysis/SetOutputFileName |
---|
1120 | Parameters: <file name> [string] |
---|
1121 | Description: Set the output file name. If this command is called after some |
---|
1122 | events, the previous file is closed and a new one will be open |
---|
1123 | when the next event is run. When analysis command are run and |
---|
1124 | the analysis setup is modified. Always the old file is closed |
---|
1125 | and a new one is open when the next event happens. If |
---|
1126 | <file name> just exists on the system <file name>_n will be |
---|
1127 | used where n is the first number > 0 for which the file does |
---|
1128 | not exists on the system |
---|
1129 | |
---|
1130 | Command: /radmon/analysis/SetOutputFileFormat |
---|
1131 | Parameters: <format> [string] |
---|
1132 | Description: This variable depends on the AIDA implementation. Possible |
---|
1133 | values for PI 1.3.5 are XML, ROOT, HBOOK |
---|
1134 | |
---|
1135 | Command: /radmon/dataAnalysisFactory/Dump |
---|
1136 | Parameters: [none] |
---|
1137 | Description: Dumps all the available physics modules |
---|
1138 | |
---|
1139 | Command: /radmon/analysis/DumpLayout |
---|
1140 | Parameters: [none] |
---|
1141 | Description: Dumps the list of selected physics modules |
---|
1142 | |
---|
1143 | Command: /radmon/analysis/Load |
---|
1144 | Parameters: <file name> [string] |
---|
1145 | Description: Loads the physics from <file name> file. |
---|
1146 | Note: This command is not implemented. It is provided for further |
---|
1147 | developments |
---|
1148 | |
---|
1149 | Command: /radmon/analysis/Save |
---|
1150 | Parameters: <file name> [string] |
---|
1151 | Description: Stores the physics in <file name> file |
---|
1152 | Note: This command is not implemented. It is provided for further |
---|
1153 | developments |
---|
1154 | |
---|
1155 | 9.4 ANALYSIS MODULES |
---|
1156 | |
---|
1157 | Module: DepositedEnergy |
---|
1158 | Description Stores the total energy deposited in the volumes on a Tuple |
---|
1159 | column called EnergyDeposit. The energy is store in MeV. |
---|
1160 | One entry per event is stored. |
---|
1161 | Attributes: [none] |
---|
1162 | |
---|
1163 | |
---|
1164 | |
---|
1165 | 10. PROVIDED MACROS |
---|
1166 | |
---|
1167 | Code comes with a large set of basic macros in order to configure basic |
---|
1168 | funcionalities: |
---|
1169 | |
---|
1170 | $G4INSTALL/examples/advanced/radiation_monitor/macros/ApplyRelativePositioning.mac |
---|
1171 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultAnalysis.mac |
---|
1172 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultBeam.mac |
---|
1173 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultGeometry.mac |
---|
1174 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultMaterials.mac |
---|
1175 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultOptions.mac |
---|
1176 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultPhysics.mac |
---|
1177 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultView.mac |
---|
1178 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DetectorsDummyGeometry.mac |
---|
1179 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DetectorsGeometry.mac |
---|
1180 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DetectorsParameters.mac |
---|
1181 | $G4INSTALL/examples/advanced/radiation_monitor/macros/DirectionalBeam.mac |
---|
1182 | $G4INSTALL/examples/advanced/radiation_monitor/macros/EnvironmentGeometry.mac |
---|
1183 | $G4INSTALL/examples/advanced/radiation_monitor/macros/PackagingDummyGeometry.mac |
---|
1184 | $G4INSTALL/examples/advanced/radiation_monitor/macros/PackagingGeometry.mac |
---|
1185 | $G4INSTALL/examples/advanced/radiation_monitor/macros/PackagingParameters.mac |
---|
1186 | $G4INSTALL/examples/advanced/radiation_monitor/macros/RadiationEnvironmentBeam.mac |
---|
1187 | $G4INSTALL/examples/advanced/radiation_monitor/macros/RelativePositioningPackaging.mac |
---|
1188 | $G4INSTALL/examples/advanced/radiation_monitor/.startup.mac |
---|
1189 | |
---|
1190 | 10.1 MACROS CALL PATH |
---|
1191 | |
---|
1192 | If |
---|
1193 | |
---|
1194 | $G4WORKDIR/bin/Radmon |
---|
1195 | |
---|
1196 | is run from |
---|
1197 | |
---|
1198 | $G4INSTALL/examples/advanced/radiation_monitor |
---|
1199 | |
---|
1200 | the following macros are run in the following order. The three structure |
---|
1201 | helps undestanding which macro runs the other "sub"-macros. |
---|
1202 | |
---|
1203 | .startup.mac |
---|
1204 | |- macros/DefaultOptions.mac |
---|
1205 | | |
---|
1206 | |- macros/DefaultPhysics.mac |
---|
1207 | |
---|
1208 | -- Run Manager Initialization -- |
---|
1209 | |
---|
1210 | |- macros/DefaultBeam.mac |
---|
1211 | | \- macros/RadiationEnvironmentBeam.mac -or- macros/DirectionalBeam.mac |
---|
1212 | | |
---|
1213 | |- macros/DefaultMaterials.mac |
---|
1214 | | |
---|
1215 | |- [DISABLED] macros/DefaultView.mac |
---|
1216 | | |
---|
1217 | |- macros/DefaultGeometry.mac |
---|
1218 | | |- macros/EnvironmentGeometry.mac |
---|
1219 | | |- macros/DetectorsGeometry.mac -or- macros/DetectorsDummyGeometry.mac |
---|
1220 | | | \- macros/DetectorsParameters.mac \- macros/DetectorsParameters.mac |
---|
1221 | | |- macros/PackagingGeometry.mac -or- macros/PackagingDummyGeometry.mac |
---|
1222 | | | \- macros/PackagingParameters.mac \- macros/PackagingParameters.mac |
---|
1223 | | |- macros/RelativePositioningPackaging.mac |
---|
1224 | | \- macros/ApplyRelativePositioning.mac |
---|
1225 | | |
---|
1226 | \- macros/DefaultAnalysis.mac |
---|
1227 | |
---|
1228 | 10.2 MACROS DETAILS |
---|
1229 | |
---|
1230 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/.startup.mac |
---|
1231 | Description: Calls the macros collecting commands for each particular |
---|
1232 | section of the application. Calls /run/initialize after Physics |
---|
1233 | setup |
---|
1234 | |
---|
1235 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultOptions.mac |
---|
1236 | Description: Sets messaging options using Geant4 built-in commands and |
---|
1237 | Radmon commands |
---|
1238 | |
---|
1239 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultPhysics.mac |
---|
1240 | Description: Defines the physics list Low Energy modules for electrons and |
---|
1241 | photons, Standard modules for Positrons and Muons, Binary |
---|
1242 | models for hadrons, ICRU models for ions. |
---|
1243 | |
---|
1244 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultBeam.mac |
---|
1245 | Description: Calls one between RadiationEnvironmentBeam and DirectionalBeam |
---|
1246 | |
---|
1247 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/RadiationEnvironmentBeam.mac |
---|
1248 | Description: 250 MeV protons emitted from a sphere centered in the origin, |
---|
1249 | with radius 2 cm and with protons directed radially inward. |
---|
1250 | _______ |
---|
1251 | / \ |
---|
1252 | / | \ |
---|
1253 | / \ v / \ |
---|
1254 | | J L | |
---|
1255 | | --> <-- |.... |
---|
1256 | | 7 r | ^ |
---|
1257 | \ / ^ \ / | 2 cm |
---|
1258 | \ | / | |
---|
1259 | \_______/.......v |
---|
1260 | |
---|
1261 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DirectionalBeam.mac |
---|
1262 | Description: 250 MeV protons emitted from a plane of size 1.2x1.2 cm^2, |
---|
1263 | placed at -2 cm on the z direction, orthogonal to the z |
---|
1264 | direction, with particles emitted parallel to the z direction |
---|
1265 | itself |
---|
1266 | |
---|
1267 | ^ y Beam direction |
---|
1268 | | /| --> |
---|
1269 | / | ^ y 7 x |
---|
1270 | ... / | 7 x | / |
---|
1271 | ^ | . | / . --> z |
---|
1272 | | | | Origin |
---|
1273 | 1.2 cm | | :/ : |
---|
1274 | | | : : |
---|
1275 | v...|/: : |
---|
1276 | <--------------------> |
---|
1277 | 2 cm |
---|
1278 | |
---|
1279 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultMaterials.mac |
---|
1280 | Description: Defines materials needed by the geometry |
---|
1281 | Elements: H, C, N, O, Na, Al, Si, Ar, Ca, Fe, Cu, W, Au, Pb |
---|
1282 | Materials: Aluminum, Tungsten, Copper, Gold, Water, EpoxyGlass, |
---|
1283 | Air, Alumina |
---|
1284 | |
---|
1285 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultView.mac |
---|
1286 | Description: Opens a OPENGL Viewer. Commented parts opens a Raytracing |
---|
1287 | viewer. |
---|
1288 | |
---|
1289 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultGeometry.mac |
---|
1290 | Description: Calls EnvironmentGeometry, Detectors[Dummy]Geometry, |
---|
1291 | Packaging[Dummy]Geometry, defines and then places the |
---|
1292 | multilayers using RelativePositioningPackaging and |
---|
1293 | ApplyRelativePositioning |
---|
1294 | |
---|
1295 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/EnvironmentGeometry.mac |
---|
1296 | Description: A box of air of 5x5x5 cm3 |
---|
1297 | |
---|
1298 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DetectorsGeometry.mac |
---|
1299 | Description: The detailed geometry of REM-TOT-500 and LAAS chips. See |
---|
1300 | http://www.ge.infn.it/~geant4/hep/radmon/ for a picture of the |
---|
1301 | chips. Chips dimensions are set using aliases. Aliases |
---|
1302 | definition is in DetectorsParameters |
---|
1303 | |
---|
1304 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DetectorsDummyGeometry.mac |
---|
1305 | Description: An alternative geometry for the detectors. This geometry is |
---|
1306 | simpler (less detailed) and fills the same volume (width, |
---|
1307 | height and thickness) the non-dummy geometry is usefull to |
---|
1308 | place relatively volumes using OGLSX viewer. This viewer does |
---|
1309 | not fully support booleans operations heavily used in |
---|
1310 | geometries defined in non-dummy macros |
---|
1311 | |
---|
1312 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DetectorsParameters.mac |
---|
1313 | Description: Aliases needed in the chip geometry definition |
---|
1314 | |
---|
1315 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/PackagingGeometry.mac |
---|
1316 | Description: The detailed geometry of MIL-STD-105D packaging. See |
---|
1317 | http://www.ge.infn.it/~geant4/hep/radmon/ for a picture of the |
---|
1318 | packaging. Packaging dimensions are set using aliases. Aliases |
---|
1319 | definition is in PackagingParameters |
---|
1320 | |
---|
1321 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/PackagingDummyGeometry.mac |
---|
1322 | Description: An alternative geometry for the packaging. This geometry is |
---|
1323 | simpler (less detailed) and fills the same volume (width, |
---|
1324 | height and thickness) of the non-dummy geometry is usefull to |
---|
1325 | place relatively volumes using OGLSX viewer. This viewer does |
---|
1326 | not fully support booleans operations heavily used in |
---|
1327 | geometries defined in non-dummy macros |
---|
1328 | |
---|
1329 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/PackagingParameters.mac |
---|
1330 | Description: Aliases needed in the packagin geometry definition |
---|
1331 | |
---|
1332 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/RelativePositioningPackaging.mac |
---|
1333 | Description: Relative positioning aliases. Needed in the relative |
---|
1334 | positioning of chips respect to the packaging. These aliases |
---|
1335 | are used by ApplyRelativePositioning macro |
---|
1336 | |
---|
1337 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/ApplyRelativePositioning.mac |
---|
1338 | Description: Sets the position of four chips (2 LAAS and 2 REM-TOT-500) |
---|
1339 | relative to the packaging position |
---|
1340 | |
---|
1341 | Macro: $G4INSTALL/examples/advanced/radiation_monitor/macros/DefaultAnalysis.mac |
---|
1342 | Description: Sets REM-TOT-500 and LAAS volumes sensitive. Energy deposited |
---|
1343 | by particles transversing these volumes will be accumulated and |
---|
1344 | stored for each event in analysis.hbook file. An ntuple will be |
---|
1345 | created. |
---|
1346 | |
---|
1347 | |
---|
1348 | |
---|
1349 | 11. TO DO |
---|
1350 | - High precision neutron physics module |
---|
1351 | - Alternative analysis modules |
---|
1352 | - Improve analysis capabilities |
---|
1353 | - Alternative beam generation algorithms |
---|
1354 | _____________________________________________________________________________ |
---|
1355 | |
---|
1356 | Author: Riccardo Capra <capra@riccardo-capra.it> |
---|
1357 | Date: 06 December 2005 |
---|
1358 | |
---|
1359 | This file in HTML format and further details ared available at |
---|
1360 | http://www.ge.infn.it/~geant4/hep/radmon/ |
---|