Monte Carlo Event Position Distribution Codes ============================================= The different types of position distributions used in INGENR and MCG_GENERATOR are: ID Mnemonic Description -- -------- ----------- -n none Give this particle the same position as particle n (particle n must have already been generated) 10 IDDPNT Generate all events from a point x,y,z 20 IDDSHL Generate events in a shell from rmin to rmax 30 IDDLIN Generate events along a line connecting two points. 40 IDDREG Generate events within a certain region, a group of regions, or a group of regions with adjustable weights. 50 IDDEX1 Generate event with an exponentially decreasing probability away from a previous particle. 60 IDDUSR Generate positions using user specified distribution. 70 IDDCFX Cosmic ray spectrum. 80 IDDUMB Generate an exponential distribution down the umbilical. 90 IDDAVS Generate events on the surface of the spherical part of the AV, with the numbers inside and outside proportional to the areas of the respective surfaces. "On the surface" is actually 0.02 cm into the D2O or H2O. 100 IDDPL Generate events with directions taken from a MCPL bank (see MCPL bank). 110 IDDNCDR Generate events on a circular locus of radius r around NCD anode. The NCD string number, along with the z position, are specified by the user. 130 IDDLSB Generate events on a non-pointlike laserball source, randomly picking the position on a sphere of radius r and center xyz. 140 IDDDSK Generate events on the surface of a disk. 150 IDDMSW Generate events in the detector distributed as the interaction targets. Only to be used with the MSW code. 170 IDDLSBA Generate events on a spherical laserball source with distribution weighted by laserball mask and grid coefficients as read from LASR bank Model A ascribes anisotropies to distribution of both positions and directions - must be used with corresponding DIR type 180 IDDLSBB As above, but Model B ascribes anisotropies to distribution of positions only - must be used with corresponding DIR type 190 IDDLSBC As above, but Model C ascribes anisotropies to distribution of directions only - must be used with corresponding DIR type Notes: All of these are implemented. For the different distributions there are different input parameters to be stored in the POS_PARAM array. These are: POS Type Param. # Description -------- -------- ----------- 10 1,2,3 x,y,z in detector coordinates (cm) for point. 20 1,2 rmin,rmax for the selected shell 30 1,2,3 x1,y1,z1 (coordinates of a point at one end of the line) 4,5,6 x2,y2,z2 (coordinates of the point at the other end) 40 1 Number of regions to select point from (<= 4) 2 Region number of the first region. 3 Weight to assign this region (otherwise by volume). 4,5 etc. Region number and weight of second region, etc. 50 1 exponential decay distance 2 number of particle to distribute around 60 ? User defined. 70 none 80 1 Slope (cm) in the exponent. 90 none 100 none 110 1 NCD string number. If < 1 or >40 picks one at random. 2 radial distance (b) from anode:- If b>0, b is the radius. If -1<b<0, a random position within the anode is picked (from a uniform distribution) If -2<b<-1, a random position in the counter is picked. If -3<b<-2, a random position from the inner nickel surface is picked, according to an exponential distribution with mean e. If -4<b<-3, same as above, except mean depth comes from the NCSP bank according to string number. 3 A switch (c):- If c=0, a random z position is chosen. If c=1, the z position is set to d. If c=2, a position within d cm of the counter ends are chosen. 4 z position. 130 1,2,3 x,y,z of laserball centre. 4 Radius of laserball. 140 1,2,3 x,y,z of disk centre. 4 Radius of disk. 5 Theta (rotation about y-axis) 6 Phi (rotation about z-axis) 150 none 170 1,2,3 x,y,z of laserball centre 4 Radius of laserball 5 azimuthal orientation of laserball SWNE=>0123 180 1,2,3 x,y,z of laserball centre 4 Radius of laserball 5 azimuthal orientation of laserball SWNE=>0123 190 1,2,3 x,y,z of laserball centre 4 Radius of laserball 5 azimuthal orientation of laserball SWNE=>0123 NOTE: The parameter MISC2_PARAM also plays an important role in the position selection. This tells the program what region the point selected is in. If it is set to -1 the program will figure it out for itself. If it is set to a positive number that will be assumed to be the region the point is generated in. Therefore if you are generating from a point, say, you can set the 7th entry in the MISC2_PARAM bank to the region number (for the D2O sphere it is 1000000., remember the MISC2_PARAM array is floating point). It is safer, although marginally slower, to always set this to -1.