Skip to content

API reference

The BrahMap package features a three-level hierarchical abstraction to separate low-level mathematical primitives from high-level experiment interfaces:

  • Low-level interface: Defines abstract base classes, basic linear operators, and the base pointing pre-processing container. It is represented by the base sub-module.
  • Mid-level interface: Contains generic pointing operators, noise covariance models, preconditioners, and solvers - the core numerical components of the map-making pipelines. It builds upon the low-level foundation and is represented by the core, math, and utilities sub-modules.
  • High-level interface: Acts as a bridge connecting the mid-level map-making pipeline to external simulation frameworks and databases. Currently, it features wrappers and integration tools for litebird_sim under the lbsim sub-module.

Refer to the sections below for the detailed API reference of each component:

litebird_sim API

Interface Description
litebird_sim Interface Wrappers and interface classes for integrating with litebird_sim.

Core API

Interface Description
Core Map-making Interface Core map-making operators, solvers, parameters, and result containers.
Math Functions Numerical functions, linear algebra routines, and conjugate gradient solvers.
Utilities Parallelization managers, MPI helpers, and debugging utilities.

Base API

Interface Description
Base Classes Abstract base classes for linear operators and pointing pre-processing.
Miscellaneous Custom exceptions, warnings, and warning filtering tools.

C++ API

Under development