sip
files).The LDF data format is defined in:
Also Online System Science Data Format (LDF) may be of assistance.
sip
as described below. Just the compilation tools listed are sufficient.
Building with Visual Studio .NET 7.1 is supported (.sln
files). The 7.0 project files (.vcproj
) are also included but are no longer supported, so may be out of date.
Library: Open VS and load the LDF project. Build.
Example code: Open VS and load test/LDFdump
. Build.
You'll be building in a build directory, e.g. LDF-BUILD
. If at any point you don't like it's contents, delete it and start over. This doesn't affect the source tree in LDF.
> cvs checkout Online/LDF > mkdir Online/LDF-BUILD # substitute BUILD with whatever you like > cd Online/LDF
Execute the following shell script. This needs to be done only on a fresh cvs check-out or if the configure.in
file changed or any change in the m4 macros in config/m4
.
> ./autogen > cd ../LDF-BUILD
Run the configure procedure. If you're building in AFS space give it the option --disable-libtool-lock
. If python is not installed in the default location, add the option --with-python-include=<python path>
in the configure line. You can influence where the products are installed with the --prefix
option. Do configure --help
for more details.
> ../LDF/configure
Makefile.am
files and generates the Makefile.in
files, and autoconf to generate the configure script. The configure script will then generate the Makefiles and some other files that need configuration.
> make
libLDFc.so
, which C++ programs use and LDF.so
, which can be imported from python. It will also build the test executables are in test/
.You can build the html documentation using
> make docs
Use
> make install
--prefix
option to configure. If it was omitted, this command will install into /usr/local
.test/Debug
or test/Release
, and is named LDFdump.exe
. On Linux, the executable is test/LDFdump
. Both have the similar syntax: LDFdump.exe <ldf filename>
ldf
or .arch
files)
FITS files can be run through RunControl/fits2Arch
.py to generate an .ldf
or .arch
file that can be dumped using test/LDFdump
.
test
and execute the following from the command line: > python -i LDFdump.py
>>> testRaw(<file>) # dump a .ldf or .arch file >>> testFITS(<file>) # dump a FITS format file >>> testEBF(<file>) # dump a file containing "pure" EBF events, # without datagram encapsulation >>> testHex(<file>) # dump a hex dump from a text file # (Cut and paste the event dump generated # by evtCli or od -t x4.) >>> test(<buffer>) # dump a binary buffer. Several are defined in # LDFdump.py: temBuf(), aemBuf(), evtBuf(), etc. >>> testRaw_Dist(server) # Dump events from a multicast server
As well, the following runs testRaw(<file>)
from the command line:
> python LDFdump.py <file>
LDFdump.cpp
in the test
directory. Another example might go as follows:
unsigned
char*
buffer.EBFeventBuffer(buffer)
test() { MyLATcomponentIterator lci; while (1) { unsigned char* buffer = readEvent(); if (!buffer) break; LATevent* event = EBFeventBuffer(buffer).event(); lci.iterate(event); } }
For an example of the Python API, take a look at LDFdumper.py
.