How to do shower profiles in an homogenous medium, with virtual voxelisation.
The geometry consists of a cylinder of homogenous material.
The default geometry is constructed in DetectorConstruction class, but all of the above parameters can be modified interactively via the commands defined in the DetectorMessenger class.
Material can be choosen: Air Water lAr Al Fe BGO PbWO4 Pb. eg:
/testem/det/setMat PbWO4
The cylinder is virtually sliced longitudinally (slice) and radially (ring). The size of the slices and rings are expressed in radiation length units and can be changed. eg:
/testem/det/setLbin 20 1. ---> 20 slices of 1. radl /testem/det/setRbin 5 0.25 ---> 5 rings of 0.25 radl /testem/det/update ---> rebuild the geometry
(MaxBin = 500 in both directions)
An uniform magnetic field along the cylinder axis can be set. eg:
/testem/det/setField 5 tesla
Physics lists are based on modular design. Several modules are instantiated:
EM physics builders can be local (eg. in this example) or from G4 kernel physics_lists subdirectory.
Local physics builders:
From geant4/source/physics_lists/builders:
Physics lists and options can be (re)set with UI commands
The primary kinematic consists of a single particle which hits the cylinder perpendicular to the input face. The type of the particle and its energy are set in the PrimaryGeneratorAction class, and can changed via the G4 build-in commands of G4ParticleGun class (see the macros provided with this example).
A RUN is a set of events.
The Visualization Manager is set in the main() (see TestEm2.cc). The initialisation of the drawing is done via the commands /vis/.. in the macro vis.mac. In interactive session:
PreInit or Idle > /control/execute vis.mac
The detector has a default view which is a longitudinal view of the cylinder.
The tracks are drawn at the end of event, and erased at the end of run. Optionally one can choose to draw all particles, only the charged one, or none. This command is defined in EventActionMessenger class.
The particle's type and the physics processes which will be available in this example are set in PhysicsList class.
In addition a build-in interactive command (/process/inactivate procname) allows to activate/inactivate the processes one by one.
The threshold for producing secondaries can be changed. eg:
/testem/phys/setCuts 100 microm /run/initialize
The shower profiles are histogramed, if histograming is activated. They can be also printed with the command /testem/run/verbose 1
% TestEm2 run01.mac
% TestEm2 .... Idle> type your commands .... Idle> exit
Macros provided in this example:
TestEm2 produces several histograms:
Content of these histo:
To define the output file name with histograms, use the UI command :
/analysis/setFileName name
The format of the histogram file can be : root (default), xml, csv, by selecting g4nnn.hh in RunAction.hh