1 | $Id: README,v 1.1 2003/11/07 21:30:27 japost Exp $ |
---|
2 | ------------------------------------------------------------------- |
---|
3 | |
---|
4 | ========================================================= |
---|
5 | Geant4 - an Object-Oriented Toolkit for Simulation in HEP |
---|
6 | ========================================================= |
---|
7 | |
---|
8 | ExampleNTST |
---|
9 | ----------- |
---|
10 | |
---|
11 | This example simulates the BaBar silicon vertex tracker and 40-layer |
---|
12 | drift chamber. This example also runs either the standard G4 |
---|
13 | transportation code (default) or BgsG4Extension (files in src/ |
---|
14 | and include/ prepended with 'Bgs'). |
---|
15 | |
---|
16 | 1- GEOMETRY DEFINITION |
---|
17 | |
---|
18 | The geometry consists of the active elements (wafers) of the BaBar |
---|
19 | silicon vertex tracker (SVT) and the 40-layer drift chamber (DCH). |
---|
20 | There is a detector messenger class (NTSTDetectorMessenger) to set |
---|
21 | geometry options. |
---|
22 | |
---|
23 | Command directory path : /NTST/ |
---|
24 | |
---|
25 | Guidance : |
---|
26 | NTST detector control. |
---|
27 | |
---|
28 | Sub-directories : |
---|
29 | Commands : |
---|
30 | setInputFile * Set input file name |
---|
31 | disable * disable detetector |
---|
32 | setDebug * Set debug flag. |
---|
33 | setNSubLayer * Set the number of SVT sublayers. |
---|
34 | setOuterRadius * Set outer radius of the SVT mother volume |
---|
35 | getFieldStats * Return number calls to field routine |
---|
36 | |
---|
37 | 2- GENERATORS |
---|
38 | |
---|
39 | There is a generator action class which generates events according |
---|
40 | to two possible generators and optionally print the event. |
---|
41 | The generator and print options are controlled by |
---|
42 | NTSTGeneratorMessenger class, which has the following options |
---|
43 | available: |
---|
44 | |
---|
45 | Commands : |
---|
46 | choose * Choose the generator to use. |
---|
47 | print * print events (true) or not (false). |
---|
48 | |
---|
49 | There are currently two generators available for use: |
---|
50 | |
---|
51 | - NTSTGunGenerator ('gun'): |
---|
52 | generates single particle events containing 1 or more particles of a |
---|
53 | specified type over a range of momenta and solid angle. This class |
---|
54 | has an associated messenger, NTSTGunMessenger, which allows the user |
---|
55 | to issue the commands : |
---|
56 | |
---|
57 | List * List available particles. |
---|
58 | particle * Set particle to be generated. |
---|
59 | vertex * Set vertex position (with unit, def: mm). |
---|
60 | spotsize * Set vertex size (with unit, def: mm). |
---|
61 | plow * Set low momentum limit (with unit, def: GeV). |
---|
62 | phigh * Set high momentum limit (with unit, def: GeV). |
---|
63 | coslow * Set lower cosine limit. |
---|
64 | coshigh * Set upper cosine limit. |
---|
65 | philow * Set low phi limit (with unit, def: degree). |
---|
66 | phihigh * Set high phi limit (with unit, def: degree). |
---|
67 | t0 * Set initial t0 of the particle (with unit, def: ns). |
---|
68 | polarization * Set polarization. |
---|
69 | number * Set number of particles to be generated. |
---|
70 | |
---|
71 | - NTSTBabarEvtReadGenerator ('evt'): |
---|
72 | reads an ascii file of events which have been generated previously by |
---|
73 | GenFwkInt, the BaBar generator framework interface. A file, |
---|
74 | babarevt.out, contains 1000 B-Bbar events generated at the Upsilon 4S |
---|
75 | and boosted into the BaBar detector rest frame (recall that in this |
---|
76 | frame, the e- and e+ beams collide with momenta of +9 and -3.1 GeV, |
---|
77 | respectively. The beam axis is rotated by -20.5mr from the z-axis in |
---|
78 | the x-z plane and the interaction point is sampled from a beam |
---|
79 | spot of approximately 100 microns (x), 4.6 microns (y) and 1 cm (z)). |
---|
80 | There is no messenger associated with this generator. |
---|
81 | |
---|
82 | A RUN is a set of events. |
---|
83 | |
---|
84 | 3- PHYSICS PROCESSES |
---|
85 | |
---|
86 | The physics processes are set in a class called NTSTPhysicsList. |
---|
87 | There is a messenger which controls the settings of some of the |
---|
88 | processes. The commands available to the user are listed in /run: |
---|
89 | |
---|
90 | Sub-directories : |
---|
91 | /run/particle/ Commands for G4VUserPhysicsList. |
---|
92 | Commands : |
---|
93 | initialize * Initialize G4 kernel. |
---|
94 | beamOn * Start a Run. |
---|
95 | verbose * Set the Verbose level of G4RunManager. |
---|
96 | optimizeGeometry * Set the optimization flag for geometry. |
---|
97 | breakAtBeginOfEvent * Set a break point at the begining of every event. |
---|
98 | breakAtEndOfEvent * Set a break point at the end of every event. |
---|
99 | abort * Abort current run processing. |
---|
100 | geometryModified * Force geometry to be closed again. |
---|
101 | cutoffModified * Force closssection tables to be calculated again. |
---|
102 | storeRandomNumberStatus * Store the status of the random number engine to a file. |
---|
103 | restoreRandomNumberStatus * Restore the status of the random number engine from a file. |
---|
104 | setEmProcess * select electromagnetic processes |
---|
105 | useBgsTran * True if BgsTransportation to be used |
---|
106 | minEcut * ParticleWithCuts minimum energy cut (with unit, def: MeV) |
---|
107 | maxEcut * ParticleWithCuts maximum energy cut (with unit, def: MeV) |
---|
108 | cut * new cut value (with unit, def: mm) |
---|
109 | looperCut * Kill loopers below this cut (with unit, def: MeV) |
---|
110 | |
---|
111 | 3- DETECTOR RESPONSE |
---|
112 | No hits/digis are currently scored. |
---|
113 | |
---|
114 | 4- VISUALIZATION |
---|
115 | |
---|
116 | 6- HOW TO START ? |
---|
117 | |
---|
118 | - compile and link to generate an executable |
---|
119 | % cd NTST |
---|
120 | % gmake |
---|
121 | |
---|
122 | - execute NTST in 'interactive mode' with visualization |
---|
123 | % exampleNTST |
---|
124 | % exampleNTST |
---|
125 | .... |
---|
126 | Idle> type your commands |
---|
127 | .... |
---|
128 | Idle> exit |
---|
129 | - or use the supplied macro files: |
---|
130 | |
---|
131 | file Transportation range cut looper cut e-cut |
---|
132 | --------------------------------------------------------------------------- |
---|
133 | run2a.mac G4Transportation 2 mm < 200 MeV < 1 MeV |
---|
134 | run2b.mac " 2 mm < 200 MeV not applied |
---|
135 | run2c.mac " 2 mm not applied not applied |
---|
136 | --------------------------------------------------------------------------- |
---|
137 | % exampleNTST run2c.mac will run G4 using G4Transportation |
---|
138 | with the default range/energy cuts |
---|
139 | using the 'evt' generator. |
---|
140 | |
---|
141 | |
---|
142 | |
---|
143 | |
---|
144 | |
---|