NAME

scatter - apply a scattering distribution to incoming photons


SYNOPSIS

scatter [option=value]


OPTIONS

Parameters for scatter.par

input string
Input photon stream in bpipe format. The string 'stdin' causes scatter to read from standard input.

output string
Output photon stream in bpipe format. The string 'stdout' causes scatter to write to standard output.

logfile string
Log file. The string 'stderr' causes scatter to write the log to standard error.

seed1 integer
The first seed for the random number generator. It must be in the range [1,214748339].

seed2 integer
The second seed for the random number generator. It must be in the range [1,214748339].

block integer
The random number block to start at. It must be in the range [1,1048575].

scatter_db string
Database of scattering distributions. This is an RDB formatted file. See FILES

mirror_db string
Database of mirror positions. This is an RDB formatted file. See FILES

scat_iter_lim integer
Maximum number of iterations to try to scatter a photon.

in_plane boolean
Apply the in plane scatter.

out_of_plane boolean
Apply the out of plane scatter.

min_cumulative_probability real
Minumum cumulative probability.

max_cumulative_probability real
Maxumum cumulative probability.

shell integer
Mirror shell number.

surf_no integer
Mirror surface number; 1=P, 2=H.

theta real
Default value for theta, in arcseconds

phi real
Default value for phi, in arcseconds.

debug string
Print various types of debug information to logfile or enables non-standard operation. The strings listed below may be given singly or in a colon separated list.
angles
Prints photon id, in-plane, and out-of-plane scatter offsets.

extrapolated
Prints photon id, energy, random number, and sin of the incident angle.

offzone
Prints photon id and z position.

offzone2
Prints photon id, z position, and offset from nearest mirror section.

help boolean
Print brief usage information and exit.

usage boolean
Print usage information and exit.

version boolean
Print version and exit.

mode string
Mode of operation.


DESCRIPTION

scatter takes an input bpipe photon stream and applies a offset to the photon direction. The offset is read from the scatter_db, interpolated between values in the scatter_db, or extrapolated from the scatter_db depending on the situation.

Required fields in the input bpipe stream are position, direction, surface_norm, energy, id, and surf_missed.

The output bpipe stream has the direction field modified to include the scatter offset.

The log file contains output triggered by the various debug flags.

NEW STYLE SCATTER

This behavior is triggered by the presence of the EsaLinAsym value in the scat_alg field of the scatter_db for a given zone. See FILES.

This style of scattering assumes that the scattering distributions in the scatter_db cover the full range of possibilities. No extrapolation is performed. All values come from the table or from interpolating between two values in the table.

OLD STYLE SCATTER

This mode of operation is triggered by the presence of the value EsaLinPowSym in the scat_alg field of the scatter_db. See FILES.

This mode duplicates the older style scattering algorithm used in the pre 2004/08 time frame. Essentially the scattering distributions in the scatter_db file have lower and upper limits. So for random numbers that fall outsie the limits, the scattering angle ends up being extrapolated from the distrution using a powerlaw.


FILES

SCATTER_DB

The scatter_db provides a lookup table mapping scattering distribution files(FITS formatted) with mirrors and zones. It also influences which scattering algorithm scatter uses. A list of the columns required is given below:

mirror
Mirror name, i.e. p1, p3, p4, p6, h1, h3, h4, or h6.

zone
Mirror zone name.

zone_geom
Zone geometry specifier, currently only a linear geometry along the z axis is handles. ZLinear is the specifier used for this geometry.

If ZLinear is specified, the following additional columns are required:

zmin
Z min of the zone for ZLinear geometry.

zmax
Z max of the zone for ZLinear geometry.

scat_alg
Scattering algorithm specifier, EsaLinPowSym or EsaLinAsym are currently accepted.

EsaLinPowSym represents the algorithm developed by LVS.

EsaLinAsym represents the algorithm develeped by Zhao.

scat_file
FITS binary table containing scattering distributions.

MIRROR_DB

The mirror_db parameter provides a lookup table which contains, at least, the following columns:

mirror
Name of the mirror, i.e. p1, p3, p4, p6, h1, h3, h4, or h6.

z0
Z position of the mirror.


COPYRIGHT & LICENSE

Copyright 2006 Smithsonian Astrophysical Observatory

This software is released under the GNU General Public License. You may find a copy at http://www.fsf.org/copyleft/gpl.html


VERSION

This documents version 1.3.3 of scatter.


AUTHOR

tibbetts@head.cfa.harvard.edu