1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
// This code is generated by generate_code.py, do not modify it manually.
//! This module contains all the known columns in the vari_rrlyrae table.
use crate::traits::{Column, Table};
/// This table describes the RR Lyrae stars.
#[allow(non_camel_case_types)]
pub struct vari_rrlyrae;
impl Table for vari_rrlyrae {
fn string(&self) -> String {
"vari_rrlyrae".to_string()
}
}
/// The columns in the vari_rrlyrae table.
#[allow(non_camel_case_types)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, strum::Display)]
pub enum Col {
/// Solution Identifier
solution_id,
/// Unique source identifier
source_id,
/// Period corresponding to the fundamental pulsation mode in the G band time series
pf,
/// Uncertainty of the \texttt{pf} period
pf_error,
/// Period corresponding to the first overtone pulsation mode in the G band time series
p1_o,
/// Uncertainty of the \texttt{p1O} period
p1_o_error,
/// Epoch of the maximum of the light curve in the G band
epoch_g,
/// Uncertainty on the epoch parameter \texttt{epochG}
epoch_g_error,
/// Epoch of the maximum of the light curve in the BP band
epoch_bp,
/// Uncertainty on the epoch parameter \texttt{epochBp}
epoch_bp_error,
/// Epoch of the maximum of the light curve in the RP band
epoch_rp,
/// Uncertainty on the epoch parameter \texttt{epochRp}
epoch_rp_error,
/// Epoch of the minimum of the radial velocity curve
epoch_rv,
/// Uncertainty on the epoch parameter \texttt{epochRv}
epoch_rv_error,
/// Intensity-averaged magnitude in the G band
int_average_g,
/// Uncertainty on \texttt{intAverageG} parameter
int_average_g_error,
/// Intensity-averaged magnitude in the BP band
int_average_bp,
/// Uncertainty on \texttt{intAverageBp} parameter
int_average_bp_error,
/// Intensity-averaged magnitude in the RP band
int_average_rp,
/// Uncertainty on \texttt{intAverageRp} parameter
int_average_rp_error,
/// Mean radial velocity
average_rv,
/// Uncertainty on \texttt{averageRv} parameter
average_rv_error,
/// Peak-to-peak amplitude of the G band light curve
peak_to_peak_g,
/// Uncertainty on the \texttt{peakToPeakG} parameter
peak_to_peak_g_error,
/// Peak-to-peak amplitude of the BP band light curve
peak_to_peak_bp,
/// Uncertainty on the \texttt{peakToPeakBp} parameter
peak_to_peak_bp_error,
/// Peak-to-peak amplitude of the RP band light curve
peak_to_peak_rp,
/// Uncertainty on the \texttt{peakToPeakRp} parameter
peak_to_peak_rp_error,
/// Peak-to-peak amplitude of the radial velocity curve
peak_to_peak_rv,
/// Uncertainty on the \texttt{peakToPeakRv} parameter
peak_to_peak_rv_error,
/// Metallicity of the star from the Fourier parameters of the light curve
metallicity,
/// Uncertainty of the \texttt{metallicity} parameter
metallicity_error,
/// Fourier decomposition parameter \texttt{r21G}: A2/A1 (for G band)
r21_g,
/// Uncertainty on the \texttt{r21G} parameter: A2/A1 (for G band)
r21_g_error,
/// Fourier decomposition parameter \texttt{r31G}: A3/A1 (for G band)
r31_g,
/// Uncertainty on the \texttt{r31G} parameter: A3/A1 (for G band)
r31_g_error,
/// Fourier decomposition parameter \texttt{phi21G}: phi2 - 2*phi1 (for G band)
phi21_g,
/// Uncertainty on the \texttt{phi21G} parameter: phi2 - 2*phi1 (for G band)
phi21_g_error,
/// Fourier decomposition parameter \texttt{phi31G}: phi3 - 3*phi1 (for G band)
phi31_g,
/// Uncertainty on the \texttt{phi31G} parameter: phi3 - 3*phi1 (for G band)
phi31_g_error,
/// Number of G FoV epochs used in the fitting algorithm
num_clean_epochs_g,
/// Number of BP epochs used in the fitting algorithm
num_clean_epochs_bp,
/// Number of RP epochs used in the fitting algorithm
num_clean_epochs_rp,
/// Number of radial velocity epochs used in the fitting algorithm
num_clean_epochs_rv,
/// Zero point (mag) of the final model of the G band light curve
zp_mag_g,
/// Zero point (mag) of the final model of the BP band light curve
zp_mag_bp,
/// Zero point (mag) of the final model of the RP band light curve
zp_mag_rp,
/// Number of harmonics used to model the first periodicity of the G-band light curve
num_harmonics_for_p1_g,
/// Number of harmonics used to model the first periodicity of the BP-band light curve
num_harmonics_for_p1_bp,
/// Number of harmonics used to model the first periodicity of the RP-band light curve
num_harmonics_for_p1_rp,
/// Number of harmonics used to model the first periodicity of the radial velocity curve
num_harmonics_for_p1_rv,
/// Reference time of the Fourier modelled G-band light curve
reference_time_g,
/// Reference time of the Fourier modelled BP-band light curve
reference_time_bp,
/// Reference time of the Fourier modelled RP-band light curve
reference_time_rp,
/// Reference time of the Fourier modelled radial velocity curve
reference_time_rv,
/// First frequency of the non-linear Fourier modelling
fund_freq1,
/// Error of the first frequency of the non-linear Fourier modelling
fund_freq1_error,
/// Second frequency of the non-linear Fourier modelling in the G band
fund_freq2,
/// Error of the second frequency of the non-linear Fourier modelling in the G band
fund_freq2_error,
/// Amplitudes of the Fourier model for the first frequency in the G band
fund_freq1_harmonic_ampl_g,
/// Errors of the amplitudes of the Fourier model for the first frequency in the G band
fund_freq1_harmonic_ampl_g_error,
/// Phases of the Fourier model for the first frequency in the G band
fund_freq1_harmonic_phase_g,
/// Errors of the phases of the Fourier model for the first frequency in the G band
fund_freq1_harmonic_phase_g_error,
/// Amplitudes of the Fourier model for the first frequency in the BP band
fund_freq1_harmonic_ampl_bp,
/// Errors of the amplitudes of the Fourier model for the first frequency in the BP band
fund_freq1_harmonic_ampl_bp_error,
/// Phases of the Fourier model for the first frequency in the BP band
fund_freq1_harmonic_phase_bp,
/// Errors of the phases of the Fourier model for the first frequency in the BP band
fund_freq1_harmonic_phase_bp_error,
/// Amplitudes of the Fourier model for the first frequency in the RP band
fund_freq1_harmonic_ampl_rp,
/// Errors of the amplitudes of the Fourier model for the first frequency in the RP band
fund_freq1_harmonic_ampl_rp_error,
/// Phases of the Fourier model for the first frequency in the RP band
fund_freq1_harmonic_phase_rp,
/// Errors of the phases of the Fourier model for the first frequency in the RP band
fund_freq1_harmonic_phase_rp_error,
/// Amplitudes of the Fourier model for the first frequency of the radial velocity curve
fund_freq1_harmonic_ampl_rv,
/// Errors of the amplitudes of the Fourier model for the first frequency of the radial velocity curve
fund_freq1_harmonic_ampl_rv_error,
/// Phases of the Fourier model for the first frequency of the radial velocity curve
fund_freq1_harmonic_phase_rv,
/// Errors of the phases of the Fourier model for the first frequency of the radial velocity curve
fund_freq1_harmonic_phase_rv_error,
/// Best RR Lyrae classification estimate out of: {`RRc, `RRab, `RRd}
best_classification,
/// Interstellar absorption in the G-band
g_absorption,
/// Error on the interstellar absorption in the G-band
g_absorption_error,
}
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::pf.to_string());
col_strings.push(Col::pf_error.to_string());
col_strings.push(Col::p1_o.to_string());
col_strings.push(Col::p1_o_error.to_string());
col_strings.push(Col::epoch_g.to_string());
col_strings.push(Col::epoch_g_error.to_string());
col_strings.push(Col::epoch_bp.to_string());
col_strings.push(Col::epoch_bp_error.to_string());
col_strings.push(Col::epoch_rp.to_string());
col_strings.push(Col::epoch_rp_error.to_string());
col_strings.push(Col::epoch_rv.to_string());
col_strings.push(Col::epoch_rv_error.to_string());
col_strings.push(Col::int_average_g.to_string());
col_strings.push(Col::int_average_g_error.to_string());
col_strings.push(Col::int_average_bp.to_string());
col_strings.push(Col::int_average_bp_error.to_string());
col_strings.push(Col::int_average_rp.to_string());
col_strings.push(Col::int_average_rp_error.to_string());
col_strings.push(Col::average_rv.to_string());
col_strings.push(Col::average_rv_error.to_string());
col_strings.push(Col::peak_to_peak_g.to_string());
col_strings.push(Col::peak_to_peak_g_error.to_string());
col_strings.push(Col::peak_to_peak_bp.to_string());
col_strings.push(Col::peak_to_peak_bp_error.to_string());
col_strings.push(Col::peak_to_peak_rp.to_string());
col_strings.push(Col::peak_to_peak_rp_error.to_string());
col_strings.push(Col::peak_to_peak_rv.to_string());
col_strings.push(Col::peak_to_peak_rv_error.to_string());
col_strings.push(Col::metallicity.to_string());
col_strings.push(Col::metallicity_error.to_string());
col_strings.push(Col::r21_g.to_string());
col_strings.push(Col::r21_g_error.to_string());
col_strings.push(Col::r31_g.to_string());
col_strings.push(Col::r31_g_error.to_string());
col_strings.push(Col::phi21_g.to_string());
col_strings.push(Col::phi21_g_error.to_string());
col_strings.push(Col::phi31_g.to_string());
col_strings.push(Col::phi31_g_error.to_string());
col_strings.push(Col::num_clean_epochs_g.to_string());
col_strings.push(Col::num_clean_epochs_bp.to_string());
col_strings.push(Col::num_clean_epochs_rp.to_string());
col_strings.push(Col::num_clean_epochs_rv.to_string());
col_strings.push(Col::zp_mag_g.to_string());
col_strings.push(Col::zp_mag_bp.to_string());
col_strings.push(Col::zp_mag_rp.to_string());
col_strings.push(Col::num_harmonics_for_p1_g.to_string());
col_strings.push(Col::num_harmonics_for_p1_bp.to_string());
col_strings.push(Col::num_harmonics_for_p1_rp.to_string());
col_strings.push(Col::num_harmonics_for_p1_rv.to_string());
col_strings.push(Col::reference_time_g.to_string());
col_strings.push(Col::reference_time_bp.to_string());
col_strings.push(Col::reference_time_rp.to_string());
col_strings.push(Col::reference_time_rv.to_string());
col_strings.push(Col::fund_freq1.to_string());
col_strings.push(Col::fund_freq1_error.to_string());
col_strings.push(Col::fund_freq2.to_string());
col_strings.push(Col::fund_freq2_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_g.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_g_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_g.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_g_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_bp.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_bp_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_bp.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_bp_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_rp.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_rp_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_rp.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_rp_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_rv.to_string());
col_strings.push(Col::fund_freq1_harmonic_ampl_rv_error.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_rv.to_string());
col_strings.push(Col::fund_freq1_harmonic_phase_rv_error.to_string());
col_strings.push(Col::best_classification.to_string());
col_strings.push(Col::g_absorption.to_string());
col_strings.push(Col::g_absorption_error.to_string());
map.insert(vari_rrlyrae.string(), col_strings);
}