diff --git a/.gitattributes b/.gitattributes index 5cd107bd044ac7057049d619d49e0a79b89cc9b1..f0ca4a51eb1447df05d089458d26253c5f89eaa8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3966,18 +3966,7 @@ RTCP/InputProc/CMakeLists.txt -text RTCP/InputProc/src/BufferSettings.cc -text RTCP/InputProc/src/BufferSettings.h -text RTCP/InputProc/src/CMakeLists.txt -text -RTCP/InputProc/src/Generator.cc -text -RTCP/InputProc/src/Generator.h -text -RTCP/InputProc/src/MPITransferStations.h -text -RTCP/InputProc/src/MPITransferStations.tcc -text RTCP/InputProc/src/OMPThread.h -text -RTCP/InputProc/src/PacketReader.cc -text -RTCP/InputProc/src/PacketReader.h -text -RTCP/InputProc/src/PacketWriter.h -text -RTCP/InputProc/src/PacketWriter.tcc -text -RTCP/InputProc/src/PacketsToBuffer.cc -text -RTCP/InputProc/src/PacketsToBuffer.h -text -RTCP/InputProc/src/RSP.h -text RTCP/InputProc/src/RSPBoards.cc -text RTCP/InputProc/src/RSPBoards.h -text RTCP/InputProc/src/Ranges.cc -text @@ -3988,10 +3977,21 @@ RTCP/InputProc/src/SampleBufferReader.tcc -text RTCP/InputProc/src/SampleType.h -text RTCP/InputProc/src/SharedMemory.cc -text RTCP/InputProc/src/SharedMemory.h -text +RTCP/InputProc/src/Station/Generator.cc -text +RTCP/InputProc/src/Station/Generator.h -text +RTCP/InputProc/src/Station/PacketReader.cc -text +RTCP/InputProc/src/Station/PacketReader.h -text +RTCP/InputProc/src/Station/PacketWriter.h -text +RTCP/InputProc/src/Station/PacketWriter.tcc -text +RTCP/InputProc/src/Station/PacketsToBuffer.cc -text +RTCP/InputProc/src/Station/PacketsToBuffer.h -text +RTCP/InputProc/src/Station/RSP.h -text +RTCP/InputProc/src/Station/filterRSP.cc -text RTCP/InputProc/src/StationID.cc -text RTCP/InputProc/src/StationID.h -text +RTCP/InputProc/src/Transpose/MPITransferStations.h -text +RTCP/InputProc/src/Transpose/MPITransferStations.tcc -text RTCP/InputProc/src/WallClockTime.h -text -RTCP/InputProc/src/filterRSP.cc -text RTCP/InputProc/src/newInputSection.cc -text RTCP/InputProc/src/obsolete/MPI_RMA.h -text RTCP/InputProc/src/obsolete/Poll.h -text diff --git a/RTCP/InputProc/src/CMakeLists.txt b/RTCP/InputProc/src/CMakeLists.txt index a4655caea717ec7ac97ef8a88d27a5ba0e04fc37..c76d0268319df35b0a953a4c648a1f543d0c236f 100644 --- a/RTCP/InputProc/src/CMakeLists.txt +++ b/RTCP/InputProc/src/CMakeLists.txt @@ -1,16 +1,20 @@ include(LofarPackageVersion) +# Add current source directory to -I path. This is needed because InputProc uses +# angle brackets for internal header files, instead of quotes. +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + lofar_add_library(inputproc Package__Version.cc BufferSettings.cc - Generator.cc - PacketReader.cc - PacketsToBuffer.cc Ranges.cc SharedMemory.cc StationID.cc RSPBoards.cc + Station/Generator.cc + Station/PacketReader.cc + Station/PacketsToBuffer.cc ) lofar_add_bin_program(newInputSection newInputSection.cc) -lofar_add_bin_program(filterRSP filterRSP.cc) +lofar_add_bin_program(filterRSP Station/filterRSP.cc) diff --git a/RTCP/InputProc/src/SampleBuffer.h b/RTCP/InputProc/src/SampleBuffer.h index 035907b37cfe610d1f4092e2bd39e9dfa375d365..3b2df27c26147388e56a0ac1f89128fcbdddb960 100644 --- a/RTCP/InputProc/src/SampleBuffer.h +++ b/RTCP/InputProc/src/SampleBuffer.h @@ -16,8 +16,22 @@ namespace LOFAR { namespace RTCP { +/* + * Maintains a sample buffer in shared memory, which can be created + * or attached to. + * + * The sample buffer contains the following information: + * + * 1. A copy of `settings', against which attaches are verified. + * 2. A beamlets matrix [subband][sample] + * 3. A flags vector [board] + * + * The IPC key used for the shared memory is settings.dataKey. + */ template<typename T> class SampleBuffer { public: + // Create (create=true) or attach to (create=false) a sample buffer + // in shared memory. SampleBuffer( const struct BufferSettings &settings, bool create ); private: @@ -42,14 +56,14 @@ public: const size_t nrFlagRanges; // width of each flag range MultiDimArray<T,2> beamlets; // [subband][sample] - std::vector<Ranges> flags; // [rspboard] + std::vector<Ranges> flags; // [board] }; template<typename T> SampleBuffer<T>::SampleBuffer( const struct BufferSettings &_settings, bool create ) : logPrefix(str(boost::format("[station %s %s board] [SampleBuffer] ") % _settings.station.stationName % _settings.station.antennaField)), - data(_settings.dataKey, dataSize(_settings), create ? SharedMemoryArena::CREATE_EXCL : SharedMemoryArena::READ), + data(_settings.dataKey, dataSize(_settings), create ? SharedMemoryArena::CREATE : SharedMemoryArena::READ), allocator(data), settings(initSettings(_settings, create)), diff --git a/RTCP/InputProc/src/Generator.cc b/RTCP/InputProc/src/Station/Generator.cc similarity index 99% rename from RTCP/InputProc/src/Generator.cc rename to RTCP/InputProc/src/Station/Generator.cc index 609d8b2ee7efd946fdcacb90ab7805f96b1ca3bf..de1babd5956fbb15110d98672fc50b0bbda0430a 100644 --- a/RTCP/InputProc/src/Generator.cc +++ b/RTCP/InputProc/src/Station/Generator.cc @@ -1,5 +1,5 @@ #include <lofar_config.h> -#include "Generator.h" +#include "Station/Generator.h" #include <Common/LofarLogger.h> #include <Stream/Stream.h> diff --git a/RTCP/InputProc/src/Generator.h b/RTCP/InputProc/src/Station/Generator.h similarity index 96% rename from RTCP/InputProc/src/Generator.h rename to RTCP/InputProc/src/Station/Generator.h index 2ae2bf1afadabd586c3104287bf770cab7202dff..c13e04f85e5f61652f19ebbe0e59e467751aed2b 100644 --- a/RTCP/InputProc/src/Generator.h +++ b/RTCP/InputProc/src/Station/Generator.h @@ -1,7 +1,7 @@ #ifndef __GENERATOR__ #define __GENERATOR__ -#include "RSP.h" +#include "Station/RSP.h" #include "RSPBoards.h" #include "BufferSettings.h" #include <string> diff --git a/RTCP/InputProc/src/PacketReader.cc b/RTCP/InputProc/src/Station/PacketReader.cc similarity index 98% rename from RTCP/InputProc/src/PacketReader.cc rename to RTCP/InputProc/src/Station/PacketReader.cc index 757cfa59422d11e44462666eb297a13d65bc8793..703e1546f9fef56c8e3557b4e4791bcd6663f369 100644 --- a/RTCP/InputProc/src/PacketReader.cc +++ b/RTCP/InputProc/src/Station/PacketReader.cc @@ -1,5 +1,6 @@ #include <lofar_config.h> -#include "PacketReader.h" +#include "Station/PacketReader.h" + #include <Common/LofarLogger.h> #include <Stream/SocketStream.h> #include <Interface/RSPTimeStamp.h> diff --git a/RTCP/InputProc/src/PacketReader.h b/RTCP/InputProc/src/Station/PacketReader.h similarity index 98% rename from RTCP/InputProc/src/PacketReader.h rename to RTCP/InputProc/src/Station/PacketReader.h index b50eed0c3f387be95e5f4f76059db67bbc37f93f..95b049abdb616746fef44855a1e41106c75e33b0 100644 --- a/RTCP/InputProc/src/PacketReader.h +++ b/RTCP/InputProc/src/Station/PacketReader.h @@ -4,7 +4,7 @@ #include <Common/Exception.h> #include <Stream/Stream.h> #include <Interface/SmartPtr.h> -#include "RSP.h" +#include "Station/RSP.h" #include "BufferSettings.h" #include <string> diff --git a/RTCP/InputProc/src/PacketWriter.h b/RTCP/InputProc/src/Station/PacketWriter.h similarity index 96% rename from RTCP/InputProc/src/PacketWriter.h rename to RTCP/InputProc/src/Station/PacketWriter.h index 901f655b8a9f0f4b819395b4f59aa5f00651e914..ab4afb3596ea3f8cbb6635a0132efaa80a796798 100644 --- a/RTCP/InputProc/src/PacketWriter.h +++ b/RTCP/InputProc/src/Station/PacketWriter.h @@ -1,7 +1,7 @@ #ifndef __PACKETWRITER__ #define __PACKETWRITER__ -#include "RSP.h" +#include "Station/RSP.h" #include "SampleBuffer.h" #include "BufferSettings.h" #include "Ranges.h" diff --git a/RTCP/InputProc/src/PacketWriter.tcc b/RTCP/InputProc/src/Station/PacketWriter.tcc similarity index 99% rename from RTCP/InputProc/src/PacketWriter.tcc rename to RTCP/InputProc/src/Station/PacketWriter.tcc index 137bfab98f40094cd9aec1c6f51ecd86c0aaea6a..2a2d1e505b2f2a26275e76bd657bf9988ca4b15b 100644 --- a/RTCP/InputProc/src/PacketWriter.tcc +++ b/RTCP/InputProc/src/Station/PacketWriter.tcc @@ -2,10 +2,10 @@ #include <Common/LofarConstants.h> #include <Interface/RSPTimeStamp.h> #include <Interface/SmartPtr.h> -#include "RSP.h" #include "SampleBuffer.h" #include "BufferSettings.h" #include "Ranges.h" +#include "Station/RSP.h" #include <boost/format.hpp> #include <string> #include <ios> diff --git a/RTCP/InputProc/src/PacketsToBuffer.cc b/RTCP/InputProc/src/Station/PacketsToBuffer.cc similarity index 96% rename from RTCP/InputProc/src/PacketsToBuffer.cc rename to RTCP/InputProc/src/Station/PacketsToBuffer.cc index e8dfc8f1daea142cca46dc8812865bc73cff2c1f..54a5c1e753fc2bb7c3efdcb5ac31a23bc93db1b3 100644 --- a/RTCP/InputProc/src/PacketsToBuffer.cc +++ b/RTCP/InputProc/src/Station/PacketsToBuffer.cc @@ -1,14 +1,15 @@ #include <lofar_config.h> -#include "PacketsToBuffer.h" +#include "Station/PacketsToBuffer.h" + #include <Common/LofarLogger.h> #include <Interface/SmartPtr.h> #include <Interface/Stream.h> #include <Stream/Stream.h> -#include "RSP.h" #include "SampleBuffer.h" #include "BufferSettings.h" -#include "PacketReader.h" -#include "PacketWriter.h" +#include "Station/RSP.h" +#include "Station/PacketReader.h" +#include "Station/PacketWriter.h" #include <boost/format.hpp> #include <string> #include <ios> diff --git a/RTCP/InputProc/src/PacketsToBuffer.h b/RTCP/InputProc/src/Station/PacketsToBuffer.h similarity index 97% rename from RTCP/InputProc/src/PacketsToBuffer.h rename to RTCP/InputProc/src/Station/PacketsToBuffer.h index cc01803422359ba4e537246afd8787050ab892ed..9d566e65e1b4d48cd3b73c8ab98f58ac979bf00d 100644 --- a/RTCP/InputProc/src/PacketsToBuffer.h +++ b/RTCP/InputProc/src/Station/PacketsToBuffer.h @@ -4,11 +4,11 @@ #include <Interface/SmartPtr.h> #include <Interface/Stream.h> #include <Stream/Stream.h> -#include "RSP.h" +#include "Station/RSP.h" #include "RSPBoards.h" #include "SampleBuffer.h" #include "BufferSettings.h" -#include "PacketReader.h" +#include "Station/PacketReader.h" #include <string> #include <ios> diff --git a/RTCP/InputProc/src/RSP.h b/RTCP/InputProc/src/Station/RSP.h similarity index 100% rename from RTCP/InputProc/src/RSP.h rename to RTCP/InputProc/src/Station/RSP.h diff --git a/RTCP/InputProc/src/filterRSP.cc b/RTCP/InputProc/src/Station/filterRSP.cc similarity index 100% rename from RTCP/InputProc/src/filterRSP.cc rename to RTCP/InputProc/src/Station/filterRSP.cc diff --git a/RTCP/InputProc/src/MPITransferStations.h b/RTCP/InputProc/src/Transpose/MPITransferStations.h similarity index 100% rename from RTCP/InputProc/src/MPITransferStations.h rename to RTCP/InputProc/src/Transpose/MPITransferStations.h diff --git a/RTCP/InputProc/src/MPITransferStations.tcc b/RTCP/InputProc/src/Transpose/MPITransferStations.tcc similarity index 100% rename from RTCP/InputProc/src/MPITransferStations.tcc rename to RTCP/InputProc/src/Transpose/MPITransferStations.tcc diff --git a/RTCP/InputProc/src/newInputSection.cc b/RTCP/InputProc/src/newInputSection.cc index 4766bcf027277ef6daa5cda1758bf7eb5b0e1ad9..82e09b8f1c2adb990187f0b2f1ca6b7c9f556a7c 100644 --- a/RTCP/InputProc/src/newInputSection.cc +++ b/RTCP/InputProc/src/newInputSection.cc @@ -14,8 +14,8 @@ #include "SampleType.h" #include "SampleBuffer.h" #include "SampleBufferReader.h" -#include "Generator.h" -#include "PacketsToBuffer.h" +#include "Station/Generator.h" +#include "Station/PacketsToBuffer.h" #include "mpi.h" #include <vector> @@ -31,7 +31,7 @@ using namespace LOFAR; using namespace RTCP; -#include "MPITransferStations.h" +#include "Transpose/MPITransferStations.h" int main( int argc, char **argv ) diff --git a/RTCP/InputProc/test/tGenerator.cc b/RTCP/InputProc/test/tGenerator.cc index d02db0befbf76aabd023be3eb9259a03dabee9ed..4605245df8f7f44a341f42c08eaee7873a91496b 100644 --- a/RTCP/InputProc/test/tGenerator.cc +++ b/RTCP/InputProc/test/tGenerator.cc @@ -1,9 +1,9 @@ #include <lofar_config.h> -#include "Generator.h" -#include "PacketReader.h" -#include "OMPThread.h" #include <Common/LofarLogger.h> #include <Interface/Stream.h> +#include "OMPThread.h" +#include "Station/Generator.h" +#include "Station/PacketReader.h" #include <vector> #include <string> #include <unistd.h> diff --git a/RTCP/InputProc/test/tPacketReader.cc b/RTCP/InputProc/test/tPacketReader.cc index 4f4152eba2735d0dfdecede3419b97b74b7ba463..07adae4aeb179873fe4c10cc6703cdec0aa6cedd 100644 --- a/RTCP/InputProc/test/tPacketReader.cc +++ b/RTCP/InputProc/test/tPacketReader.cc @@ -1,5 +1,5 @@ #include <lofar_config.h> -#include <PacketReader.h> +#include <Station/PacketReader.h> #include <Common/LofarLogger.h> #include <Stream/FileStream.h> diff --git a/RTCP/InputProc/test/tRSP.cc b/RTCP/InputProc/test/tRSP.cc index 1f729eace5e7554e603d00a2a3dda6324d6769f2..efe77ef2fd6bd7577ca34ebe10101f2d9b801559 100644 --- a/RTCP/InputProc/test/tRSP.cc +++ b/RTCP/InputProc/test/tRSP.cc @@ -21,7 +21,7 @@ //# Always #include <lofar_config.h> first! #include <lofar_config.h> -#include <RSP.h> +#include <Station/RSP.h> #include <Interface/RSPTimeStamp.h> #include <Common/LofarLogger.h> #include <Common/DataConvert.h>