User Tools

Site Tools


software:g4simulation:configuration

Simulation configuration

To set the general behaviour of a simulation, a config file mechanism is used. The singleton class PRIMASimulationConfig is responsible for reading the config file and providing the other classes with the specified config settings.

How to define a new command

  1. Add the variable(s) containing the settings information to class PRIMASimulationConfig, implementing the corresponding “get” method.
  2. Initialise these variables in the constructor using their default values.
  3. Add an if block in the while loop inside method PRIMASimulationConfig::ReadConfFile, e.g.
    if(key == "macro-file"){
    	macroFileName = value;
    	macroSpecified = 1;
    	cout<<"macro file name set to: "<<macroFileName<<endl;
          }
  4. Document the new command in this wiki page.


List of commands

  • Specify the root file where the geometry (TGeoManager object) to be used in the simulation is saved.
    geometry-file <filename>
  • Specify if the tagger/scintillator is used as sensiteve detector (SD):
    use-tagger <0/1>

    If there is no scintillator in the geometry, use-tagger needs to be set 0

  • Specify if the clorimeter is used as sensiteve detector (SD):
    use-clorimeter <0/1>
  • Specify if radiation studie should be done:
    do-radiation-studies <0/1>
  • Specify the geant4 macro file to be executed. If this command is not used the geant4 interactive shell will be loaded.
    macro-file <geant4 macro file>
  • Specify the root file where the simulation output is written. Attention! The specified file will be overwritten.
    root-output-file test_bwec.root
  • Specify the primary generator to be used
    primary-generator <generator>

    Until now, the following options are available:

    • particleGun: uses the geant4 particle gun which can be set in the macro file
    • p16uniform: generates electron over the surface of proto16, placed at 1.2 m from the particle source. The electron energy is uniformly distributed between 100 MeV and 1500 MeV
    • primaUniform: generates electrons over the surface of the PRIMA detector (between Rin and Rmin [mm]), placed at 1200 mm (=dz) from the particle source. The electron energy is uniformly distributed between Emin and Emax [MeV].
    • pi0Gun: generates a pion with arbitrary directon, origin 1.2 m from detector (z-direction). The particles energy is uniformly distributed between Emin and Emax. If Emin = Emax, the particles have a constant initial energy. The pion instantly decays into two photons with random momentum directions constrained by momentum conservation. Also the angles of the pion can be chosen (theta, phiMin, phiMax [deg]).
    • beam: shoots electrons in z-direction, is positioned a view mm before the target and has to be used with a geometry which includes the target!


software/g4simulation/configuration.txt · Last modified: 2022/01/14 18:44 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki