diff --git a/MAC/APL/APLCommon/include/APL/APLCommon/Observation.h b/MAC/APL/APLCommon/include/APL/APLCommon/Observation.h index ffe02edee8395707035f3a5816adb191a2e3d187..01beaead5dde7855bce200237c5f572f180d133f 100644 --- a/MAC/APL/APLCommon/include/APL/APLCommon/Observation.h +++ b/MAC/APL/APLCommon/include/APL/APLCommon/Observation.h @@ -62,6 +62,7 @@ public: int16 nyquistZone; vector<int16> subbands; vector<int16> beamlets; + vector<string> stations; int32 sampleClock; string filter; string antennaArray; diff --git a/MAC/APL/APLCommon/include/APL/APLCommon/StationInfo.h b/MAC/APL/APLCommon/include/APL/APLCommon/StationInfo.h index 06c82f004839939c984ee8a24073468ebd62bbd3..e3fb5000af3629f3a078e8eb305159176f8fdc9a 100644 --- a/MAC/APL/APLCommon/include/APL/APLCommon/StationInfo.h +++ b/MAC/APL/APLCommon/include/APL/APLCommon/StationInfo.h @@ -52,12 +52,12 @@ namespace LOFAR { // ring = 1..9 [ 2 digits ] // CUType = C | W // -uint16 stationRingNr(); // 0..99; 0 = error -uint16 stationArmNr(); // 0..5 ; 0 = error -int16 stationTypeValue(); //-1..2 : for resp. error, CS, RS, ES -string stationTypeStr(); // "", CS, RS, ES -string PVSSDatabaseName(); // hostname w/o CUtype -string realHostname(const string& someName); // adds 'C' when it is missing. +uint16 stationRingNr(); // 0..99; 0 = error +uint16 stationArmNr(); // 0..5 ; 0 = error +int16 stationTypeValue(); //-1..2 : for resp. error, CS, RS, ES +string stationTypeStr(); // "", CS, RS, ES +string PVSSDatabaseName(const string& someName = ""); // hostname w/o CUtype +string realHostname(const string& someName); // adds 'C' when it is missing. // @} diff --git a/MAC/APL/APLCommon/src/Observation.cc b/MAC/APL/APLCommon/src/Observation.cc index 4ba033e9abbe9be36393d6e27469d12271763171..fe722a474b1b6301908d9d60d96191e381c92c27 100644 --- a/MAC/APL/APLCommon/src/Observation.cc +++ b/MAC/APL/APLCommon/src/Observation.cc @@ -92,6 +92,14 @@ Observation::Observation(ParameterSet* aParSet) : beamlets = blParset.getInt16Vector("x"); } + if (aParSet->isDefined(prefix+"VirtualInstrument.stationList")) { + string stString("x=" + APLUtilities::expandedArrayString( + aParSet->getString(prefix+"VirtualInstrument.stationList"))); + ParameterSet stParset; + stParset.adoptBuffer(stString); + stations = stParset.getStringVector("x"); + } + if (aParSet->isDefined(prefix+"bandFilter")) { filter = aParSet->getString(prefix+"bandFilter"); } diff --git a/MAC/APL/APLCommon/src/StationInfo.cc b/MAC/APL/APLCommon/src/StationInfo.cc index 0466a112ddb51d8f588f1b66f42af790e92c6f6f..a1213d8ed4f97badeb495a208535fa4d7ffc7303 100644 --- a/MAC/APL/APLCommon/src/StationInfo.cc +++ b/MAC/APL/APLCommon/src/StationInfo.cc @@ -114,9 +114,12 @@ string stationTypeStr() // // PVSSDatabaseName // -string PVSSDatabaseName() +string PVSSDatabaseName(const string& someName) { - string hostname(myHostname(false)); + string hostname(someName); + if (hostname.empty()) { + hostname = myHostname(false); + } // hostname is like <stationtype><arm><ring><CUtype> // where CUtype = C or W