SatAndLight  2.2.2-hubble
Simulation toolkit for space telescopes
Loading...
Searching...
No Matches
SatAndLight

The SatAndLight package was developed to simulate astrophysical observations in space. Various out-of-the-box command-line programs can be used to generate observation sequences. These programs are highly tunable and user-friendly. For more details, see the program documentation.

For specific studies, SatAndLight offers a set of C++ classes to describe scientific instruments embarked in a satellite. Single elements are simulated separately: the satellite, the telescope elements (optics, geometry, camera...), sources of photons, etc... They are represented as C++ classes with associated methods. Taking advantage of the C++ class inheritance, these elements can be combined altogether to simulate an end-to-end observation sequence of astrophysical objects. A SatAndLight observation sequence can be saved on disk and be replayed as an input for analysis: see snl-sequence.cc.

User programs

SatAndLight comes with a collection of user programs using SatAndLight libraries:

In addition, user programs are available to help with the parameterization of your simulation:

  • snl-psf.cc program to generate a telescope point spread function. See also the telescope psf definition.
  • snl-acceptance.cc program to generate a telescope acceptance function. See also the telescope acceptance definition.
  • snl-spectime.cc program to generate the flux function (light curve and spectrum) associated to an astrophysical source of particles. See also the source SpecTime definition.

Download SatAndLight

First, define your source directory and your installation directories. For example:

export SNL_SRCDIR=${HOME}/src
export SNL_INSTALLDIR=${HOME}/opt/SatAndLight
mkdir -p ${SNL_SRCDIR} ${SNL_INSTALLDIR}

You can download the SatAndLight source tarball from gitlab:

 cd ${SNL_SRCDIR}
 wget https://gitlab.in2p3.fr/SVOM/SatAndLight/-/archive/[X.Y.Z-relname]/SatAndLight-[X.Y.Z-relname].tar.gz
 tar -xzf SatAndLight-[X.Y.Z-relname].tar.gz

where [X.Y.Z-relname] is the SatAndLight version of your choice.

Alternatively, you can get a development copy of the SatAnLight software suite using git and select a release tag:

 cd ${SNL_SRCDIR}
 git clone https://gitlab.in2p3.fr/SVOM/SatAndLight.git
 cd SatAndLight/
 git checkout [X.Y.Z-relname]

Build SatAndLight

The SatAndlight package relies on several external packages which you must install on your machine:

  • ROOT libraries are used for plotting and data management. ROOT (version 6) must be installed including cfitsio-devel and fftw-devel libraries. The ROOT environment must be sourced with ${ROOTSYS}/bin/thisroot.sh.
  • CMake is used to build SatAndLight.
  • Doxygen is used to build the SatAndLight documentation. This package is optional.

In this section we give step-by-step instructions to build SatAndLight for UNIX (bash/sh) systems.

# go to the source directory
cd ${SNL_SRCDIR}/SatAndLight/

# create the build directory
mkdir ./build/; cd ./build/

# configure SatAndLight
cmake -DCMAKE_INSTALL_PREFIX=${SNL_INSTALLDIR} ${SNL_SRCDIR}/SatAndLight

# compile SatAndLight
make

# install SatAndLight
make install

An environment script has been generated. It must be sourced before using SatAndLight:

source ${SNL_INSTALLDIR}/etc/satandlight.env.sh

You can test that SatAndLight is correctly installed by typing:

snl-sequence version

If you have the Doxygen software installed in your machine, you can access SatAndLight documentation with a web browser at file://${SNL_INSTALLDIR}/share/doc/SatAndLight/html/index.html.

Develop a project on top of SatAndLight libraries

SatAndLight offers a set of C++ classes to describe scientific instruments embarked in a satellite. The corresponding libraries can be used to develop user programs or projects:

  • C++ classes: documentation for SatAndLight C++ classes.
  • Definitions & Conventions: SatAndLight comes with a set of definitions and conventions which must be considered when developing a user project.
  • TBC: documentation to integrate your project with CMake.

Documentation and links

General

Related pages

See all documentation pages in the Related Pages

Authors

Florent Robinet - Laboratoire de Physique des 2 Infinis Irène Joliot-Curie (IJCLab) Orsay, France - contact

Contributors

  • Shaymaa Hussein (IJCLab)