scatter - apply a scattering distribution to incoming photons
scatter [option=value]
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.
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.
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.
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.
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.
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 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
This documents version 1.3.3 of scatter.
tibbetts@head.cfa.harvard.edu