User Tools

Site Tools


software:g4simulation:radiation_studies

This is an old revision of the document!


Primasoft extension for radiation dose estimations

Introduction

The purpose of this extension is to use the Geant4 package to estimate the radiation dose the various component of the Primakoff experiment setup might absorb during a certain number of hours of operation.

The result of the simulation is a three dimensional radiation map of the whole hall or a selected region. This is subdivided in elementary cubic volumes (or voxels), and a mean radiation dose per beam electron in each voxel is calculated. “Mean” implies here an average over many events and over the volume of the voxel.

For some case (e.g. radiation absorbed by some small compoents), the mean dose can be calculated for full physical volumes without mapping it into voxels.

The followed strategy implies:

  • making use of the “parallel world” feature of Geant4 for scoring the dose independently of the “mass geometry”, i.e. the geometry used for simulating the physical processes and doing the tracking;
  • simulating events starting with beam electrons directed to the target;
  • using one or more sensitive detector classes to gather the radiation dose in every tracking step and to sort it into appropriate data structures;
  • summing the energy deposited in every step divided by the density of the material in which the step took place (this is needed in case the voxel includes parts of different physical volumes, i.e. different materials);
  • At the end of the simulation, the sum needs to be divided by the voxel volume and the number of simulated events in order to obtain the mean radiation dose absorbed in the voxel per beam electron.

Software Upgrade

Modifications to existing code
  • PRIMASimulationConfig
    new command do-radiation-studies added to switch on the radiation dosis simulation (referred to as doRadStudies in the following).
  • PRIMASimInfo:
    the doRadStudies flag is added to the info class.
  • PRIMAPostDetConstruction in method Initialize(), if doRadStudies is 1
    • the radStudiesPW parallel world is instantiated and registered;
    • A step limit of 1 mm is defined for the DefaultRegionForTheWorld (entire geometry);
    • A step limit without restriction is defined for the vacuum in order to subside the 1 mm limit.
  • PRIMAPhysicsList: if doRadStudies is 1,
    the G4ParallelWorldProcess for the radStudiesPW parallel world is defined and assigned to all particles.
  • PRIMARunAction in method EndOfRunAction(), if doRadStudies is 1
    the radiation map filled by the parallel world sensitive detector is written to the output file.
  • PRIMAPrimaryGeneratorAction:
    the class PRIMABeamGenerator has just been defined but not yet implemented. If the beam is simulated with fixed energy and 0 emittance, it is not needed, since the G4 particle gun is sufficient. (Possibly to be done by Alex).
  • primag4simLinkDef.h:
    the new classes requiring a dictionary are added to the LinkDef file.
New files and classes
  • PRIMARadDosisData.{hh,cc}
    • struct PRIMARadStudiesVoxelId represents a voxel by an index triple i,j,k
    • class PRIMARadStudiesVoxelIdComparator is used for sorting and distinguishing the voxel objects. It is needed to use them as key for a std::map.
    • class PRIMARadStudiesMap is an interface class to be able to write one of its instances to a root file with a given name. It is defined as
class PRIMARadStudiesMap:
  public std::map<PRIMARadStudiesVoxelId,float,PRIMARadStudiesVoxelIdComparator>,
  public TNamed
  • PRIMARadDosisStudies.{hh,cc}
    • class PRIMARadSudiesParallelWorld
    • class PRIMARadStudiesSD
  • rad_studies.C

First example

software/g4simulation/radiation_studies.1594027462.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki