15 std::shared_ptr<spdlog::logger>
logger = spdlog::get(
"citlali_logger");
54 std::map<std::string, Eigen::VectorXd>
tel_data;
63 {
"Data.TelescopeBackend.TelTime",
"TelTime"},
64 {
"Data.TelescopeBackend.TelUtc",
"TelUTC"},
65 {
"Data.TelescopeBackend.TelRaAct",
"TelRa"},
66 {
"Data.TelescopeBackend.TelDecAct",
"TelDec"},
67 {
"Data.TelescopeBackend.SourceLAct",
"TelL"},
68 {
"Data.TelescopeBackend.SourceBAct",
"TelB"},
69 {
"Data.TelescopeBackend.SourceRaAct",
"TelRa"},
70 {
"Data.TelescopeBackend.SourceDecAct",
"TelDec"},
71 {
"Data.TelescopeBackend.TelAzAct",
"TelAzAct"},
72 {
"Data.TelescopeBackend.TelElAct",
"TelElAct"},
73 {
"Data.TelescopeBackend.SourceAz",
"SourceAz"},
74 {
"Data.TelescopeBackend.SourceEl",
"SourceEl"},
75 {
"Data.TelescopeBackend.ActParAng",
"ActParAng"},
76 {
"Data.TelescopeBackend.ActGalAng",
"ActGalAng"},
77 {
"Data.TelescopeBackend.Hold",
"Hold"},
78 {
"Data.TelescopeBackend.TelAzCor",
"TelAzCor"},
79 {
"Data.TelescopeBackend.TelElCor",
"TelElCor"},
80 {
"Data.TelescopeBackend.TelAzDes",
"TelAzDes"},
81 {
"Data.TelescopeBackend.TelElDes",
"TelElDes"},
82 {
"Data.TelescopeBackend.PpsTime",
"PpsTime"},
83 {
"Data.TelescopeBackend.TelAzMap",
"TelAzMap"},
84 {
"Data.TelescopeBackend.TelElMap",
"TelElMap"}
89 {
"Header.Source.Ra",
"Header.Source.Ra"},
90 {
"Header.Source.Dec",
"Header.Source.Dec"},
91 {
"Header.Source.L",
"Header.Source.L"},
92 {
"Header.Source.B",
"Header.Source.B"},
93 {
"Header.Source.Epoch",
"Header.Source.Epoch"},
94 {
"Header.Source.CoordSys",
"Header.Source.CoordSys"},
95 {
"Header.Source.Velocity",
"Header.Source.Velocity"},
96 {
"Header.Source.VelSys",
"Header.Source.VelSys"},
97 {
"Header.Source.Planet",
"Header.Source.Planet"},
98 {
"Header.Source.RaProperMotionCor",
"Header.Source.RaProperMotionCor"},
99 {
"Header.Source.DecProperMotionCor",
"Header.Source.DecProperMotionCor"},
100 {
"Header.Source.ElObsMin",
"Header.Source.ElObsMin"},
101 {
"Header.Source.ElObsMax",
"Header.Source.ElObsMax"},
102 {
"Header.Sky.ObsVel",
"Header.Sky.ObsVel"},
103 {
"Header.Sky.BaryVel",
"Header.Sky.BaryVel"},
104 {
"Header.Sky.ParAng",
"Header.Sky.ParAng"},
105 {
"Header.Sky.RaOffsetSys",
"Header.Sky.RaOffsetSys"},
106 {
"Header.Telescope.PointingTolerance",
"Header.Telescope.PointingTolerance"},
107 {
"Header.Telescope.AzDesPos",
"Header.Telescope.AzDesPos"},
108 {
"Header.Telescope.ElDesPos",
"Header.Telescope.ElDesPos"},
109 {
"Header.Telescope.AzActPos",
"Header.Telescope.AzActPos"},
110 {
"Header.Telescope.ElActPos",
"Header.Telescope.ElActPos"},
111 {
"Header.Telescope.CraneInBeam",
"Header.Telescope.CraneInBeam"},
112 {
"Header.M1.ModelEnabled",
"Header.M1.ModelEnabled"},
113 {
"Header.M1.ZernikeEnabled",
"Header.M1.ZernikeEnabled"},
114 {
"Header.M1.ModelMode",
"Header.M1.ModelMode"},
115 {
"Header.M2.XAct",
"Header.M2.XAct"},
116 {
"Header.M2.YAct",
"Header.M2.YAct"},
117 {
"Header.M2.ZAct",
"Header.M2.ZAct"},
118 {
"Header.M2.TipAct",
"Header.M2.TipAct"},
119 {
"Header.M2.TiltAct",
"Header.M2.TiltAct"},
120 {
"Header.M2.XReq",
"Header.M2.XReq"},
121 {
"Header.M2.YReq",
"Header.M2.YReq"},
122 {
"Header.M2.ZReq",
"Header.M2.ZReq"},
123 {
"Header.M2.TipReq",
"Header.M2.TipReq"},
124 {
"Header.M2.TiltReq",
"Header.M2.TiltReq"},
125 {
"Header.M2.XDes",
"Header.M2.XDes"},
126 {
"Header.M2.YDes",
"Header.M2.YDes"},
127 {
"Header.M2.ZDes",
"Header.M2.ZDes"},
128 {
"Header.M2.TipDes",
"Header.M2.TipDes"},
129 {
"Header.M2.TiltDes",
"Header.M2.TiltDes"},
130 {
"Header.M2.XPcor",
"Header.M2.XPcor"},
131 {
"Header.M2.YPcor",
"Header.M2.YPcor"},
132 {
"Header.M2.ZPcor",
"Header.M2.ZPcor"},
133 {
"Header.M2.TipPcor",
"Header.M2.TipPcor"},
134 {
"Header.M2.TiltPcor",
"Header.M2.TiltPcor"},
135 {
"Header.M2.XCmd",
"Header.M2.XCmd"},
136 {
"Header.M2.YCmd",
"Header.M2.YCmd"},
137 {
"Header.M2.ZCmd",
"Header.M2.ZCmd"},
138 {
"Header.M2.TipCmd",
"Header.M2.TipCmd"},
139 {
"Header.M2.TiltCmd",
"Header.M2.TiltCmd"},
140 {
"Header.M2.ElCmd",
"Header.M2.ElCmd"},
141 {
"Header.M2.AzPcor",
"Header.M2.AzPcor"},
142 {
"Header.M2.ElPcor",
"Header.M2.ElPcor"},
143 {
"Header.M2.CorEnabled",
"Header.M2.CorEnabled"},
144 {
"Header.M2.Follow",
"Header.M2.Follow"},
145 {
"Header.M2.M2Heartbeat",
"Header.M2.M2Heartbeat"},
146 {
"Header.M2.AcuHeartbeat",
"Header.M2.AcuHeartbeat"},
147 {
"Header.M2.Alive",
"Header.M2.Alive"},
148 {
"Header.M2.Hold",
"Header.M2.Hold"},
149 {
"Header.M2.ModelMode",
"Header.M2.ModelMode"},
150 {
"Header.M3.ElDesEnabled",
"Header.M3.ElDesEnabled"},
151 {
"Header.M3.Alive",
"Header.M3.Alive"},
152 {
"Header.M3.Fault",
"Header.M3.Fault"},
153 {
"Header.M3.M3Heartbeat",
"Header.M3.M3Heartbeat"},
154 {
"Header.M3.AcuHeartbeat",
"Header.M3.AcuHeartbeat"},
155 {
"Header.M3.M3OffPos",
"Header.M3.M3OffPos"},
156 {
"Header.TimePlace.LST",
"Header.TimePlace.LST"},
157 {
"Header.TimePlace.UTDate",
"Header.TimePlace.UTDate"},
158 {
"Header.TimePlace.UT1",
"Header.TimePlace.UT1"},
159 {
"Header.TimePlace.ObsLongitude",
"Header.TimePlace.ObsLongitude"},
160 {
"Header.TimePlace.ObsLatitude",
"Header.TimePlace.ObsLatitude"},
161 {
"Header.TimePlace.ObsElevation",
"Header.TimePlace.ObsElevation"},
162 {
"Header.Gps.IgnoreLock",
"Header.Gps.IgnoreLock"},
163 {
"Header.PointModel.ModRev",
"Header.PointModel.ModRev"},
164 {
"Header.PointModel.AzPointModelCor",
"Header.PointModel.AzPointModelCor"},
165 {
"Header.PointModel.ElPointModelCor",
"Header.PointModel.ElPointModelCor"},
166 {
"Header.PointModel.AzPaddleOff",
"Header.PointModel.AzPaddleOff"},
167 {
"Header.PointModel.ElPaddleOff",
"Header.PointModel.ElPaddleOff"},
168 {
"Header.PointModel.AzReceiverOff",
"Header.PointModel.AzReceiverOff"},
169 {
"Header.PointModel.ElReceiverOff",
"Header.PointModel.ElReceiverOff"},
170 {
"Header.PointModel.AzReceiverCor",
"Header.PointModel.AzReceiverCor"},
171 {
"Header.PointModel.ElReceiverCor",
"Header.PointModel.ElReceiverCor"},
172 {
"Header.PointModel.AzUserOff",
"Header.PointModel.AzUserOff"},
173 {
"Header.PointModel.ElUserOff",
"Header.PointModel.ElUserOff"},
174 {
"Header.PointModel.AzM2Cor",
"Header.PointModel.AzM2Cor"},
175 {
"Header.PointModel.ElM2Cor",
"Header.PointModel.ElM2Cor"},
176 {
"Header.PointModel.ElRefracCor",
"Header.PointModel.ElRefracCor"},
177 {
"Header.PointModel.AzTiltCor",
"Header.PointModel.AzTiltCor"},
178 {
"Header.PointModel.ElTiltCor",
"Header.PointModel.ElTiltCor"},
179 {
"Header.PointModel.AzTotalCor",
"Header.PointModel.AzTotalCor"},
180 {
"Header.PointModel.ElTotalCor",
"Header.PointModel.ElTotalCor"},
181 {
"Header.PointModel.PointModelCorEnabled",
"Header.PointModel.PointModelCorEnabled"},
182 {
"Header.PointModel.M2CorEnabled",
"Header.PointModel.M2CorEnabled"},
183 {
"Header.PointModel.RefracCorEnabled",
"Header.PointModel.RefracCorEnabled"},
184 {
"Header.PointModel.TiltCorEnabled",
"Header.PointModel.TiltCorEnabled"},
185 {
"Header.PointModel.ReceiverOffEnabled",
"Header.PointModel.ReceiverOffEnabled"},
186 {
"Header.Dcs.ObsNum",
"Header.Dcs.ObsNum"},
187 {
"Header.Dcs.SubObsNum",
"Header.Dcs.SubObsNum"},
188 {
"Header.Dcs.ScanNum",
"Header.Dcs.ScanNum"},
189 {
"Header.Dcs.ObsType",
"Header.Dcs.ObsType"},
190 {
"Header.Dcs.ObsMode",
"Header.Dcs.ObsMode"},
191 {
"Header.Dcs.CalMode",
"Header.Dcs.CalMode"},
192 {
"Header.Dcs.IntegrationTime",
"Header.Dcs.IntegrationTime"},
193 {
"Header.Dcs.RequestedTime",
"Header.Dcs.RequestedTime"},
194 {
"Header.Tiltmeter_0_.TiltX",
"Header.Tiltmeter_0_.TiltX"},
195 {
"Header.Tiltmeter_0_.TiltY",
"Header.Tiltmeter_0_.TiltY"},
196 {
"Header.Tiltmeter_0_.Temp",
"Header.Tiltmeter_0_.Temp"},
197 {
"Header.Tiltmeter_1_.TiltX",
"Header.Tiltmeter_1_.TiltX"},
198 {
"Header.Tiltmeter_1_.TiltY",
"Header.Tiltmeter_1_.TiltY"},
199 {
"Header.Tiltmeter_1_.Temp",
"Header.Tiltmeter_1_.Temp"},
200 {
"Header.Weather.Temperature",
"Header.Weather.Temperature"},
201 {
"Header.Weather.Humidity",
"Header.Weather.Humidity"},
202 {
"Header.Weather.Pressure",
"Header.Weather.Pressure"},
203 {
"Header.Weather.Precipitation",
"Header.Weather.Precipitation"},
204 {
"Header.Weather.Radiation",
"Header.Weather.Radiation"},
205 {
"Header.Weather.WindDir1",
"Header.Weather.WindDir1"},
206 {
"Header.Weather.WindSpeed1",
"Header.Weather.WindSpeed1"},
207 {
"Header.Weather.WindDir2",
"Header.Weather.WindDir2"},
208 {
"Header.Weather.WindSpeed2",
"Header.Weather.WindSpeed2"},
209 {
"Header.Weather.TimeOfDay",
"Header.Weather.TimeOfDay"},
210 {
"Header.Radiometer.Tau",
"Header.Radiometer.Tau"},
211 {
"Header.Radiometer.Tau2",
"Header.Radiometer.Tau2"},
212 {
"Header.Toltec.BeamSelected",
"Header.Toltec.BeamSelected"},
213 {
"Header.Toltec.NumBands",
"Header.Toltec.NumBands"},
214 {
"Header.Toltec.NumBeams",
"Header.Toltec.NumBeams"},
215 {
"Header.Toltec.NumPixels",
"Header.Toltec.NumPixels"},
216 {
"Header.Toltec.AzPointOff",
"Header.Toltec.AzPointOff"},
217 {
"Header.Toltec.ElPointOff",
"Header.Toltec.ElPointOff"},
218 {
"Header.Toltec.AzPointCor",
"Header.Toltec.AzPointCor"},
219 {
"Header.Toltec.ElPointCor",
"Header.Toltec.ElPointCor"},
220 {
"Header.Toltec.M3Dir",
"Header.Toltec.M3Dir"},
221 {
"Header.Toltec.Remote",
"Header.Toltec.Remote"},
222 {
"Header.TelescopeBackend.Master",
"Header.TelescopeBackend.Master"},
223 {
"Header.TelescopeBackend.ObsNum",
"Header.TelescopeBackend.ObsNum"},
224 {
"Header.TelescopeBackend.SubObsNum",
"Header.TelescopeBackend.SubObsNum"},
225 {
"Header.TelescopeBackend.ScanNum",
"Header.TelescopeBackend.ScanNum"},
226 {
"Header.TelescopeBackend.CalObsNum",
"Header.TelescopeBackend.CalObsNum"},
227 {
"Header.TelescopeBackend.NumPixels",
"Header.TelescopeBackend.NumPixels"},
228 {
"Header.Map.NumRepeats",
"Header.Map.NumRepeats"},
229 {
"Header.Map.NumScans",
"Header.Map.NumScans"},
230 {
"Header.Map.HPBW",
"Header.Map.HPBW"},
231 {
"Header.Map.ScanAngle",
"Header.Map.ScanAngle"},
232 {
"Header.Map.XLength",
"Header.Map.XLength"},
233 {
"Header.Map.YLength",
"Header.Map.YLength"},
234 {
"Header.Map.XOffset",
"Header.Map.XOffset"},
235 {
"Header.Map.YOffset",
"Header.Map.YOffset"},
236 {
"Header.Map.XStep",
"Header.Map.XStep"},
237 {
"Header.Map.YStep",
"Header.Map.YStep"},
238 {
"Header.Map.XRamp",
"Header.Map.XRamp"},
239 {
"Header.Map.YRamp",
"Header.Map.YRamp"},
240 {
"Header.Map.TSamp",
"Header.Map.TSamp"},
241 {
"Header.Map.TRef",
"Header.Map.TRef"},
242 {
"Header.Map.TCal",
"Header.Map.TCal"},
243 {
"Header.Map.RowsPerScan",
"Header.Map.RowsPerScan"},
244 {
"Header.Map.ScansPerCal",
"Header.Map.ScansPerCal"},
245 {
"Header.Map.ScansToSkip",
"Header.Map.ScansToSkip"},
246 {
"Header.Map.TurnTime",
"Header.Map.TurnTime"},
247 {
"Header.Map.NumPass",
"Header.Map.NumPass"},
248 {
"Header.Map.ScanRate",
"Header.Map.ScanRate"},
249 {
"Header.Map.ScanXStep",
"Header.Map.ScanXStep"},
250 {
"Header.Map.ScanYStep",
"Header.Map.ScanYStep"},
251 {
"Header.Map.ExecMode",
"Header.Map.ExecMode"},
252 {
"Header.Lissajous.XLength",
"Header.Lissajous.XLength"},
253 {
"Header.Lissajous.YLength",
"Header.Lissajous.YLength"},
254 {
"Header.Lissajous.XOmega",
"Header.Lissajous.XOmega"},
255 {
"Header.Lissajous.YOmega",
"Header.Lissajous.YOmega"},
256 {
"Header.Lissajous.XDelta",
"Header.Lissajous.XDelta"},
257 {
"Header.Lissajous.XLengthMinor",
"Header.Lissajous.XLengthMinor"},
258 {
"Header.Lissajous.YLengthMinor",
"Header.Lissajous.YLengthMinor"},
259 {
"Header.Lissajous.XOmegaMinor",
"Header.Lissajous.XOmegaMinor"},
260 {
"Header.Lissajous.YOmegaMinor",
"Header.Lissajous.YOmegaMinor"},
261 {
"Header.Lissajous.XDeltaMinor",
"Header.Lissajous.XDeltaMinor"},
262 {
"Header.Lissajous.XOmegaNorm",
"Header.Lissajous.XOmegaNorm"},
263 {
"Header.Lissajous.YOmegaNorm",
"Header.Lissajous.YOmegaNorm"},
264 {
"Header.Lissajous.XOmegaMinorNorm",
"Header.Lissajous.XOmegaMinorNorm"},
265 {
"Header.Lissajous.YOmegaMinorNorm",
"Header.Lissajous.YOmegaMinorNorm"},
266 {
"Header.Lissajous.ScanRate",
"Header.Lissajous.ScanRate"},
267 {
"Header.Lissajous.TScan",
"Header.Lissajous.TScan"},
268 {
"Header.Lissajous.ExecMode",
"Header.Lissajous.ExecMode"},
269 {
"Header.ScanFile.Valid",
"Header.ScanFile.Valid"},
270 {
"Header.M1.ZernikeC",
"Header.M1.ZernikeC"},
271 {
"Header.M1.ActPos",
"Header.M1.ActPos"},
272 {
"Header.M1.CmdPos",
"Header.M1.CmdPos"},
273 {
"Header.Sim.Jobkey",
"Header.Sim.Jobkey"}
Definition telescope.h:12
bool sim_obs
Definition telescope.h:20
std::map< std::string, Eigen::VectorXd > tel_data
Definition telescope.h:54
double fsmp
Definition telescope.h:42
char sim_job_key[128]
Definition telescope.h:18
std::map< std::string, std::string > tel_data_keys
Definition telescope.h:62
std::map< std::string, std::string > tel_header_keys
Definition telescope.h:88
std::string chunk_mode
Definition telescope.h:30
std::string obs_goal
Definition telescope.h:23
void calc_tan_radec()
Definition telescope.cpp:211
std::string source_name
Definition telescope.h:23
bool exec_mode
Definition telescope.h:25
void calc_tan_galactic()
Definition telescope.cpp:255
double d_fsmp
Definition telescope.h:42
void calc_scan_indices()
Definition telescope.cpp:281
double tau_225_GHz
Definition telescope.h:45
Eigen::MatrixXI scan_indices
Definition telescope.h:51
std::shared_ptr< spdlog::logger > logger
Definition telescope.h:15
std::string obs_pgm
Definition telescope.h:23
std::string project_id
Definition telescope.h:23
bool force_chunk
Definition telescope.h:36
void get_tel_data(std::string &)
Definition telescope.cpp:12
double velocity_limit
Definition telescope.h:39
std::string pixel_axes
Definition telescope.h:59
void calc_tan_altaz()
Definition telescope.cpp:237
void calc_tan_pointing()
Definition telescope.cpp:176
std::map< std::string, Eigen::VectorXd > tel_header
Definition telescope.h:56
std::string map_coord
Definition telescope.h:23
double chunking_value
Definition telescope.h:33
Eigen::Index inner_scans_chunk
Definition telescope.h:48