XMM-Newton SAS Home Page
XMM-Newton Science Analysis System

dal (dal-1.198) [xmmsas_20211130_0941-20.0.0]

Abstract API

The DAL is essentially implemented in C++. The design takes the form of a set of abstract classes which provides the fundamental DAL interface. There are currently two implementations (both in C++) of this abstract interface; one is the High Memory Model and the other is the HighLow Memory Model. A third implementation, not yet fully implemented, is the Low Memory Model. The exact nature of these Memory Models is described later in this document.

Three additional interfaces are provided. These are the F90, C and Perl APIs, each of which is implemented, through a transitional layer of C++ code (sometimes called a glue-layer), in terms of the C++ abstract API.

Whilst it is not necessary to understand the underlying Abstract C++ API, it will certainly be beneficial to have at least an overview of the main designs aspects.

In particular, an understanding of the C++ class hierarchy will lead to more generic algorithms e.g. use BlockT rather than ArrayT if only the BlockT methods are needed.

. Class Hierarchy . Object Hierarchy

XMM-Newton SOC -- 2021-11-30