GDS Libraries


Overview

The GDS source code is divided into ten sub-packages. These are (in hierarchical order):
  1. Base: libraries containing low-level system interface and mathematics classes.
  2. Containers: container classes including data containers for use in analysis (e.g. time series, spectra, wavelets), calibration data containers, etc.
  3. IO: input and output to various devices in various formats (e.g. xml and html document preparation, shared memory buffer management and message passing).
  4. Triggers: includes DMT trigger object classes and event manipulation package.
  5. Signal Processing: time domain filtering, windowing, waveform generation, etc.
  6. Services: services available to DMT processes and users. These include the client APIs and servers for message based DMT status services (e.g. Trigger manager, Alarm manager and Monitor data transport), frame data I/O APIs and remote data access service (fantom).
  7. GUI: Root-based graphical user interface classes.
  8. DMT: Monitor envionment classes and data monitoring utility classes.
  9. DTT: the GDS diagnostic test tool that allows users to make real-time or off-line frequency domain measurements (spectra, csds, etc) and to inject signal in the IFO test points.
  10. Utilities: frame utilities, process management, session setup and various useful scripts.
The source code for all these libraries are available from the GDS CVS Repository.



Base Libraries

The Base libraries contain low-level system interface and mathematics classes.

Source location:
gds/Base
Object files:
Libraries Packages
libgdsbase.so
libsgdsbase.a
bits Bit manipulation functions
complex Complex numbers
constant Numerical constants
ext
STL wannabes
fdstream STL strean attaced to a file descriptor
fft fftpak in C++
memmap Portable memory mapped file API
misc Miscellaneous interfaces
option Command line option support
pipeexec fork process with pipes for stdin, stdout
random Random number generator
refcount Thread safe reference count template
thread Portable thread management
time Time and Interval classes
wave Waveform templates
Executables:
- None -




Container Libraries

Container classes include data containers for use in analysis (e.g. time series, spectra, wavelets), calibration data containers, etc.

Source location:
gds/Containers
Object files:
Libraries Packages
libgdscntr.so
libsgdscntr.a
calibration
Calibration containers
CWVec Copy-on-write data vector
DVector Numeric data vector
FilterIO Time domain filter I/O container
FSeries Freqency series
FSpectrum Spectrum
Histogram1 1D histogram
Histogram2 2D histogram
PlotSet
Trace information for a plot
TSeries
Time series
Wavelet
Wavelet container
Executables:
- None -




Trigger Libraries

The Trigger libraries contain DMT trigger object classes and the event manipulation package.

Source location:
gds/Triggers
Object files:
Libraries Packages
libgdstrig.so
libsgdstrig.a
trig DMT trigger objects
libgdsevent.so
libsgdsevent.a
events GDS event manipulation package
Executables:
- None -




IO Libraries

The IO libraries contain low-level Input/Output interfaces and formatting classes.

Source location:
gds/IO
Object files:
Libraries Packages
libaudio.so
libsaudio.a
laudio Audio output
libdaqs.so
libsdaqs.a
daqsocket
DAQ NDS client
libframefast.so
libsframefast.a
framefast Fast frame I/O
libframeutil.so
libsframeutil.a
frameutils Frame directory utility
libframexmit.so
libsframexmit.a
framexmit Frame file multicast sender/receiver
libhtml.so
libshtml.a
html html document preparation
liblmsg.so
libslmsg.a
lmsg UDP message system
liblsmp.so
libslsmp.a
lsmp Shared memory buffer manager
smstream
STL stream interface for lsmp
libparsl.so
libsparsl.a
parseline Split an input line into words
libsockutil.so
libssockutil.a
sockutil Portable socket class
libweb.so
libsweb.a
web web server class
libxsil.so
libsxsil.a
xsil xsil (xml) document preparation
Executables:
fdir
List times covered by frames in a specified directory
fextract
Extract data from a frame
finfo
Get frame information
framedump
Dump data from a frame
fsettime
Set creation time in one or more frame files
prchans
List channels available from NDS.
prnames
Print files created by NDS
prndsvsn
Print NDS protocol version
smcreate
Create a shaer memory partition
smdump Print status of a shared memory partition
smkill
Destroy a shared memory buffer manager
smraw
Dump data in a shared memory buffer in hex and chars.
smrepair
Remove reservations by non-existant processes
smstat
Fetch an item of status information.
smspew Write contents of a shared memory buffer to a file




