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