| 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 |
|
|---|