[1199] | 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 | |
---|