Bayeux  3.4.1
Core Foundation library for SuperNEMO
Welcome to the Bayeux Documentation

Overview

Bayeux provides a collection of C++ classes and functions designed for the simulation, recording and analysis of data for experimental particle and nuclear physics projects. This functionality is split into several specialized submodules:

datatools : Serializable data structures based on Boost.

brio : A Boost over ROOT I/O serialization system (extends datatools).

cuts : Generic tools for making arbitrary data selections.

materials : Description of isotopes, elements and materials plus tools for input to simulation applications (i.e. GDML/Geant4).

mygsl : C++ wrapper and extensions to the GNU Scientific Library.

geomtools : Generic tools for working with experiment geometries and provide input to simulation tools (i.e. GDML/Geant4).

emfield : Electromagnetic field modelling and management.

genbb_help : C++ wrapper and extensions to the Decay0/GENBB program by Vladimir Tretyak, for input to simulation applications.

genvtx : Vertex random generator tools for input to simulation applications.

dpp : A basic data processing pipeline API.

mctools : Utilities for particle and nuclear physics simulation with a Geant4 interface.

lahague : Utilities for radioprotection and dosimetry.

Authors

  • François Mauger (LPC Caen, CNRS/IN2P3, ENSICAEN, Université de Caen Basse-Normandie, Caen, France)
  • Xavier Garrido (LAL, CNRS/IN2P3, Université Paris-Sud, Orsay, France)
  • Benoit Guillon (LPC Caen, CNRS/IN2P3, ENSICAEN, Caen, France)
  • Ben Morgan (The University of Warwick, Coventry, United Kingdom)
  • Arnaud Chapon (CERAP, France)

Acknowlegments

Bayeux also makes use of some code fragments or contributions written by other people and/or companies/institutions:

  • Hongli Lai, for the BinReloc tools (WTFPL licence)
  • Christian Pfligersdorffer, for the portable binary archive (version 5.0, Boost software licence)
  • Kitware, Inc., Insight Software Consortium, for dynamic loader class (OSI-approved BSD License)
  • Vladimir Tretyak, for the original genbb/decay0 event generator
  • Nicolas Devillard, for the Gnuplot pipe utility (GNU GPL v2)

Licence

Bayeux is distributed under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Copyright (C) 2008-2019 François Mauger, LPC Caen CNRS/IN2P3 and Université de Caen Normandie
Contact: mauger@lpccaen.in2p3.fr
This file is part of the Bayeux library.
Bayeux is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bayeux is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bayeux. If not, see <http://www.gnu.org/licenses/>.

Getting Started

If you're reading this online and don't yet have Bayeux installed, an Installation Guide is available. Note that at present Bayeux is only supported on POSIX platforms, and even here not all variants are guaranteed to work!

Core Applications and Libraries

Once you have an install of Bayeux, the following components are available to build client libraries and applications:

libBayeux : This is the main shared library that embeds all Bayeux's classes from Bayeux's submodules as well as core utilities like system registers of object factories, the datatools kernel and a few singletons.

bxquery : Request system informations about Bayeux.

bxvariant_inspector : Explore and edit a configuration of variant parameters (class datatools::variant_service).

bxmaterials_inspector : Inspect the configuration of a manager of materials (class materials::manager).

bxgeomtools_inspector : Inspect the configuration of a geometry modeling manager (class geomtools::manager).

bxgeomtools_mkskelcfg : TODO

bxgenbb_inspector : Inspect the configuration of a manager of particle generators (class genbb::manager).

bxgenbb_mkskelcfg : TODO

bxgenvtx_mkskelcfg : TODO

bxgenvtx_production : Inspect the configuration of a manager of vertex generators (class genvtx::manager).

bxdpp_processing : Run a pipeline of data processing modules (class dpp::module_manager).

libBayeux_mctools_geant4 : This is the shared library plugin that embeds the Bayeux/mctools Geant4 interface.

bxg4_production : Run a Geant4 based simulation run (class mctools::g4::manager).

bxg4_seeds : Generate independant seeding sets for a bunch of Geant4 based simulation runs.

OCD support : Object Configuration Description.

User Guides

Documents detailing the use and design of Bayeux may be found on under the Related Pages tab if you are reading the HTML documentation, or in the following sections in the printed manual.

TODO