// 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);
}