'Acquaman: Data Acquisition and Management for Beamlines' 0.1a

Acquaman: The Comic-book Hero of Synchrotron Science since 2011

What is Acquaman?

Acquaman is a framework used to develop applications the acquisition and management of scientific data. It is used initially on the SGM and REIXS beamlines at the Canadian Light Source.

Introduction For Beamline users...

Acquaman is used in various forms to build applications with different functionality for each beamline. Consult your beamline staff for user manuals specific to your version of Acquaman.

Introduction For Programmers...

For an introductory workshop to the Acquaman Framework, see these slides from March 2011, which cover:

  • Core principles and programming paradigms
  • Support systems: How to get, build, use, and learn about Acquaman
  • Features and Functionality: What it can do
  • Application examples for each module / core feature: Where to start

Architecture and Modules


Figure 1: Architecture of the Acquaman Framework

The Acquaman framework is divided into 6 modules that group related functionality. The dependency of the modules is shown in Figure 1: each block makes use of the components directly below it.


  • beamline : Control interface to the actual beamline hardware
  • acquaman : Manages setting up and executing scans
  • dataman : Responsible for the representation, storage and retrieval of experimental data, including a persistent-object database ORM.
  • workflow/actions : A program-wide system for scheduling and running a series of "user-level" actions
  • ui : Contains all user-interface widgets. These may depend on code in other modules, but all of the other modules are free of any GUI code, and can therefore be used on systems without a GUI.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines