src/core/utils/distributions.h

Wrapper for Boost.Random random number distributions used for portability. More…

Namespaces

Name
allpix
Helper class to hold support layers for a detector model.

Types

Name
template <typename T >
using boost::random::normal_distribution< T >
normal_distribution
template <typename T >
using boost::random::piecewise_linear_distribution< T >
piecewise_linear_distribution
template <typename T >
using boost::random::poisson_distribution< T >
poisson_distribution
template <typename T >
using boost::random::uniform_real_distribution< T >
uniform_real_distribution
template <typename T >
using boost::random::exponential_distribution< T >
exponential_distribution

Detailed Description

Wrapper for Boost.Random random number distributions used for portability.

Copyright: Copyright (c) 2019-2025 CERN and the Allpix Squared authors. This software is distributed under the terms of the MIT License, copied verbatim in the file “LICENSE.md”. In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an Intergovernmental Organization or submit itself to any jurisdiction. SPDX-License-Identifier: MIT

Types Documentation

using normal_distribution

template <typename T >
using allpix::normal_distribution = typedef boost::random::normal_distribution<T>;

using piecewise_linear_distribution

template <typename T >
using allpix::piecewise_linear_distribution = typedef boost::random::piecewise_linear_distribution<T>;

using poisson_distribution

template <typename T >
using allpix::poisson_distribution = typedef boost::random::poisson_distribution<T>;

using uniform_real_distribution

template <typename T >
using allpix::uniform_real_distribution = typedef boost::random::uniform_real_distribution<T>;

using exponential_distribution

template <typename T >
using allpix::exponential_distribution = typedef boost::random::exponential_distribution<T>;

Source code


#ifndef ALLPIX_RANDOM_DISTRIBUTIONS_H
#define ALLPIX_RANDOM_DISTRIBUTIONS_H

#include <boost/random/exponential_distribution.hpp>
#include <boost/random/normal_distribution.hpp>
#include <boost/random/piecewise_linear_distribution.hpp>
#include <boost/random/poisson_distribution.hpp>
#include <boost/random/uniform_real_distribution.hpp>

namespace allpix {
    template <typename T> using normal_distribution = boost::random::normal_distribution<T>;
    template <typename T> using piecewise_linear_distribution = boost::random::piecewise_linear_distribution<T>;
    template <typename T> using poisson_distribution = boost::random::poisson_distribution<T>;
    template <typename T> using uniform_real_distribution = boost::random::uniform_real_distribution<T>;
    template <typename T> using exponential_distribution = boost::random::exponential_distribution<T>;
} // namespace allpix

#endif // ALLPIX_RANDOM_DISTRIBUTIONS_H

Updated on 2025-04-30 at 14:49:41 +0000