calcband: Calculate a model passband.
Package: synphot
Usage
calcband obsmode output
Description
This task will create a synthetic passband by combining existing passbands, certain functional forms such as a Gaussian or a rectangular window, or externally created passbands read in from a file. These data can be multiplied by a function of Legendre polynomials to distort the shape, as appropriate.
This task uses the same back end as calcspec, including the expression evaluator. This help file only discusses those functions most relevant to computing passbands, but the full range of functions described in the help file for calcspec can be used. The reson for supplying a separate front end to handle passbands is that some of the task parameters to calcspec, such as 'form' are not relevant to calcband.
Parameters
- obsmode [string]
- This is a sequence of commands that create the synthetic
passband. The commands can be placed in a file, whose name is passed to
this parameter, preceded by a "@" character, e.g., '@filename'. Each
line in this command file is treated as a separate set of commands.
The command interpreter supports addition (+), subtraction (-),
multiplication (*), division (/), and negation (-). The division
operator should be surrounded by blanks to keep from being interpreted
as part of a file name. Operator precedence and associativity is the
same as Fortran. Precedence can be changed by enclosing subexpressions
in parentheses. The terms which are operated on are either passband
files, numeric constants, or functions. As a convenience to users, if
the expression consists of a single call to the band() function, only
the arguments to the function need be given. For example, the obsmode
"band(wfpc,f555w)" can also be given as "wfpc,f555w". The arguments to
the band() function are explained further in the obsmode task.
The interpreter supports several functions which return passbands:
band(), which returns a passband corresponding to an hst observing
mode, box(), which returns a box passband, gauss() and lgauss(), which
return gaussian and log gaussian passbands, and poly() and tilt(),
which return Legendre polynomial passbands. In addition, the thru()
function can be used to specify the name of an ASCII file from which
to read the passband data. The following is a more
detailed description of these functions:
band(str1, ...) str1: observation mode keyword A passband associated with a telescope observing mode. The observing mode is specified by the arguments to the function. The combination of the arguments should uniquely specify an observing mode.to this box(num1, num2) num1: passband center num2: passband width A passband that is one inside the specified region and zero outside. gauss(num1, num2) num1: mean of normal distribution num2: full width half maximum of distribution A passband with normal distribution. The full width half maximum is sqrt(8 * ln(2)) times the standard deviation. lgauss(num1, num2) num1: mean of distribution num2: full width half maximum of distribution A passband with normal distribution in the logarithm of the wavelength. poly(num1, num2, num3, ...) num1: mean of polynomial num2: full width half maximum num3: polynomial coefficient A passband which is a function of legendre polynomials. First, sigma is computed from the full width half maximum using the formula: sigma = fwhm / sqrt (8 * ln(2)) Then the independent variable is transformed from wavelength with the formula: u = (wave - mean) / sigma The sum of the legendre polynomials is computed with the formula sum = SUM[ coef_n * legendre_n (u)] The final passband is given by the formula band = sum + 1 if sum >= 0 band = exp (sum) if sum < 0 thru(str1) str1: Name of an ASCII file containing columns of wavelength and throughput data. tilt(band1, num1, ...) band1: passband from which mean and fwhm are computed num1: polynomial coefficient A passband similar to that produced by poly(), except that the mean and full width half maximum are computed from the wavelength.
- output [file name]
- Name of the ST4GEM table to be used as output. The table has two
columns, 'WAVELENGTH' and 'THROUGHPUT'. If more than one passband is
specified via a file, then a separate 'THROUGHPUTn' column will be
created for the nth passband listed in a file.
The output table contains the following header keywords:
If more than one passband is input via a file, the last eight header keywords will be included once for each passband, with the names EXPRn, URESPn, PIVWVn, BANDWn, TPEAKn, EQUVWn, RECTWn, and EMFLXn for the nth passband. The seven photometric passbands are defined by the following formulas:
KEYWORD PARAMETER ======= ========= GRFTABLE Name of the instrument graph table. CMPTABLE Name of the component lookup table. APERAREA The HST area, in cm^2, used to compute URESP. ZEROPT Photometric zero point of the STMAG system. EXPR Value of spectrum parameter URESP Flux (in flam) of a star that produces a response of one photon per second in this passband. PIVWV Passband pivot wavelength. BANDW Passband rms width. TPEAK Peak bandpass throughput EQUVW Passband equivalent width RECTW Passband rectangular width EMFLX Equivalent monochromatic fluxIn these fromulas, INT() denotes the integral with repect to lambda, SQRT() denotes square root, LN() the natural logarithm, and MAX() the maximum function. The variable LAM is wavelength, THRU is the total throughput, which is a function of wavelength, AREA is the telescope area, and H and C are the usual physical constants.URESP = H * C / (AREA * INT(THRU * LAM)) PIVWV = SQRT(INT(THRU * LAM) / INT (THRU / LAM)) BANDW = BARLAM * SQRT(INT(THRU * LN(LAM / BARLAM) ** 2 / LAM) / INT(THRU / LAM) BARLAM = INT(THRU * LN(LAM) / LAM) / INT(THRU / LAM) TPEAK = MAX(THRU) EQUVW = INT(THRU) RECTW = INT(THRU) / MAX(THRU) EMFLX = URESP * RECTW * (TPEAK / TLAMBDA) TLAMBDA = Throughput at AVGWAV AVGWAV = INT(THRU * LAM) / INT(THRU)
- (wavetab = "") [file name]
- Name of an optional wavelength table or file. An appropriate table can be generated by using the 'genwave' task. If a table is used, the wavelength column name must be "WAVELENGTH". If an ASCII file is used the first column is taken to be the wavelength column. The subdirectory 'synphot$data has ASCII wavelength tables useful for specific HST passbands. If no wavelength table is specified, a default wavelength set is used. The default wavelength table covers the wavelength range where the passband is non-zero. Wavelengths are spaced logarithmically over this range. If there is more than one passband, the range is computed based on the first passband. If the wavelength range of the spectra differ significantly, a wavelength table should be specified explicitly.
- (refdata = "") [pset name]
- Parameter set for reference data used in calculations.
This pset contains the following parameters:
area = 45238.93416: HST telescope area in cm**2. grtbl = "mtab$*.tmg": HST graph table. By default, this uses the most recent version. cmptbl = "mtab$*.tmc" Instrument component table. By default, this uses the most recent version.
Examples
1. Calculate the combined instrumental throughput of the HRS using the large science aperture (lsa) and the G270M grating. Store the throughput data in a table called 'hrs.tab'.
sy> calcband "band(hrs,lsa,g270m)" hrs
2. The following command computes the same combined throughput using the abbreviated form of the obsmode string.
sy> calcband "hrs,lsa,g270m" hrs
3. Create a Gaussian passband, multiplied by a first-order Legendre polynomial and write the results to a table called 'gauss_tilt.tab'.
sy> calcband "tilt(gauss(4800,1300),10)" gauss_tilt
References
Written by B.Simon based on XCAL code written by Keith Horne
See also
plband, calcspec