gaia_access 0.1.1

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

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

/// Solar System object observations. Each table line contains data obtained during the transit of the source on a single CCD, during a single transit. The corresponding epoch is provided. Data not varying within the transit are repeated identically for all single observations of that transit.
#[allow(non_camel_case_types)]
pub struct sso_observation;

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

/// The columns in the sso_observation 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,
    /// standard MPC denomination of the asteroid
    denomination,
    /// Transit Identifier
    transit_id,
    /// Observation Identifier
    observation_id,
    /// Minor Planet number
    number_mp,
    /// Gaia-Centric epoch TCB(Gaia)
    epoch,
    /// Error in Gaia-Centric epoch
    epoch_err,
    /// Gaia-Centric TCB epoch converted to UTC
    epoch_utc,
    /// Right ascension of the source
    ra,
    /// Declination of the source
    dec,
    /// Standard error of right ascension, systematic
    ra_error_systematic,
    /// Standard error of declination, systematic
    dec_error_systematic,
    /// Correlation of ra and dec errors, systematic
    ra_dec_correlation_systematic,
    /// Standard error of right ascension, random
    ra_error_random,
    /// Standard error of declination, random
    dec_error_random,
    /// Correlation of ra and dec errors, random
    ra_dec_correlation_random,
    /// Barycentric x position of Gaia
    x_gaia,
    /// Barycentric y position of Gaia
    y_gaia,
    /// Barycentric z position of Gaia
    z_gaia,
    /// Barycentric x velocity of Gaia
    vx_gaia,
    /// Barycentric y velocity of Gaia
    vy_gaia,
    /// Barycentric z velocity of Gaia
    vz_gaia,
    /// Geocentric x position of Gaia
    x_gaia_geocentric,
    /// Geocentric y position of Gaia
    y_gaia_geocentric,
    /// Geocentric z position of Gaia
    z_gaia_geocentric,
    /// Geocentric x velocity of Gaia
    vx_gaia_geocentric,
    /// Geocentric y velocity of Gaia
    vy_gaia_geocentric,
    /// Geocentric z velocity of Gaia
    vz_gaia_geocentric,
    /// Position angle of the scanning direction
    position_angle_scan,
    /// Result of processing the CCDs
    astrometric_outcome_ccd,
    /// Result of processing the transit
    astrometric_outcome_transit,
    /// Field of view
    fov,
    /// Flag indicating if rejected by the orbital fit
    is_rejected,
}

impl Column for Col {}

#[cfg(test)]
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::denomination.to_string());
    col_strings.push(Col::transit_id.to_string());
    col_strings.push(Col::observation_id.to_string());
    col_strings.push(Col::number_mp.to_string());
    col_strings.push(Col::epoch.to_string());
    col_strings.push(Col::epoch_err.to_string());
    col_strings.push(Col::epoch_utc.to_string());
    col_strings.push(Col::ra.to_string());
    col_strings.push(Col::dec.to_string());
    col_strings.push(Col::ra_error_systematic.to_string());
    col_strings.push(Col::dec_error_systematic.to_string());
    col_strings.push(Col::ra_dec_correlation_systematic.to_string());
    col_strings.push(Col::ra_error_random.to_string());
    col_strings.push(Col::dec_error_random.to_string());
    col_strings.push(Col::ra_dec_correlation_random.to_string());
    col_strings.push(Col::x_gaia.to_string());
    col_strings.push(Col::y_gaia.to_string());
    col_strings.push(Col::z_gaia.to_string());
    col_strings.push(Col::vx_gaia.to_string());
    col_strings.push(Col::vy_gaia.to_string());
    col_strings.push(Col::vz_gaia.to_string());
    col_strings.push(Col::x_gaia_geocentric.to_string());
    col_strings.push(Col::y_gaia_geocentric.to_string());
    col_strings.push(Col::z_gaia_geocentric.to_string());
    col_strings.push(Col::vx_gaia_geocentric.to_string());
    col_strings.push(Col::vy_gaia_geocentric.to_string());
    col_strings.push(Col::vz_gaia_geocentric.to_string());
    col_strings.push(Col::position_angle_scan.to_string());
    col_strings.push(Col::astrometric_outcome_ccd.to_string());
    col_strings.push(Col::astrometric_outcome_transit.to_string());
    col_strings.push(Col::fov.to_string());
    col_strings.push(Col::is_rejected.to_string());
    map.insert(sso_observation.string(), col_strings);
}