gaia_access 0.2.0

Access the Gaia ESA Archive for astronomical data.
Documentation
// This code is generated by generate_code.py, do not modify it manually.

//! This module contains all the known columns in the galex_ais table.

use crate::traits::{Column, Table};

/// The revised GALEX catalogue of UV sources (GUVcat_AIS) from GR6plus7 data release. The Galaxy Evolution Explorer (GALEX) imaged the sky in two ultraviolet (UV) bands: far-UV (FUV) and near-UV (NUV), providing the first comprehensive UV sky surveys. The GALEX database includes FUV and NUV images, ~500 million source measurements, and over 100,000 low-resolution UV spectra. This catalogue presents science-enhanced, "clean" lists of GALEX UV sources, with useful tags to facilitate scientific investigations. Sources within the footprint of extended objects (such as nearby galaxies and stellar clusters) are flagged, allowing for the exclusion of these regions when estimating source density. Duplicate measurements of the same source are removed in GUVcat, ensuring each astrophysical object has only one entry. The catalogue includes all observations from the All-Sky Imaging Survey (AIS), the largest area-covered survey with both FUV and NUV detectors exposed. It consists of over 28,700 fields, comprising a total of 57,000 observations. The total number of "unique" AIS sources is 82,992,086 (GUVcatAISfov055) and 69,772,677 (GUVcatAISfov050). The typical depth of the GUVcat_AIS catalogue is FUV = 19.9 AB mag and NUV = 20.8 AB mag. Table copied from TAP VizieR http://tapvizier.u-strasbg.fr/TAPVizieR/, VizieR catalogue: II/335/galex_ais. Reference paper: https://ui.adsabs.harvard.edu/abs/2017ApJS..230...24B/abstract (DOI: 10.3847/1538-4365/aa7053)
#[allow(non_camel_case_types)]
pub struct galex_ais;

impl Table for galex_ais {
    fn string(&self) -> String {
        "galex_ais".to_string()
    }
}

