gaia_access 0.1.4

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

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

/// Orbital parameters and uncertainties computed from the {\tt sso\_observation} astrometric data. The content of the table is described in the DR3 publication \cite{DR3-DPACP-150}.  
#[allow(non_camel_case_types)]
pub struct sso_orbits;

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

/// The columns in the sso_orbits table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
    /// SSO Number
    number_mp,
    /// Solar system object name
    denomination,
    /// Reference epoch for osculating orbit
    osc_epoch,
    /// Mean anomaly
    mean_anomaly,
    /// Argument of perihelion
    arg_perihelion,
    /// Longitude of ascending node
    long_asc_node,
    /// Inclination
    inclination,
    /// Eccentricity
    eccentricity,
    /// Semimajor axis
    semi_major_axis,
    /// var-covar matrix on elliptical elements at reference Epoch
    orbital_elements_var_covar_matrix,
    /// Standard deviation on Semimajor axis
    std_dev_semi_major_axis,
    /// Heliocentric State Vector at reference Epoch
    h_state_vector,
    /// Covariance matrix of the State Vector
    h_state_vector_var_covar_matrix,
    /// Orbital arc length spanned by the observations
    arc_length,
    /// Number of observations
    num_observations,
}

impl Column for Col {}

#[cfg(test)]
/// Collects all the known columns in the sso_orbits table.
pub fn collect_known(map: &mut std::collections::HashMap<String, Vec<String>>) {
    let mut col_strings = Vec::new();
    col_strings.push(Col::number_mp.to_string());
    col_strings.push(Col::denomination.to_string());
    col_strings.push(Col::osc_epoch.to_string());
    col_strings.push(Col::mean_anomaly.to_string());
    col_strings.push(Col::arg_perihelion.to_string());
    col_strings.push(Col::long_asc_node.to_string());
    col_strings.push(Col::inclination.to_string());
    col_strings.push(Col::eccentricity.to_string());
    col_strings.push(Col::semi_major_axis.to_string());
    col_strings.push(Col::orbital_elements_var_covar_matrix.to_string());
    col_strings.push(Col::std_dev_semi_major_axis.to_string());
    col_strings.push(Col::h_state_vector.to_string());
    col_strings.push(Col::h_state_vector_var_covar_matrix.to_string());
    col_strings.push(Col::arc_length.to_string());
    col_strings.push(Col::num_observations.to_string());
    map.insert(sso_orbits.string(), col_strings);
}