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

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

/// UCAC4 Catalogue
///
/// Reference paper:  
/// Zacharias N., et al. 2013, AJ 145, 44
///
/// Original catalogue:  
/// DVD sent by author.
/// Catalogue curator:
/// SSDC - ASI Space Science Data Center
/// https://www.ssdc.asi.it/
#[allow(non_camel_case_types)]
pub struct ucac4_original_valid;

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

/// The columns in the ucac4_original_valid table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
    /// The object type flag is used to identify possible problems with a star
    /// or the source of data.  
    /// The object type flag has the following meaning:  
    ///
    /// -   0 = good, clean star, no known problem
    ///
    /// -   1 = largest flag of any image = near overexposed star
    ///
    /// -   2 = largest flag of any image = possible streak object
    ///
    /// -   3 = high proper motion (HPM) star, match with external PM file
    ///
    /// -   4 = actually use external HPM data instead of UCAC4 observ.data
    ///     (accuracy of positions varies between catalogs)
    ///
    /// -   5 = poor proper motion solution, report only CCD epoch position
    ///
    /// -   6 = substitute poor astrometric results by FK6/Hip/Tycho-2 data
    ///
    /// -   7 = added supplement star (no CCD data) from FK6/Hip/Tycho-2 data,
    ///     and 2 stars added from high proper motion surveys
    ///
    /// -   8 = high proper motion solution in UCAC4, star not matched with
    ///     PPMXL
    ///
    /// -   9 = high proper motion solution in UCAC4, discrepant PM to PPMXL
    objt,
    /// The cdf flag is a combined double star flag used to indicate the
    /// type/quality of double star fit. It is a combination of 2 flags:
    ///
    /// cdf = (10 \cdot dsf) + dst
    ///
    /// where
    ///
    /// dsf = double star flag = overall classification
    ///
    /// -   0 = single star
    ///
    /// -   1 = component #1 of “good” double star
    ///
    /// -   2 = component #2 of “good” double star
    ///
    /// -   3 = blended image
    ///
    /// dst = double star type, from pixel data image profile fits, largest
    /// value of all images used for this star
    ///
    /// -   0 = no double star, not sufficient #pixels or elongation
    ///
    /// -   to even call double star fit subroutine
    ///
    /// -   1 = elongated image but no more than 1 peak detected
    ///
    /// -   2 = 2 separate peaks detected \to try double star fit
    ///
    /// -   3 = secondary peak found on each side of primary
    ///
    /// -   4 = case 1 after successful double fit (small separ. blended image)
    ///
    /// -   5 = case 2 after successful double fit (most likely real double)
    ///
    /// -   6 = case 3 after successful double fit (brighter secondary picked)
    ///
    /// Caution: often a dsf= 1 or 2 image is paired with a dsf= 3. If for a
    /// star any of the several images reveals a “blended image”, that higher
    /// dsf=3 flag is carried into the output file. This can happen for a
    /// regular double star with unique components 1 and 2. A flag dsf=3 means
    /// this could be component 1 or 2 but at least on one CCD frame a blended
    /// image was detected. This blend could be with the other component, or a
    /// spurious image or artifact. The double star flags need to be interpreted
    /// with caution; anything but a zero means “likely some double star
    /// component or blended image”.
    cdf,
    /// Incremental unique numeric identifier (increasing with declination).  
    /// This field was not in the original UCAC4 catalogue, but was added for
    /// cross-match purposes.
    ucac4_oid,
    /// Official UCAC4 star ID, in the following format:  
    /// UCAC4-zzz-nnnnnn  
    /// where zzz is the 3-digit zone number (from 001 to 900, each 0.2 deg
    /// wide) and nnnnnn the 6-digit running record number along the zone file.
    ucac4_identifier,
    /// Right ascension with respect to the ICRS at epoch J2000.0.  
    /// The weighted mean catalog position was updated using the provided proper
    /// motions.  
    /// NB For objects with no proper motions, the positions are at the central
    /// epoch (which actually is UCAC4 mean observation epoch). There are 4 982
    /// 212 stars with no proper motions.
    ra,
    /// Declination with respect to the ICRS, at epoch J2000.0.  
    /// The weighted mean catalog position was updated using the provided proper
    /// motions.  
    /// NB For objects with no proper motions, the positions are at the central
    /// epoch (which actually is UCAC4 mean observation epoch). There are 4 982
    /// 212 stars with no proper motions.
    dec,
    /// There is not 0 mas value; data less than 1 mas have been set to 1 mas.
    /// Original data larger than 255 mas have been set to 255.  
    /// In order to be able to calculate positional errors at any epoch, the
    /// central epoch, i.e. the weighted mean epoch of the data (UCAC + early
    /// epoch other catalogs) is given. At the central epoch (which varies from
    /// star to star and is also different for RA and Dec) the positional error
    /// has its smallest value; the one given in the catalog for “sigma
    /// position”.  
    /// If the astrometric data for a star was substituted from an external
    /// catalog like Hipparcos, Tycho or High proper motion data, a mean error
    /// in position and proper motion depending on the catalog and magnitude of
    /// the star was adopted.  
    /// For stars with no proper motions only the observed CCD position and its
    /// error is reported.
    ra_error_mean_epoch,
    /// There is not 0 mas value; data less than 1 mas have been set to 1 mas.
    /// Original data larger than 255 mas have been set to 255.  
    /// In order to be able to calculate positional errors at any epoch, the
    /// central epoch, i.e. the weighted mean epoch of the data (UCAC + early
    /// epoch other catalogs) is given. At the central epoch (which varies from
    /// star to star and is also different for RA and Dec) the positional error
    /// has its smallest value; the one given in the catalog for “sigma
    /// position”.  
    /// If the astrometric data for a star was substituted from an external
    /// catalog like Hipparcos, Tycho or High proper motion data, a mean error
    /// in position and proper motion depending on the catalog and magnitude of
    /// the star was adopted.  
    /// For stars with no proper motions only the observed CCD position and its
    /// error is reported.
    dec_error_mean_epoch,
    /// Proper motion in RA*cos(Dec).
    pmra,
    /// Proper motion in Declination.
    pmde,
    /// For astrometric data copied from the FK6, Hipparcos and Tycho-2 catalogs
    /// a mean error in positions was adopted depending on input catalog and the
    /// brightness of the star rather than giving the individual star’s error
    /// quoted in those catalogs.
    pmra_error,
    /// For astrometric data copied from the FK6, Hipparcos and Tycho-2 catalogs
    /// a mean error in positions was adopted depending on input catalog and the
    /// brightness of the star rather than giving the individual star’s error
    /// quoted in those catalogs.
    pmde_error,
    /// Central Epoch for mean RA.  
    /// Probably epoch is a Julian epoch expressed as Julian Years with
    /// reference J2000.0. For stars with proper motions, the central epoch,
    /// i.e. the weighted mean epoch of the data (UCAC + early epoch other
    /// catalogs) is given. At the central epoch (which varies from star to star
    /// and is also different for RA and Dec) the positional error has its
    /// smallest value; the one given in the catalog for “sigma position”.  
    /// For stars with no proper motions, the central Epoch is the UCAC4 mean
    /// observation epoch.
    mean_epoch_ra,
    /// Central Epoch for mean DEC.  
    /// Probably epoch is a Julian epoch expressed as Julian Years with
    /// reference J2000.0. For stars with proper motions, the central epoch,
    /// i.e. the weighted mean epoch of the data (UCAC + early epoch other
    /// catalogs) is given. At the central epoch (which varies from star to star
    /// and is also different for RA and Dec) the positional error has its
    /// smallest value; the one given in the catalog for “sigma position”.  
    /// For stars with no proper motions, the central Epoch is the UCAC4 mean
    /// observation epoch.
    mean_epoch_dec,
    /// Fit model magnitude.  
    /// Systematic errors are expected to be below 0.1 mag for magm,maga
    /// photometric results obtained from the UCAC CCD pixel data. The aperture
    /// photometry is considered more robust, particularly for “odd” cases,
    /// while the model fit magnitude is expected to be more accurate for “well
    /// behaved” stars.
    magm,
    /// Aperture magnitude.  
    /// Systematic errors are expected to be below 0.1 mag for magm,maga
    /// photometric results obtained from the UCAC CCD pixel data. The aperture
    /// photometry is considered more robust, particularly for “odd” cases,
    /// while the model fit magnitude is expected to be more accurate for “well
    /// behaved” stars.
    maga,
    /// For many stars a photometric error based on the scatter from individual
    /// observations of that star on different CCD frames could be obtained. A
    /// model error was also attempted to be assigned, based on the S/N ratio.
    /// The error quoted here is the larger of the two.  
    /// If the error exceeds 0.9 mag, the error was set to 0.9 mag in catalog
    /// data.
    sigmag,
    /// Number of catalogs (epoch) used for proper motions.
    n_epochs,
}

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::objt.to_string());
    col_strings.push(Col::cdf.to_string());
    col_strings.push(Col::ucac4_oid.to_string());
    col_strings.push(Col::ucac4_identifier.to_string());
    col_strings.push(Col::ra.to_string());
    col_strings.push(Col::dec.to_string());
    col_strings.push(Col::ra_error_mean_epoch.to_string());
    col_strings.push(Col::dec_error_mean_epoch.to_string());
    col_strings.push(Col::pmra.to_string());
    col_strings.push(Col::pmde.to_string());
    col_strings.push(Col::pmra_error.to_string());
    col_strings.push(Col::pmde_error.to_string());
    col_strings.push(Col::mean_epoch_ra.to_string());
    col_strings.push(Col::mean_epoch_dec.to_string());
    col_strings.push(Col::magm.to_string());
    col_strings.push(Col::maga.to_string());
    col_strings.push(Col::sigmag.to_string());
    col_strings.push(Col::n_epochs.to_string());
    map.insert(ucac4_original_valid.string(), col_strings);
}