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

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

/// This table contains non-single-star models for sources compatible with an Variability Induced Mover (VIM) solution. Several possible models are in principle 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}. For DR3, only VIMF solutions are provided here. 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_vim_fl;

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

/// The columns in the nss_vim_fl 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,
    /// Reference flux in the G band
    ref_flux_g,
    /// VIM coordinate in RA
    vim_d_ra,
    /// Standard error of VIM coordinate in RA
    vim_d_ra_error,
    /// VIM coordinate in DEC
    vim_d_dec,
    /// Standard error of VIM coordinate in DEC
    vim_d_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,
    /// Efficiency of the solution
    efficiency,
    /// 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_vim_fl 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::ref_flux_g.to_string());
    col_strings.push(Col::vim_d_ra.to_string());
    col_strings.push(Col::vim_d_ra_error.to_string());
    col_strings.push(Col::vim_d_dec.to_string());
    col_strings.push(Col::vim_d_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::efficiency.to_string());
    col_strings.push(Col::significance.to_string());
    col_strings.push(Col::flags.to_string());
    map.insert(nss_vim_fl.string(), col_strings);
}