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 gaia_crf3_xm table.

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

/// This table contains the full cross-match information for the Gaia-CRF3
/// sources. The Gaia-CRF3 sources were selected from the cross-matches
/// with 17 external QSO catalogues as detailed below (three of which are parts of ICRF3 described in the first paper).
/// For each Gaia-CRF3 source
/// the information in which external catalogue this source was found and
/// which name(s) this source has in those external catalogues is provided. The table
/// allows the user to get all sources from an external catalogue that
/// are in Gaia-CRF3.
///
/// The external catalogues from which the Gaia-CRF3 sources were compiled are:
/// \begin{itemize}
/// \item The third realization of the International Celestial Reference Frame by very long baseline interferometry \citep{2020A&A...644A.159C}
/// \item A New Version of the OCARS Catalogue of Optical Characteristics of Astrometric Radio Sources \citep{2018ApJS..239...20M} (the catalogue downloaded from \url{http://www.gaoran.ru/english/as/ac_vlbi/#OCARS} on 17 June 2020)
/// \item Identification of 1.4 Million Active Galactic Nuclei in the Mid-Infrared using WISE Data \citep{2015ApJS..221...12S}
/// \item The WISE AGN Catalogue \citep{2018ApJS..234...23A}
/// \item The Million Quasars (Milliquas) Catalogue, v6.4 \citep{2019arXiv191205614F} with the v6.5 (2020) update
/// \item The Sloan Digital Sky Survey Quasar Catalogue: Fourteenth data release \citep{2018A&A...613A..51P}
/// \item LQAC-5: The fifth release of the Large Quasar Astrometric Catalogue. A compilation of 592 809 objects with 398 697 Gaia counterparts \citep{2019A&A...624A.145S}
/// \item The Large Sky Area Multi-object Fiber Spectroscopic Telescope (LAMOST) Quasar Survey: The Fourth and Fifth Data Releases \citep{2019ApJS..240....6Y} -- see also \url{https://nadc.china-vo.org/data/article/20190107155838}
/// \item The large quasar reference frame (LQRF). An optical representation of the ICRS \citep{2009A&A...505..385A}
/// \item The 2dF QSO Redshift Survey - XII. The spectroscopic catalogue and luminosity function \citep{2004MNRAS.349.1397C}
/// \item The 5th edition of the Roma-BZCAT \citep{2015Ap&SS.357...75M}
/// \item 2WHSP: A multi-frequency selected catalogue of high energy and very high energy {\ensuremath{\gamma}}-ray blazars and blazar candidates \citep{2017A&A...598A..17C}
/// \item ALMA photometry of extragalactic radio sources \citep{2019MNRAS.485.1188B}
/// \item Catalogues of active galactic nuclei from Gaia and unWISE data \citep{2019MNRAS.489.4741S}
/// \item Quasar and galaxy classification in Gaia Data Release 2 \citep{2019MNRAS.490.5615B}
/// \end{itemize}
///
#[allow(non_camel_case_types)]
pub struct gaia_crf3_xm;

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

