From d8ad5e91f4231ea4ea4247e82bdb037c0a53ba50 Mon Sep 17 00:00:00 2001 From: Pieter Donker <donker@astron.nl> Date: Mon, 22 Feb 2016 11:11:47 +0000 Subject: [PATCH] Task #8966: add more logging --- MAC/APL/PAC/ITRFBeamServer/src/BeamServer.cc | 34 ++++++++++++++++++++ MAC/APL/PAC/ITRFBeamServer/src/BeamServer.h | 2 +- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.cc b/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.cc index 107ec5784d7..1c1d08bf26f 100644 --- a/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.cc +++ b/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.cc @@ -812,6 +812,10 @@ GCFEvent::TResult BeamServer::beamalloc_state(GCFEvent& event, GCFPortInterface& LOG_INFO_STR("Subscribing to subarray: " << subscribe.name); LOG_DEBUG_STR("subbands= " << subscribe.subbandset); + if (!_isCalTableValid(itsBeamTransaction.getBeam()->antennaSetName(), itsBeamTransaction.getBeam()->bandName())) { + LOG_INFO_STR("No valid CalTable available for this beam, using default"); + } + itsCalServer->send(subscribe); itsConnectTimer->setTimer(5.0); } @@ -1562,6 +1566,36 @@ complex<double> BeamServer::_getCalFactor(const string& antennaSet, const string return (result); } +// +// _getCalFactor(rcumode, rcu, subbandNr) +// +bool BeamServer::_isCalTableValid(const string& antennaSet, const string& band) +{ + bool result; + + result = false; + if (band == "10_90") { + if (antennaSet == "LBA_INNER") { if (itsCalTable_LBA_INNER_10_90) result = true; } + else if (antennaSet == "LBA_OUTER") { if (itsCalTable_LBA_OUTER_10_90) result = true; } + else if (antennaSet == "LBA_SPARSE_EVEN") { if(itsCalTable_LBA_SPARSE_EVEN_10_90) result = true; } + else if (antennaSet == "LBA_SPARSE_ODD") { if(itsCalTable_LBA_SPARSE_ODD_10_90) result = true; } + else if (antennaSet == "LBA_X") { if(itsCalTable_LBA_X_10_90) result = true; } + else if (antennaSet == "LBA_Y") { if(itsCalTable_LBA_Y_10_90) result = true; } + } + else if (band == "30_90") { + if (antennaSet == "LBA_INNER") { if(itsCalTable_LBA_INNER_30_90) result = true; } + else if (antennaSet == "LBA_OUTER") { if(itsCalTable_LBA_OUTER_30_90) result = true; } + else if (antennaSet == "LBA_SPARSE_EVEN") { if(itsCalTable_LBA_SPARSE_EVEN_30_90)result = true; } + else if (antennaSet == "LBA_SPARSE_ODD") { if(itsCalTable_LBA_SPARSE_ODD_30_90) result = true; } + else if (antennaSet == "LBA_X") { if(itsCalTable_LBA_X_30_90) result = true; } + else if (antennaSet == "LBA_Y") { if(itsCalTable_LBA_Y_30_90) result = true; } + } + else if (band == "110_190") { if(itsCalTable_HBA_110_190) result = true; } + else if (band == "170_230") { if(itsCalTable_HBA_170_230) result = true; } + else if (band == "210_250") { if(itsCalTable_HBA_210_250) result = true; } + return (result); +} + void BeamServer::_loadCalTable(const string& antennaSet, const string& band, uint nrRSPBoards) { StatCal** tableHandle(0); diff --git a/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.h b/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.h index 0bb20151f5d..a01bd15bc72 100644 --- a/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.h +++ b/MAC/APL/PAC/ITRFBeamServer/src/BeamServer.h @@ -181,7 +181,7 @@ private: // RCU calibration std::complex<double> _getCalFactor(const string& antennaSet, const string& band, uint rcu, uint subbandNr); void _loadCalTable(const string& antennaSet, const string& band, uint nrRSPBoards); - + bool _isCalTableValid(const string& antennaSet, const string& band); // ### data members ### // 'constant' containing the current number of bits each datasample has. -- GitLab