/// The columns in the galex_ais table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
    /// Source's right ascension (J2000) (RA)
    raj2000,
    /// Source's declination (J2000) (DEC)
    dej2000,
    /// GALEX identifier in JHHMMSS.s+DDMMSS format; column added by CDS
    name,
    /// GALEX identifier for the source (objid)
    objid,
    /// Pointer to photoExtract Table (id of original observation on which the measurement was taken) (photoextractid)
    phid,
    /// Survey type (always "AIS" = All-sky Imaging Survey) (mpstype)
    cat,
    /// RA of center of field (avaspra)
    rafdeg,
    /// DE of center of field (avaspdec)
    defdeg,
    /// [30/709] FUV exposure time
    fuvexp,
    /// [30/1134] NUV exposure time
    nuvexp,
    /// Galactic longitude
    glon,
    /// Galactic latitude
    glat,
    /// [50000/50491] Tile number (tilenum)
    tile,
    /// [33/3172] Image number (img)
    img,
    /// [1/99] Number of subvisit if exposure was divided (subvisit)
    sv,
    /// [/0.6] Distance of source from center of the field (fov_radius)
    r_fov,
    /// [1] Observation type (1=multi) (type)
    obs,
    /// [1/3] bands: 1=NUV, 2=FUV, 3=both (band)
    b,
    /// [0.0007/0.5] E(B-V) Galactic Reddening (from Schlegel+ 1998ApJ...500..525S maps) (E_bv)
    e_b_v,
    /// [0/1] 1 if a spectrum exists (istherespectrum)
    sp_,
    /// [0/1] Astrometry check type (chkobj_type)
    chkf,
    /// [10.6/23.8]? GALEX FUV calibrated magnitude in AB system (fuv_mag)
    fuvmag,
    /// [0.001/0.6]? FUV mag error (fuv_magerr)
    e_fuvmag,
    /// [9.6/24.5] GALEX NUV calibrated magnitude in AB system (nuv_mag)
    nuvmag,
    /// [0.0007/0.5] NUV mag error (nuv_magerr)
    e_nuvmag,
    /// [-8.2/5]? FUV Kron-like elliptical aperture magnitude (fuv_mag_auto)
    fuv_a,
    /// [0.001/0.6]? FUV RMS error for AUTO magnitude (fuv_magerr_auto)
    e_fuv_a,
    /// [-10.5/4.4] NUV Kron-like elliptical aperture magnitude (nuv_mag_auto)
    nuv_a,
    /// [0.0007/0.5] NUV RMS error for AUTO magnitude (nuv_magerr_auto)
    e_nuv_a,
    /// [-7.2/99]? FUV mag aperture (8 pix diameter) (fuv_mag_aper_4)
    fuv_4,
    /// [0.002/4911]? FUV mag aperture error (8 pix diameter) (fuv_magerr_aper_4)
    e_fuv_4,
    /// [-7.5/99] NUV mag aperture (8 pix diameter) (nuv_mag_aper_4)
    nuv_4,
    /// [0.001/2559] NUV mag aperture error (8 pix diameter) (nuv_magerr_aper_4)
    e_nuv_4,
    /// [-7.4/99]? FUV mag aperture (17 pix diameter) (fuv_mag_aper_6)
    fuv_6,
    /// [0.001/37286]? FUV mag aperture error (17 pix diameter) (fuv_magerr_aper_6)
    e_fuv_6,
    /// [-8.3/99] NUV mag aperture (17 pix diameter) (nuv_mag_aper_6)
    nuv_6,
    /// [0.001/15473111] NUV mag aperture error (17 pix diameter) (nuv_magerr_aper_6)
    e_nuv_6,
    /// [0/416]? FUV artifact flag (logical OR near source) (fuv_artifact)
    fafl,
    /// [0/913] NUV artifact flag (logical OR near source) (nuv_artifact)
    nafl,
    /// [0/19]? Extraction flags for FUV band (fuv_flags)
    fexf,
    /// [0/51] Extraction flags for NUV band (nuv_flags)
    nexf,
    /// [1/201899]? FUV calibrated flux (fuv_flux)
    fflux,
    /// [0.5/18719]? FUV flux error (fuv_fluxerr)
    e_fflux,
    /// [0.6/202886] NUV calibrated flux (nuv_flux)
    nflux,
    /// [0.2/3649] NUV flux error (nuv_fluxerr)
    e_nflux,
    /// ? Source position in FUV image along x (fuv_x_image)
    fxpos,
    /// ? Source position in UV image along y (fuv_y_image)
    fypos,
    /// Source position in NUV image along x (nuv_x_image)
    nxpos,
    /// Source position in NUV image along y (nuv_y_image)
    nypos,
    /// ? Source FWHM in FUV assuming a gaussian core (fuv_fwhm_image)
    fima,
    /// Source FWHM in NUV assuming a gaussian core (nuv_fwhm_image)
    nima,
    /// [-0.2/0.3]? Source FWHM in FUV assuming a gaussian core (fuv_fwhm_world)
    fr,
    /// [-0.1/0.5] Source FWHM in NUV assuming a gaussian core (nuv_fwhm_world)
    nr,
    /// Star/galaxy classifier from NUV (nuv_class_star)
    ns_g,
    /// ? Star/galaxy classifier from FUV (fuv_class_star)
    fs_g,
    /// 1-b/a in NUV (nuv_ellipticity)
    nell,
    /// ? 1-b/a in FUV (fuv_ellipticity)
    fell,
    /// Position angle in NUV (nuv_theta_j2000)
    npa,
    /// [-90/] Position angle error in NUV (nuv_errtheta_j2000)
    e_npa,
    /// ? Position angle in FUV (fuv_theta_j2000)
    fpa,
    /// [-90/]? Position angle error in FUV (fuv_errtheta_j2000)
    e_fpa,
    /// [/965]? FUV FWHM IMAGE value from -fd-ncat.fits (fuv_ncat_fwhm_image) (4)
    fnr,
    /// [/1.98E7]? FUV flux radius (fuv_ncat_flux_rad_3) (4)
    f3r,
    /// [3.5/13.2] Kron apertures in units of a or b (nuv_kron_radius)
    nar,
    /// [0.0002/0.1] Profile RMS along major axis (nuv_a_world)
    narms,
    /// [0.00004/0.06] Profile RMS along minor axis (nuv_b_world)
    nbrms,
    /// [3.5/11]? Kron apertures in units of a or b (fuv_kron_radius)
    far,
    /// [0.0002/0.06]? Profile RMS along major axis (fuv_a_world)
    farms,
    /// [0.0001/0.03]? Profile RMS along minor axis (fuv_b_world)
    fbrms,
    /// [0/964] NUV effective exposure (flat-field response value) at the source position (nuv_weight)
    nuvw,
    /// [0/700] FUV effective exposure (fuv_weight)
    fuvw,
    /// ? Probability of the FUVxNUV match (prob)
    prob,
    /// [0/7.1]? Separation between FUV and NUV position of the source in the same observation (sep)
    sep,
    /// [0.4/3.3] Position error of the source in the NUV image (nuv_poserr)
    nerr,
    /// [0.4/2.4]? Position error of the source in the FUV image (fuv_poserr)
    ferr,
    /// [0.4/3.4]? Inter-band position error (ib_poserr)
    ierr,
    /// [0.001/2.8] NUV Poisson position error (nuv_pperr)
    nperr,
    /// [0.001/1.6]? FUV Poisson position error (fuv_pperr)
    fperr,
    /// [CV] Whether the source comes from a coadd or visit (corv)
    cv,
    /// [-1/1] Neighbours rank (grank) (1)
    g,
    /// [1/12] Number of sources within 2.5", if this is a primary (ngrank)
    n,
    /// objid of the primary (only of use for the "plus" catalog) (primgid)
    primid,
    /// objid's of all sources (AIS) within 2.5", concatenated by "+" (groupgid)
    groupid,
    /// [-1/1] as for "G" (grank), but based on distance criterion (grankdist) (1)
    gd,
    /// [1/12] as for "N" (ngrank), but based on distance criterion (ngrankdist)
    nd,
    /// objid of the closest primary, based on distance criterion (primgiddist)
    primidd,
    /// objid's of all sources (AIS) within 2.5", based on distance criterion (groupgiddist)
    groupidd,
    /// objid's of all sources within 2.5" (groupgidtot)
    grouptot,
    /// Extended object? (if not: "N") (inlargeobj) (2)
    oname,
    /// [/38740]? Size of the extended object (largeobjsize) (3)
    #[strum(serialize = "\"size\"")]
    size,
}

