Program description
Introduction
indexf is a program written in C++
to measure line-strength indices in
fully calibrated FITS spectra. By fully calibrated one should understand
wavelength and relative flux-calibrated data. Note that the different types of
line-strength indices that can be measured with indexf (see below) do not
require absolute flux calibration. If even a relative flux-calibration is
absent (or deficient), the derived indices should be transformed to an
appropriate spectrophotometric system.
The author thanks Sergio Pascual for his invaluable help to facilitate the installation procedure with autotools, as well as the maintenance of the source repository.
Error estimation
The program can also compute index errors resulting from the propagation of
random errors (e.g. photon statistics, read-out noise). This option is only
available if the user provides the error spectrum as an additional input FITS
file to indexf. The error spectrum must contain the unbiased standard
deviation (and not the variance!) for each pixel of the data spectrum. Full
details of the formulae employed for the computation of errors in molecular and
atomic indices, as well as in the D4000-like indices, are given in
[Cardiel+98] and in chapter 2 of Cardiel’s
thesis
—in Spanish—; for the generic indices see Appendix A in [Cenarro+01b]. For a discussion on the impact of random errors in line-strength indices when studying stellar populations see [Cardiel+03].
In addition, indexf also estimates the effect of errors on radial velocity. For this purpose, the program performs Monte Carlo simulations by measuring each index using randomly drawn radial velocities (following a Gaussian distribution of a given standard deviation).
If no error file is employed, the program can perform numerical simulations with synthetic error spectra, the latter generated from the original data spectra and assuming randomly generated S/N ratios.
Index definitions
The line-strength indices that can be measured with indexf are those
defined in the file indexdef.dat, located in the auxdir/ subdirectory of
the distribution source code. The first column in this file is the
identification name of each index (maximum 8 characters), as recognized by
indexf. The second column, labeled as code
, is an integer number that
allows the identification of the type of line-strength feature. The code used
in this column is the following:
index code |
type of index |
examples |
---|---|---|
1 |
molecular |
CN1, CN2, Mg1, Mg2, TiO1, TiO2,… |
2 |
atomic |
Ca4227, G4300, Fe4668, Hbeta, Fe5270, Fe5335,… |
3 |
D4000-like |
D4000 |
4 |
B4000-like |
B4000 |
5 |
Color-like |
infrared CO_KH |
10 |
Emission line |
OII3727e |
[11..99] |
Generic discontinuity |
D_CO,… |
[101..9999] |
Generic index |
CaT, PaT, CaT*,… |
[-99..-2] |
Slope index |
sTiO |
Warning
Wavelengths in indexdef.dat in most indices are given in the air (except
for those in the near-IR, like the D_CO; note however that the near-IR
indices defined by [Eftekhari+21] are given in the air).
If your spectra have
been reduced using a wavelength calibration in vacuum, you can handle this
by setting the parameter vacuum
to 1, 2 or 3 when running the program
(for the D_CO index you do not need to introduce a vacuum correction). See
the use of vacuum
in section Using the program for details.
An example of some of the definitions that can be found in the file indexdef.dat is the following (the list shown here is not complete!):
Index code blue bandpass central bandpass red bandpass > source
======== ==== ================== ================== ================== ======================================
CN1 1 4080.125 4117.625 4142.125 4177.125 4244.125 4284.125 > Lick
HdA 2 4041.600 4079.750 4083.500 4122.250 4128.500 4161.000 > Hdelta A (Worthey & Ottaviani 1997)
D4000 3 3750.000 3950.000 4050.000 4250.000 0.000 0.000 > 4000 break (Bruzual 1983)
B4000 4 3750.000 3950.000 4050.000 4250.000 0.000 0.000 > 4000 break (Gorgas et al. 1999)
CO_KH 5 22872.83 22925.26 22930.52 22983.22 00000.00 00000.00 > Kleinmann & Hall (1986)
OII3727e 10 > emission line OII 3727
4
3660.000 3666.000 0.0
3680.000 3688.000 0.0
3710.000 3735.000 1.0
3740.000 3750.000 0.0
D_CO 12 > generic CO discontinuity (Marmol-Queralto et al. 2008)
22880.00 23010.00
22460.00 22550.00
22710.00 22770.00
CaT_star 506 > CaT* index from Cenarro et al.(2001) (Paschen-corrected near-IR Ca triplet)
8474.000 8484.000
8563.000 8577.000
8619.000 8642.000
8700.000 8725.000
8776.000 8792.000
8461.000 8474.000 -0.93
8484.000 8513.000 1.0
8522.000 8562.000 1.0
8577.000 8619.000 -0.93
8642.000 8682.000 1.0
8730.000 8772.000 -0.93
sTiO -5 > Near-IR spectral slope (Cenarro et al. in preparation)
8474.000 8484.000
8563.000 8577.000
8619.000 8642.000
8700.000 8725.000
8776.000 8792.000
The two classical line-strength indices typically employed in the literature, molecular (
index code = 1
) and atomic (index code = 2
) are defined with the help of 3 bandpasses, which appear in the following columns of each index entry of the file indexdef.dat. Among the most common sets of molecular and atomic indices, one of the most widely used is the Lick/IDS system (see e.g. [Trager+98] and references therein).Two types of simple discontinuity indices are exemplified by the D4000 (
index code = 3
) and the B4000 (index code =4
); see e.g. [Gorgas+99]. In both cases, the line-strength index is defined as the ratio between the integrated flux in two nearby bandpasses. The difference between the D4000 and the B4000 like indices is the way in which the flux in each bandpass is integrated. In D4000-like indices, and due to historical reasons (e.g. [Bruzual83]), the total flux in each bandpass is computed as the integralextended over the wavelength range of the considered bandpass.
On the other hand, the total flux in each band of the B4000-like indices are obtained through the, more intuitive, integral of
The color-like index (
index code = 5
), defined with two bandpasses as , is exemplified by the CO index at 2.1 microns CO_KH (e.g. [KleinmannHall86]).Emission line features (
index code = 10
) are measured by defining an arbitrary number of continuum and feature regions. The format to define this kind of index in the file indexdef.dat consists in providing the total number of regions in the second line, and the wavelength limits of each band followed by a factor in the subsequent lines. When this factor is equal to 0.0, the region is used to compute the continuum, whereas a factor equal to 1.0 indicates emission-line region (see e.g. definition of OII3727e). All the continuum regions are fitted using a straight line fit.Generic discontinuities (
index code: 11 ≤ n ≤ 99
) can be used to define discontinuities with a variable number of wavelength regions at both sides of the discontinuity. The integer value ofcode
in the second column of the file indexdef.dat is computed aswhere and are, respectively, the number of continuum and absorption spectral bandpasses at both sides of the discontinuity. For this kind of index, the wavelengths which define each bandpass are given in different rows in the file indexdef.dat For illustration, see [MarmolQueralto+08] for a detailed definition of the D_C0 index.
The generic indices constitute a generalization of the atomic indices, with the possibility of using an arbitrary number of continuum and spectral-feature bandpasses, being the contribution of the latter weigthed by arbitrary factors. This new type of index has been introduced in the empirical calibration of the near-IR Ca triplet (see details in [Cenarro+01b]). The integer value of “code” in the second column of the file indexdef.dat is computed as
where and are, respectively, the number of continuum and spectral-feature bandpasses. For this kind of index, the wavelengths which define each bandpass are given in different rows in the file indexdef.dat, with the continuum bandpasses first. Note that the rows defining the spectral-feature bandpasses also contain, as a third column, the corresponding coefficient that should be applied to each of these bandpasses.
The slope indices are derived through the fit of a straight line to an arbitrary number of bandpasses (ranging from 2 to 99). The integer value of
code
in indexdef.dat indicates the number of bandpasses with a negative sign. The derived indices correspond to the ratio of two fluxes, evaluated at the central wavelength of the reddest and bluest bandpasses.
Although the file indexdef.da*t can be easily edited and modified by any program user to include new index definitions (of the type previously described), it is important to keep the file format in order to guarantee that **indexf* works properly. In order to facilitate this edition, since version 4.1.2 indexf looks first for a file called myindexdef.dat in the current (working) directory. If this file exists, the original indexdef.dat is ignored. So, I recommend the user to create a copy of the original indexdef.dat as myindexdef.dat in the working directory, and to modify the latter when necessary.