source: trunk/examples/novice/N03/README @ 811

Last change on this file since 811 was 811, checked in by garnier, 16 years ago

merge

File size: 7.0 KB
Line 
1$Id: README,v 1.16 2005/11/22 16:11:04 maire Exp $
2-------------------------------------------------------------------
3
4     =========================================================
5     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
6     =========================================================
7
8                            ExampleN03
9                            ----------
10
11        This example simulates a simple Sampling Calorimeter setup.
12       
13 1- GEOMETRY DEFINITION
14 
15        The calorimeter is a box made of a given number of layers. A layer
16        consists of an absorber plate and of a detection gap. The layer is
17        replicated.
18       
19        Six parameters define the calorimeter :
20        - the material of the absorber,
21        - the thickness of an absorber plate,
22        - the material of the detection gap,
23        - the thickness of a  gap,
24        - the number of layers,
25        - the transverse size of the calorimeter (the input face is a square).
26       
27        In addition a transverse uniform magnetic field can be applied.
28       
29        The default geometry is constructed in DetectorConstruction class,
30        but all of the above parameters can be modified interactively via
31        the commands defined in the DetectorMessenger class.
32
33
34        |<----layer 0---------->|<----layer 1---------->|<----layer 2---------->|
35        |                       |                       |                       |
36        ==========================================================================
37        ||              |       ||              |       ||              |       ||
38        ||              |       ||              |       ||              |       ||
39        ||   absorber   |  gap  ||   absorber   |  gap  ||   absorber   |  gap  ||
40        ||              |       ||              |       ||              |       ||
41        ||              |       ||              |       ||              |       ||
42 beam   ||              |       ||              |       ||              |       ||
43======> ||              |       ||              |       ||              |       ||
44        ||              |       ||              |       ||              |       ||
45        ||              |       ||              |       ||              |       ||
46        ||              |       ||              |       ||              |       ||
47        ||              |       ||              |       ||              |       ||
48        ||              |       ||              |       ||              |       ||
49        ==========================================================================
50       
51        NB. The thickness of the absorber or of the gap can be set to zero
52            (but not together), and the number of layers to 1. In this case we
53            have a unique homogeneous block of matter, which looks like
54            a bubble chamber rather than a calorimeter ...
55            (see the macro of commands: newgeom.mac)
56           
57 2- AN EVENT : THE PRIMARY GENERATOR
58 
59        The primary kinematic consists of a single particle which hits the
60        calorimeter perpendicular to the input face. The type of the particle
61        and its energy are set in the PrimaryGeneratorAction class, and can
62        be changed via the G4 build-in commands of ParticleGun class (see
63        the macros provided with this example).
64       
65        In addition one can choose randomly the impact point of the incident
66        particle. The corresponding interactive command is built in
67        PrimaryGeneratorMessenger class (see run2.mac).
68       
69        A RUN is a set of events.
70       
71                               
72 3- VISUALIZATION
73 
74        The Visualization Manager is set in the main().
75        The initialisation of the drawing is done via a set of /vis/ commands
76        in the macro vis.mac. This macro is automatically read from
77        the main in case of interactive running mode.
78
79        By default, vis.mac opens a DAWNFILE, suitable for viewing in DAWN,
80        and an OGLX for OpenGl.
81        You can switch to other graphics systems by commenting out this line
82        and instead uncommenting one of the other /vis/open statements, such as
83        HepRepFile or HepRepXML.
84       
85        The DAWNFILE, HepRepFile and HepRepXML drivers are always available
86        (since they require no external libraries), but the OGLIX driver
87        requires:
88            1- the visualisation & interfaces categories have been compiled
89               with the environment variable G4VIS_BUILD_OPENGLX_DRIVER.
90            2- exampleN03.cc has been compiled with G4VIS_USE_OPENGLX.
91
92        The HepRepXML driver outputs a zip file that can be unzipped into
93        several individual HepRep files, each viewable in WIRED.
94
95        For more information on visualization, including information on how to
96        install and run DAWN, OpenGL and WIRED, see the visualization tutorials
97        on the Geant4 Workshop Tutorial CD available at:
98        http://geant4.slac.stanford.edu/g4cd/Welcome.html
99       
100        The detector has a default view which is a longitudinal view of the
101        calorimeter.
102       
103        The tracks are drawn at the end of event, and erased at the end of run.
104        Optionaly one can choose to draw all particles, only the charged,
105        or neutral or none. This command is build in EventActionMessenger class.
106       
107        Additional visualization tutorial macros are available in the visTutor
108        subdirectory.  They can be tried as:
109               % $G4BINDIR/exampleN03
110               idle > /control/execute visTutor/exN03VisX.mac
111        For details, see comment lines  described in the macro files.
112        These macros are designed to help your understanding the User's Guide.
113
114
115 4- PHYSICS DEMO
116 
117        The particle's type and the physic processes which will be available
118        in this example are set in PhysicsList class.
119       
120        In addition the build-in interactive command:
121                 /process/(in)activate processName
122        allows to activate/inactivate the processes one by one.
123        Then one can well visualize the processes one by one, especially
124        in the bubble chamber setup with a transverse magnetic field.
125        (see run2.mac and newgeom.mac)
126 
127        As a homework try to visualize a gamma conversion alone,
128        or the effect of the multiple scattering.
129       
130 5- RANDOM NUMBERS HANDLING
131 
132        CLHEP provides several random number engines. In this example the Ranecu
133        engine is choosen at beginning of the main (exampleN03.cc).
134       
135        By default, G4RunManager does not save the rndm seed.
136        To do so the user must set in BeginOfRunAction:
137        G4RunManager::GetRunManager()->SetRandomNumberStore(true);
138       
139        Then the rndm seed is systematically saved at beginning of run
140        (currentRun.rndm) and beginning of event (currentEvent.rndm)
141        Therefore, in case of abnormal end, the seed of the last event processed
142        is available in currentEvent.rndm
143       
144        Even in case of normal run processing, the user may wish to preserve the
145        rndm seed of selected events. At any time in the event, put the
146        following statement:
147        if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent();
148        currentEvent.rndm will be copied to runXXevntYY.rndm
149        (see ExN03SteppingAction::UserSteppingAction() )
150       
151        To restart a run from a given rndm seed, use the UI command :
152        /random/resetEngineFrom  fileName
153       
154        The macro rndmSeed.mac shows how to save and reset the random number
155        seed between runs, from UI commands.   
156       
157 6- USER INTERFACES
158 
159        The default command interface, called G4UIterminal, is done via
160        standart cin/G4cout.
161        On Linux and Sun-cc on can use a smarter command interface G4UItcsh.
162        It is enough to set the environment variable G4UI_USE_TCSH
163       
164        On can use a Motif driven command interface (called G4UIXm) if:
165          1- interfaces category has been compiled with G4UI_BUILD_XM_SESSION
166          2- exampleN03.cc has been compiled with G4UI_USE_XM.
167 
168       
169 7- HOW TO START ?
170 
171        - compile and link to generate an executable
172                % cd N03
173                % gmake
174               
175        - execute N03 in 'batch' mode from macro files
176                % exampleN03   run1.mac
177               
178        - execute N03 in 'interactive mode' with visualization
179                % exampleN03
180                ....
181                Idle>      ---> type your commands. For instance:
182                Idle> /run/beamOn
183                ....
184                Idle> /run/beamOn 10
185                ....                           
186                Idle> /control/execute newgeom.mac
187                ....
188                Idle> exit
189       
190         
191       
Note: See TracBrowser for help on using the repository browser.