impl Column for Col {}

#[cfg(test)]
/// Collects all the known columns in the galex_ais table.
pub fn collect_known(map: &mut std::collections::HashMap<String, Vec<String>>) {
    let mut col_strings = Vec::new();
    col_strings.push(Col::raj2000.to_string());
    col_strings.push(Col::dej2000.to_string());
    col_strings.push(Col::name.to_string());
    col_strings.push(Col::objid.to_string());
    col_strings.push(Col::phid.to_string());
    col_strings.push(Col::cat.to_string());
    col_strings.push(Col::rafdeg.to_string());
    col_strings.push(Col::defdeg.to_string());
    col_strings.push(Col::fuvexp.to_string());
    col_strings.push(Col::nuvexp.to_string());
    col_strings.push(Col::glon.to_string());
    col_strings.push(Col::glat.to_string());
    col_strings.push(Col::tile.to_string());
    col_strings.push(Col::img.to_string());
    col_strings.push(Col::sv.to_string());
    col_strings.push(Col::r_fov.to_string());
    col_strings.push(Col::obs.to_string());
    col_strings.push(Col::b.to_string());
    col_strings.push(Col::e_b_v.to_string());
    col_strings.push(Col::sp_.to_string());
    col_strings.push(Col::chkf.to_string());
    col_strings.push(Col::fuvmag.to_string());
    col_strings.push(Col::e_fuvmag.to_string());
    col_strings.push(Col::nuvmag.to_string());
    col_strings.push(Col::e_nuvmag.to_string());
    col_strings.push(Col::fuv_a.to_string());
    col_strings.push(Col::e_fuv_a.to_string());
    col_strings.push(Col::nuv_a.to_string());
    col_strings.push(Col::e_nuv_a.to_string());
    col_strings.push(Col::fuv_4.to_string());
    col_strings.push(Col::e_fuv_4.to_string());
    col_strings.push(Col::nuv_4.to_string());
    col_strings.push(Col::e_nuv_4.to_string());
    col_strings.push(Col::fuv_6.to_string());
    col_strings.push(Col::e_fuv_6.to_string());
    col_strings.push(Col::nuv_6.to_string());
    col_strings.push(Col::e_nuv_6.to_string());
    col_strings.push(Col::fafl.to_string());
    col_strings.push(Col::nafl.to_string());
    col_strings.push(Col::fexf.to_string());
    col_strings.push(Col::nexf.to_string());
    col_strings.push(Col::fflux.to_string());
    col_strings.push(Col::e_fflux.to_string());
    col_strings.push(Col::nflux.to_string());
    col_strings.push(Col::e_nflux.to_string());
    col_strings.push(Col::fxpos.to_string());
    col_strings.push(Col::fypos.to_string());
    col_strings.push(Col::nxpos.to_string());
    col_strings.push(Col::nypos.to_string());
    col_strings.push(Col::fima.to_string());
    col_strings.push(Col::nima.to_string());
    col_strings.push(Col::fr.to_string());
    col_strings.push(Col::nr.to_string());
    col_strings.push(Col::ns_g.to_string());
    col_strings.push(Col::fs_g.to_string());
    col_strings.push(Col::nell.to_string());
    col_strings.push(Col::fell.to_string());
    col_strings.push(Col::npa.to_string());
    col_strings.push(Col::e_npa.to_string());
    col_strings.push(Col::fpa.to_string());
    col_strings.push(Col::e_fpa.to_string());
    col_strings.push(Col::fnr.to_string());
    col_strings.push(Col::f3r.to_string());
    col_strings.push(Col::nar.to_string());
    col_strings.push(Col::narms.to_string());
    col_strings.push(Col::nbrms.to_string());
    col_strings.push(Col::far.to_string());
    col_strings.push(Col::farms.to_string());
    col_strings.push(Col::fbrms.to_string());
    col_strings.push(Col::nuvw.to_string());
    col_strings.push(Col::fuvw.to_string());
    col_strings.push(Col::prob.to_string());
    col_strings.push(Col::sep.to_string());
    col_strings.push(Col::nerr.to_string());
    col_strings.push(Col::ferr.to_string());
    col_strings.push(Col::ierr.to_string());
    col_strings.push(Col::nperr.to_string());
    col_strings.push(Col::fperr.to_string());
    col_strings.push(Col::cv.to_string());
    col_strings.push(Col::g.to_string());
    col_strings.push(Col::n.to_string());
    col_strings.push(Col::primid.to_string());
    col_strings.push(Col::groupid.to_string());
    col_strings.push(Col::gd.to_string());
    col_strings.push(Col::nd.to_string());
    col_strings.push(Col::primidd.to_string());
    col_strings.push(Col::groupidd.to_string());
    col_strings.push(Col::grouptot.to_string());
    col_strings.push(Col::oname.to_string());
    col_strings.push(Col::size.to_string());
    map.insert(galex_ais.string(), col_strings);
}