|
Simulation Results
PRF Simulation results (with theta angle) compared with experimental
results:
Simulation Instructions
The charge disperison simulation source code can be found in ~gmd/monte.
Currently there are three main files that are used. These files create
a 'track' (line of clusters of electrons), and move the track along
the x-axis in small increments and recording the signal on the middle
pad (18).
From the pad signals on pad 18, the maximum value is
taken, and plotted into a "Pad Response Function". There are two methods
for doing this, the 'regular(reg)' way or the averaging way. The first
method takes simply the maximum signal value and plots it versus position.
The second method takes an average, using some of the points around
the maximum. This averaging method can be seen in prave.F.
The third main file (after prreg.F and prave.F) is
prangle.F. This file takes the track and changes the longitudinal
dispersion of the clusters along the track. This creates the effect
of a track on an angle in the 'z' axis. Since some charges have further
to go, they will have a larger dispersion.
Apart from these differences, the files are mainly
the same. The chamber parameters are found in the tpc.txt files (tpc9010.txt
for ArCO2 90-10, and tpc8020.txt for 80-20). The input files 9010.txt
and 8020.txt are used to supply the given drift parameters, gas type,
and drift distances for the gas.
A typical run would be prave.run < 9010.txt. This would run the
averaging function, given the 9010 parameters. It would automatically
use tpc9010.txt. The output file would be prave9010.rzhist, and can
be analyzed using paw (paw++ from the terminal in the /monte/ or any
other folder).
For a quick run and easier understanding look at basic_sim.F.
It can be run by typing basic_sim.run and then entering a gas percentage
(like 9010) when prompted. Creates a basic_sim.rzhist for use in paw++.
Easier to understand and less features.
There are also methods for automatically generating
tracks, drifing them, amplifying them and so forth, however these
are not currently used. See Magboltz for how to calculate the diffusion
parameters (see ~gmd/group/magboltz). To see examples of these functions
in use, go to monte/old/ and look at the padresp files or the test.F
file.
NOTE: Since the drift, amplify, etc. functions are
not used, we are in effect 'cheating' by giving the clusters their
final positions and final diffusions (sxy and sz).
Old Information: The important files are:
File Names |
Comments |
TPC.f |
Functions that describe GEM amplification,
electron ionization, drifting and diffusion |
readout.f |
Contains Pad Layout information and
charge dispersion functions |
simdata.f |
Contains Global Variables |
lciomc.F |
Routine that creates data that is
readable by Kirsten's Routine (LCIO) |
test.F |
Simple code that shows how to create
a simulation routine using the charge dispersion
code |
Many of the variables used in the routines can be modified
by editing a text file. Please see tpc.txt for the
proper,format of your text file. Please see test.F
for an example
of how the text file is loaded into the routine.
The code has been created such that you can access
and change most
variables by using the provided functions in your routine.
Therefore
the code is quite flexible in what you can make it
do. padresp.F is an
example of a quickly made program that I made to create
a straight track
and measure the padresponse function of a 2mmx6mm pad.
In general your code can be easily compiled by typing:
For code written using the LCIO format to store the
data, however,
you must use
Last updated October 8, 2004 - Dan Burke
Back to 2004 Results
|
|