@@ -21,9 +21,9 @@ The user can copy and modify in the user path the geometry and physics classes o
## Configuration file
### Units
### Units and system of reference
The configuration file units are in **mm** and **MeV**.
The configuration file units are in **mm** and **MeV**. All coordinates refer to the world (global) system of reference.
### Output data format
@@ -36,6 +36,54 @@ The configuration file units are in **mm** and **MeV**.
- MongoDB server address: `IO.FILETYPE.MONGODB.ADDRESS = <mongodb://localhost:27017/?minPoolSize=1&maxPoolSize=100>`
- XYZ Data model: `IO.FILE.XYZ = true/false [default = true]`
#### XYZ data model configuration
From the stored hits of the sensitive volumes, BoGEMMS-HPC collects and saves the position, direction, energy, type, event and track ID, time and process history of all the particles when entering (or being created within) and exiting the sensitive volume or being absorbed/converted, plus the total energy deposited in the volume and information on the volume hierarchy. All these parameters form a table, where each row is any entrance in the sensitive region, and the columns are the parameters extracted from this interaction, summing all the steps of the same track within the volume. This output data model, labelled as XYZ, retrieves most of the information from the track history while optimising the storage resources, and it is compliant with the modularity and flexibility requirements of BoGEMMS-HPC. The model is similar to the event or photon lists read-out from X-ray and gamma-ray instruments.
The user can select at runtime which parameters, or columns, are written to the output:
- writing the event ID of the simulation: `IOXYZ.EVT_ID = true`
- writing the track ID of the particle: `IOXYZ.TRK_ID = true`
- writing the track ID of the particle that generated the tracked particle: `IOXYZ.PARENT_TRK_ID = true`
- volume ID of the sensitive volume where the interaction occurred: `IOXYZ.VOLUME_ID = true`
- name of the sensitive volume where the interaction occurred: `IOXYZ.VOLUME_NAME = true`
- mother volume ID of the sensitive volume where the interaction occurred:`IOXYZ.MOTHER_ID = true`
- total deposited energy in the sensitive volume: `IOXYZ.E_DEP = true`
- x position of particle entrance/generation in the sensitive volume: `IOXYZ.X_ENT = true`
- y position of particle entrance/generation in the sensitive volume: `IOXYZ.Y_ENT = true`
- z position of particle entrance/generation in the sensitive volume: `IOXYZ.Z_ENT = true`
- x position of particle exit/stopped in the sensitive volume: `IOXYZ.X_EXIT = true`
- y position of particle exit/stopped in the sensitive volume: `IOXYZ.Y_EXIT = true`
- z position of particle exit/stopped in the sensitive volume: `IOXYZ.Z_EXIT = true`
- particle energy when entering or being generated in the volume: `IOXYZ.E_KIN_ENT = true`
- particle energy when exiting or being stopped in the volume: `IOXYZ.E_KIN_EXIT = true`
- direction cosine z of the particle when entering or being generated in the volume: `IOXYZ.MDX_ENT = true`
- direction cosine z of the particle when entering or being generated in the volume: `IOXYZ.MDY_ENT = true`
- direction cosine z of the particle when entering or being generated in the volume: `IOXYZ.MDZ_ENT = true`
- direction cosine z of the particle when entering or being generated in the volume: `IOXYZ.MDX_EXIT = true`
- direction cosine z of the particle when entering or being generated in the volume: `IOXYZ.MDY_EXIT = true`
- direction cosine z of the particle when entering or being generated in the volume: `IOXYZ.MDZ_EXIT = true`
`IOXYZ.GTIME_ENT = true`
`IOXYZ.GTIME_EXIT = true`
`IOXYZ.PARTICLE_ID = true`
`IOXYZ.PARTICLE_NAME = false`
`IOXYZ.PROCESS_ID = true`
`IOXYZ.PROCESS_NAME = false`
#volume selection
IOXYZ.volumeselection.number = 1
IOXYZ.volumeselection.0.start = 0
IOXYZ.volumeselection.0.end = 10000000
#number of rows for each file
IOXYZ.NRows = 5000000
#write only volume with energy deposit (this do not exclude the world)
IOXYZ.writeonlyifenergydeposit = 0
#exclude the world
#NB: the world contains the initial energy and momentum
IOXYZ.removeWorldEvent = 0
### Activating simulation from particle list
@@ -44,7 +92,7 @@ The primary particles in Geant4 can be randomly generated from a distribution de
-`EVENT.PRIMARY.LIST.ACTIVATE` = 0/1 to activate the use of lists (default = 0)