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

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

/// This table contains non-single-star astrometric models for sources having a non-linear proper motion which is compatible with an acceleration solution. Several possible models are hosted within the same table and they are indicated by the field \texttt{nssSolutionType}. The description of this latter lists all possible solution types considered for this release. Only a selection of parameters hosted in this table are provided here, depending on the solution. The details of those is given in the description of field \texttt{bitIndex}, which can also be used to extract the relevant elements of the correlation vector \texttt{corrVec}. Details about the formalism used to derive the parameters in this table are given in the on-line documentation, see Chapter~\ref{chap:cu4nss}.
#[allow(non_camel_case_types)]
pub struct nss_acceleration_astro;

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

/// The columns in the nss_acceleration_astro table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
    /// Solution Identifier
    solution_id,
    /// Source Identifier
    source_id,
    /// NSS model adopted
    nss_solution_type,
    /// Right ascension
    ra,
    /// Standard error of right ascension
    ra_error,
    /// Declination
    dec,
    /// Standard error of declination
    dec_error,
    /// Parallax
    parallax,
    /// Standard error of parallax
    parallax_error,
    /// Proper motion in right ascension direction
    pmra,
    /// Standard error of proper motion in right ascension direction
    pmra_error,
    /// Proper motion in declination direction
    pmdec,
    /// Standard error of proper motion in declination direction
    pmdec_error,
    /// Acceleration in RA
    accel_ra,
    /// Standard error of Acceleration in RA
    accel_ra_error,
    /// Acceleration in DEC
    accel_dec,
    /// Standard error of Acceleration in DEC
    accel_dec_error,
    /// Time derivative of the accel. in RA
    deriv_accel_ra,
    /// Standard error of Time derivative of the acceleration in RA
    deriv_accel_ra_error,
    /// Time derivative of the accel. in DEC
    deriv_accel_dec,
    /// Standard error of Time derivative of the acceleration in DEC
    deriv_accel_dec_error,
    /// Total astrometric CCD observations in AL considered
    astrometric_n_obs_al,
    /// Total astrometric CCD observations in AL actually used
    astrometric_n_good_obs_al,
    /// Boolean mask for the fields above in the corrVec matrix
    bit_index,
    /// Vector form of the upper triangle of the correlation matrix
    corr_vec,
    /// Value of the objective function at the solution
    obj_func,
    /// Goodness of fit in the Hipparcos sense
    goodness_of_fit,
    /// The significance of the solution (i.e. how worth keeping a model is)
    significance,
    /// Quality flag for the achieved NSS solution
    flags,
}

impl Column for Col {}

#[cfg(test)]
/// Collects all the known columns in the nss_acceleration_astro 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::nss_solution_type.to_string());
    col_strings.push(Col::ra.to_string());
    col_strings.push(Col::ra_error.to_string());
    col_strings.push(Col::dec.to_string());
    col_strings.push(Col::dec_error.to_string());
    col_strings.push(Col::parallax.to_string());
    col_strings.push(Col::parallax_error.to_string());
    col_strings.push(Col::pmra.to_string());
    col_strings.push(Col::pmra_error.to_string());
    col_strings.push(Col::pmdec.to_string());
    col_strings.push(Col::pmdec_error.to_string());
    col_strings.push(Col::accel_ra.to_string());
    col_strings.push(Col::accel_ra_error.to_string());
    col_strings.push(Col::accel_dec.to_string());
    col_strings.push(Col::accel_dec_error.to_string());
    col_strings.push(Col::deriv_accel_ra.to_string());
    col_strings.push(Col::deriv_accel_ra_error.to_string());
    col_strings.push(Col::deriv_accel_dec.to_string());
    col_strings.push(Col::deriv_accel_dec_error.to_string());
    col_strings.push(Col::astrometric_n_obs_al.to_string());
    col_strings.push(Col::astrometric_n_good_obs_al.to_string());
    col_strings.push(Col::bit_index.to_string());
    col_strings.push(Col::corr_vec.to_string());
    col_strings.push(Col::obj_func.to_string());
    col_strings.push(Col::goodness_of_fit.to_string());
    col_strings.push(Col::significance.to_string());
    col_strings.push(Col::flags.to_string());
    map.insert(nss_acceleration_astro.string(), col_strings);
}