130 lines
4.7 KiB
Plaintext
130 lines
4.7 KiB
Plaintext
-------------------------------------------------------------------
|
|
|
|
=========================================================
|
|
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
|
|
=========================================================
|
|
|
|
Example Par03
|
|
-------------
|
|
|
|
This example demonstrates how to use G4FastSimHitMaker helper class
|
|
to create multiple energy deposits from the fast simulation model.
|
|
|
|
It requires sensitive detector class to inherit from both base classes:
|
|
- G4VSensitiveDetector: for processing of detailed/non-fast simulation hits
|
|
- G4VFastSimSensitiveDetector: for processing of fast sim (G4FastSim) hits
|
|
Hits are placed in the same hit collection, so they can be used to
|
|
compare between the full and the fast simulation.
|
|
|
|
The geometry used in the example is a homogeneous cylinder of lead, with
|
|
3D readout geometry (cylindrical). Analysis of energy deposits is done
|
|
in the event action.
|
|
|
|
1. Detector description
|
|
-----------------------
|
|
|
|
The detector is a homogeneous cylinder of lead. It is segmented along
|
|
z, R and phi to create a readout geometry in the cylindrical coordinates.
|
|
|
|
Fast simulation is attached to the region of the detector.
|
|
|
|
|
|
2. Sensitive detector
|
|
-----------------------
|
|
|
|
Sensitive detector inherits from both base classes:
|
|
- G4VSensitiveDetector: for processing of detailed/non-fast simulation hits
|
|
- G4VFastSimSensitiveDetector: for processing of fast sim (G4FastSim) hits.
|
|
Hits are placed in the same hit collection, with a different flag to distinguish
|
|
between those originated in the full simulation, and those from the fast
|
|
simulation.
|
|
During visualisation, hits are represented as volumes of different colour:
|
|
green for full simulation and red for fast simulation.
|
|
|
|
3. Primary generation
|
|
---------------------
|
|
|
|
Particle gun is used as a primary generator. The direction of particles is along
|
|
the axis of symmetry of the detector (cylinder). It is positioned 10 cm in front
|
|
of the entrance to the detector. 10 GeV electron is used by default. Those values
|
|
can be changed using /gun/ UI commands.
|
|
|
|
4. Physics List
|
|
---------------
|
|
|
|
FTFP_BERT modular physics list is used. On top of it, fast simulation physics
|
|
is registered for selected particles (electrons, positrons, and photons).
|
|
|
|
|
|
5. User actions
|
|
----------------------------------------------------------
|
|
|
|
- Par03RunAction : run action used for initialization and termination
|
|
of the run. Histograms for analysis of shower development
|
|
in the detector are created.
|
|
|
|
- Par03EventAction : event action used for initialization and termination
|
|
of the event. Analysis of shower development is performed
|
|
on event-by-event basis.
|
|
|
|
6. Output
|
|
---------
|
|
|
|
The execution of the program (examplePar03) produces an output with histograms.
|
|
|
|
The macro file examplePar03.in specifies three runs. Each run is made of 100
|
|
events, for single 10 GeV electron beams. The first run is executed with fast
|
|
simulation model activated with defualt parameters. The second run executes fast
|
|
simulation with modified parameters. For the third run the fast simulation model
|
|
is disactivated.
|
|
Three output files are produced: two with shower development from the fast
|
|
simulation (with different parameters), and from the full simulation.
|
|
|
|
7. How to build and run the example
|
|
-----------------------------------
|
|
|
|
- Compile and link to generate the executable (in your CMAKE build directory):
|
|
% cmake <PAR03_SOURCE>
|
|
% make
|
|
|
|
- Execute the application (in batch mode):
|
|
% ./examplePar03 -m examplePar03.in
|
|
which produces three root files: Par03_fastsim_100events.root,
|
|
Par03_fastsimModified_100events.root, and Par03_fullsim_100events.root.
|
|
|
|
- Execute the application (in interactive mode):
|
|
% ./examplePar03
|
|
which allows to visualize hits.
|
|
|
|
8. UI commands
|
|
--------------
|
|
|
|
UI commands useful in this example:
|
|
|
|
- activation/disactivation of the fast simulation model:
|
|
/param/ActivateModel model
|
|
/param/InActivateModel model
|
|
|
|
- particle gun commands
|
|
/gun/particle e+
|
|
/gun/energy 50 GeV
|
|
/gun/direction 0 0.2 1
|
|
/gun/position 0 0 0
|
|
|
|
UI commands defined in this example:
|
|
- detector settings
|
|
/Par03/detector/print
|
|
/Par03/detector/setDetectorRadius 10 cm
|
|
/Par03/detector/setDetectorLength 30 cm
|
|
/Par03/detector/setDetectorMaterial G4_Pb
|
|
/Par03/detector/setNbOfLayers 100
|
|
/Par03/detector/setNbOfPhiCells 20
|
|
/Par03/detector/setNbOfRhoCells 100
|
|
|
|
- fast simulation settings
|
|
/Par03/fastSim/print
|
|
/Par03/fastSim/transverseProfile/sigma 20 mm
|
|
/Par03/fastSim/longitudinalProfile/beta 0.6
|
|
/Par03/fastSim/longitudinalProfile/alpha 2.
|
|
/Par03/fastSim/longitudinalProfile/maxDepth 20
|
|
/Par03/fastSim/numberOfHits 500 |