/// The columns in the gaia_crf3_xm table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
    /// Solution Identifier
    solution_id,
    /// Gaia source identifier
    source_id,
    /// The flag describing if the Gaia-CRF3 source was found in ICRF3 S/X
    icrf3sx,
    /// The flag describing if the Gaia-CRF3 source was found in ICRF3 K
    icrf3k,
    /// The flag describing if the Gaia-CRF3 source was found in ICRF3 X/Ka
    icrf3xka,
    /// The ICRF name of the source
    icrf_name,
    /// The IERS name of the source
    iers_name,
    /// The flag describing if the Gaia-CRF3 source was found in OCARS
    ocars,
    /// The name for this source in OCARS
    ocars_name,
    /// The flag describing if the Gaia-CRF3 source was found in allWISE
    aw15,
    /// The name for this source in allWISE
    aw15_name,
    /// The flag describing if the Gaia-CRF3 source was found in the catalogue R90
    r90,
    /// The name for this source in R90
    r90_name,
    /// The flag describing if the Gaia-CRF3 source was found in Milliquas v6.5
    m65,
    /// The name for this source in Milliquas v6.5
    m65_name,
    /// The flag describing if the Gaia-CRF3 source was found in the catalogue C75
    c75,
    /// The name for this source in C75
    c75_name,
    /// The flag describing if the Gaia-CRF3 source was found in the catalogue SDSS DR14Q
    dr14q,
    /// The name for this source in SDSS DR14Q
    dr14q_name,
    /// The flag describing if the Gaia-CRF3 source was found in LQAC-5
    lqac5,
    /// The name for this source in LQAC-5
    lqac5_name,
    /// The flag describing if the Gaia-CRF3 source was found in the LAMOST QSO catalogue
    lamost5,
    /// The name for this source in the LAMOST QSO catalogue
    lamost5_name,
    /// The flag describing if the Gaia-CRF3 source was found in LQRF
    lqrf,
    /// The name for this source in LQRF
    lqrf_name,
    /// The flag describing if the Gaia-CRF3 source was found in 2QZ
    cat2qz,
    /// The name for this source in 2QZ
    cat2qz_name,
    /// The flag describing if the Gaia-CRF3 source was found in Roma-BZCAT, v5
    bzcat5,
    /// The name for this source in Roma-BZCAT, v5
    bzcat5_name,
    /// The flag describing if the Gaia-CRF3 source was found in 2WHSPJ
    cat2whspj,
    /// The name for this source in 2WHSPJ
    cat2whspj_name,
    /// The flag describing if the Gaia-CRF3 source was found in the ALMA calibrator catalogue
    alma19,
    /// The name for this source in the ALMA calibrator catalogue
    alma19_name,
    /// The flag describing if the Gaia-CRF3 source was found in Gaia-unWISE
    guw,
    /// The name for this source in Gaia-unWISE
    guw_name,
    /// The flag describing if the Gaia-CRF3 source was found in the Gaia DR2 quasar and galaxy classification catalogue
    b19,
    /// The name for this source in the Gaia DR2 quasar and galaxy classification catalogue
    b19_name,
}

impl Column for Col {}

#[cfg(test)]
/// Collects all the known columns in the gaia_crf3_xm table.
pub fn collect_known(map: &mut std::collections::HashMap<String, Vec<String>>) {
    let mut col_strings = Vec::new();
    col_strings.push(Col::solution_id.to_string());
    col_strings.push(Col::source_id.to_string());
    col_strings.push(Col::icrf3sx.to_string());
    col_strings.push(Col::icrf3k.to_string());
    col_strings.push(Col::icrf3xka.to_string());
    col_strings.push(Col::icrf_name.to_string());
    col_strings.push(Col::iers_name.to_string());
    col_strings.push(Col::ocars.to_string());
    col_strings.push(Col::ocars_name.to_string());
    col_strings.push(Col::aw15.to_string());
    col_strings.push(Col::aw15_name.to_string());
    col_strings.push(Col::r90.to_string());
    col_strings.push(Col::r90_name.to_string());
    col_strings.push(Col::m65.to_string());
    col_strings.push(Col::m65_name.to_string());
    col_strings.push(Col::c75.to_string());
    col_strings.push(Col::c75_name.to_string());
    col_strings.push(Col::dr14q.to_string());
    col_strings.push(Col::dr14q_name.to_string());
    col_strings.push(Col::lqac5.to_string());
    col_strings.push(Col::lqac5_name.to_string());
    col_strings.push(Col::lamost5.to_string());
    col_strings.push(Col::lamost5_name.to_string());
    col_strings.push(Col::lqrf.to_string());
    col_strings.push(Col::lqrf_name.to_string());
    col_strings.push(Col::cat2qz.to_string());
    col_strings.push(Col::cat2qz_name.to_string());
    col_strings.push(Col::bzcat5.to_string());
    col_strings.push(Col::bzcat5_name.to_string());
    col_strings.push(Col::cat2whspj.to_string());
    col_strings.push(Col::cat2whspj_name.to_string());
    col_strings.push(Col::alma19.to_string());
    col_strings.push(Col::alma19_name.to_string());
    col_strings.push(Col::guw.to_string());
    col_strings.push(Col::guw_name.to_string());
    col_strings.push(Col::b19.to_string());
    col_strings.push(Col::b19_name.to_string());
    map.insert(gaia_crf3_xm.string(), col_strings);
}