[807] | 1 | $Id: README,v 1.1 2002/03/05 15:21:55 gcosmo Exp $ |
---|
| 2 | ------------------------------------------------------------------- |
---|
| 3 | |
---|
| 4 | ========================================================= |
---|
| 5 | Geant4 - an Object-Oriented Toolkit for Simulation in HEP |
---|
| 6 | ========================================================= |
---|
| 7 | |
---|
| 8 | ParN02 |
---|
| 9 | ------ |
---|
| 10 | |
---|
| 11 | |
---|
| 12 | This example simulates a simplified fixe target experiment. |
---|
| 13 | Read 000README for a description of how to run it in parallel. |
---|
| 14 | |
---|
| 15 | 1- GEOMETRY DEFINITION |
---|
| 16 | |
---|
| 17 | The setup consists of a target followed by six chambers of increasing |
---|
| 18 | transverse size. These chambers are located in a region called Tracker |
---|
| 19 | region. Their shape are boxes, constructed as parametrised volumes |
---|
| 20 | (ChamberParametrisation class). |
---|
| 21 | |
---|
| 22 | The default geometry is constructed in DetectorConstruction class. |
---|
| 23 | One can change the material of the target and of the chambers |
---|
| 24 | interactively via the commands defined in the DetectorMessenger class. |
---|
| 25 | |
---|
| 26 | In addition a transverse uniform magnetic field can be applied (see |
---|
| 27 | N02MagneticField and DetectorMessenger classes). |
---|
| 28 | |
---|
| 29 | |
---|
| 30 | 2- PHYSICS LIST |
---|
| 31 | |
---|
| 32 | The particle's type and the physic processes which will be available |
---|
| 33 | in this example are set in PhysicsList class. |
---|
| 34 | |
---|
| 35 | In this example, all the so called 'electromagnetic processes' are |
---|
| 36 | introduced for gamma, charged leptons, and charged hadrons (see the |
---|
| 37 | method PhysicsList::ConstructEM()). |
---|
| 38 | |
---|
| 39 | An important data member of this class is the defaultCutValue which |
---|
| 40 | defines the production threshold of secondary particles |
---|
| 41 | (mainly Ionisation and Bremsstrahlung processes are concerned by this |
---|
| 42 | CutValue). |
---|
| 43 | Notice that the CutValue must be given in unit of length, corresponding |
---|
| 44 | to the stopping range of the particle. It is automatically converted |
---|
| 45 | in energy for each material, and a table is printed in the method |
---|
| 46 | PhysicsList::SetCuts() |
---|
| 47 | |
---|
| 48 | In addition the build-in interactive command: |
---|
| 49 | /process/(in)activate processName |
---|
| 50 | allows to activate/inactivate the processes one by one. |
---|
| 51 | |
---|
| 52 | |
---|
| 53 | 3- RUNS and EVENTS |
---|
| 54 | |
---|
| 55 | The primary kinematic consists of a single particle which hits the |
---|
| 56 | target perpendicular to the input face. The type of the particle |
---|
| 57 | and its energy are set in the PrimaryGeneratorAction class, and can |
---|
| 58 | be changed via the G4 build-in commands of ParticleGun class. |
---|
| 59 | |
---|
| 60 | A RUN is a set of events. |
---|
| 61 | |
---|
| 62 | The user has control: |
---|
| 63 | -at Begin and End of each run (class RunAction) |
---|
| 64 | -at Begin and End of each event (class EventAction) |
---|
| 65 | -at Begin and End of each track (class TrackingAction, not used here) |
---|
| 66 | -at End of each step (class SteppingAction) |
---|
| 67 | |
---|
| 68 | The class SteppingVerbose prints some informations step per step, |
---|
| 69 | under the control of the command: /tracking/verbose 1 |
---|
| 70 | It inherits from G4SteppingVerbose, and has been setup here in order |
---|
| 71 | to illustrate how to extract informations from the G4 kernel during |
---|
| 72 | the tracking of a particle. |
---|
| 73 | |
---|
| 74 | |
---|
| 75 | 4- DETECTOR RESPONSE |
---|
| 76 | |
---|
| 77 | A HIT is a record, track per track (even step per step), of all the |
---|
| 78 | informations needed to simulate and analyse the detector response. |
---|
| 79 | |
---|
| 80 | In this example the Tracker chambers are considered as the detector. |
---|
| 81 | Therefore the chambers are declared 'sensitive detectors' (SD) in |
---|
| 82 | the DetectorConstruction class. |
---|
| 83 | |
---|
| 84 | Then, a Hit is defined as a set of 4 informations per step, inside |
---|
| 85 | the chambers, namely: |
---|
| 86 | - the track identifier (an integer), |
---|
| 87 | - the chamber number, |
---|
| 88 | - the total energy deposit in this step, |
---|
| 89 | - the position of the deposit. |
---|
| 90 | |
---|
| 91 | A given hit is an instance of the class TrackerHit which is created |
---|
| 92 | during the tracking of a particle, step by step, in the method |
---|
| 93 | TrackerSD::ProcessHits(). This hit is inserted in a HitsCollection. |
---|
| 94 | |
---|
| 95 | The HitsCollection is printed at the end of event (via the method |
---|
| 96 | TrackerSD::EndOfEvent()), under the control of the command: /hits/verbose 1 |
---|
| 97 | |
---|
| 98 | |
---|
| 99 | 5- VISUALIZATION |
---|
| 100 | |
---|
| 101 | The Visualization Manager is set in the main(). |
---|
| 102 | The initialisation of the drawing is done via a set of /vis/ commands |
---|
| 103 | in the macro vis.mac. This macro is automatically read from |
---|
| 104 | the main when running in interactive mode. |
---|
| 105 | |
---|
| 106 | The tracks are automatically drawn at the end of event and erased at |
---|
| 107 | the beginning of the next run. |
---|
| 108 | |
---|
| 109 | The visualization (with OpenGL driver) assumes two things: |
---|
| 110 | 1- the visualisation & interfaces categories have been compiled |
---|
| 111 | with the environment variable G4VIS_BUILD_OPENGLX_DRIVER. |
---|
| 112 | 2- ParN02.cc has been compiled with G4VIS_USE_OPENGLX. |
---|
| 113 | |
---|
| 114 | (The same with DAWNFILE instead of OPENGLX) |
---|
| 115 | |
---|
| 116 | |
---|
| 117 | 6- USER INTERFACES |
---|
| 118 | |
---|
| 119 | The default command interface, called G4UIterminal, is done via |
---|
| 120 | standart cin/G4cout. |
---|
| 121 | On Linux and Sun-cc on can use a smarter command interface G4UItcsh. |
---|
| 122 | It is enough to set the environment variable G4UI_USE_TCSH before |
---|
| 123 | compiling ParN02.cc |
---|
| 124 | |
---|