Signal Processing Libraries

The Signal Processing libraries provide time domain filtering, windowing, waveform generation, etc.

Source location:
gds/SignalProcessing
Object files:
Libraries Packages
libgdsalgo.so
libsgdsalgo.a
dttalgo DTT algorithm library
libdmtsigp.so
libsdmtsigp.a
BaseLine
Base line suppression filter
DecimateBy2
Decimate by 2 filter
Delay
Delay a time series
FilterBase
Filter base classes
FilterDesign
Filter design class
FIRFilter
FIR filter class
IIRFilter
IIR filter class
Limiter
Limit amplitude or slew rate
LineFilter
Line tracker/filter
Mixer
Heterodyne
MultiPipe
Cascade filters
MultiRate
Resampler
polyroot
Polynomial root calculation
SweptSine
Swept sine analysis tool
wavelet
Wavelet manipulation
Window
Bartlett, flat-top, Hann, Welch, etc. windows
Executables:
- None -




Service Libraries

The Service libraries provide DMT specific services to processes and users. These include the client APIs and servers for message based DMT status services (e.g. Trigger manager, Alarm manager and Monitor data transport), frame data I/O APIs and remote data access service (fantom).

Source location:
gds/Services
Object files:
Libraries Packages
libmonitor.so
libsmonitor.a
AppClient
Generic lmsg based client class
AppServer
Generic lmsg based server class
NameClient Name service client class
MonServer
Monitor data server class
AlarmClient Alarm service client class
MonClient Monitor data client and message definitions
libclient.so
libsclient.a
AppClient
Generic lmsg based client class
NameClient Name service client class
AlarmClient Alarm service client class
MonClient Monitor data client and message definitions
libtclient.so
libstclient.a
TrigClient
Generic lmsg based client class
libserver.so
libsserver.a
AppClient
Generic lmsg based client class
AppServer
Generic lmsg based server class
NameClient Name service client class
libfantom.so
libsfantom.a
fantom Frame data access and manipulation.
libdfm.so
libsdfm.so
dfm Data flow manager
libframeio.so
libsframeio.a
Dacc
DMT data access clss
FrWriter Frame writer class
Trend Trend frame I/O
Executables:
addName
Add a specified name to the name server
Alarm Alarm utility function - define, set, remove alarms
AlarmMgr Alarm manager
DpushM Copy multicast frame data into a shared memory partition
DpushRT
Copy data from local files to shared memory partition.
fantom
Frame and NDS translation module
getName
Resolve a service name
nameindex List service names
NameServer Keep a service name database
remName
Remove a service name
TrigMgr Trigger manager
trigRmNode Remove all trigger sources on a specified node.
Tunnel Tunnel messages to another network
udnls

webview Monitor data web interface.
webxmledit





GUI Libraries

The GUI libraries contain Root-based graphical user interface classes.

Source location:
gds/GUI
Object files:
Libraries Packages
libligogui.so
ligogui Ligo GUI tool set
libdttview.so
dttview GUIs for the dtt
libgdsplot.so
plot Data plots
filterwiz
Filter wizzard GUIs
libdmtview.so
dmtviewer GUIs for the DMT viewer
libdfmgui.so
dfm Guis for the data low manager
liblidax.so
lidax Ligo data accessor classes
libpanel.so
panels Miscellaneous DMT monitor GUIs
Executables:
dmtviewer
DMT monitor data viewer
lidax
LIGO data access program
foton
Filter online tool




DMT Libraries

The DMT libraries contain Monitor environment classes and data monitoring utility classes.

Source location:
gds/DMT
Object files:
Libraries Packages
libsdmtenv.a
DMTBase Raw data environment class
DatEnv Data analysis environment class
TrigEnv Trigger based analysis class
DMTifc DMT C interface
libosc.so
libsosc.a
osc
Operating state condition evaluation
liblscemul.so
liblscemul.a
LscEmul
Emulate LSC front-end code
libgenerate.so
libgenerate.a
generator
Data simulation classes
Executables:
DMTGen
Write simulated data to frame files


Last Update: August 25, 2003
Please send comments or suggestions to: John Zweizig