ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtReconstruction
AtFitter
ParameterDistributions
AtUniformDistribution.cxx
Go to the documentation of this file.
1
#include "
AtUniformDistribution.h
"
2
3
#include <memory>
// for unique_ptr<>::element_type, unique_ptr
4
#include <random>
// for uniform_real_distribution
5
6
namespace
MCFitter
{
7
AtUniformDistribution::AtUniformDistribution
(
double
mean
,
double
spread,
double
seed)
8
:
AtParameterDistribution
(
mean
, spread, seed)
9
{
10
}
11
12
double
AtUniformDistribution::SampleSpread
()
13
{
14
// N.B. We recreate the distribution (which is cheap) each call to avoid data races when multithreaded
15
std::uniform_real_distribution<> distro{-1, 1};
16
return
distro(*
fRand
);
17
}
18
19
void
AtUniformDistribution::TruncateSpace
()
20
{
21
fSpread
*=
fTruncAmount
;
22
}
23
}
// namespace MCFitter
MCFitter::AtUniformDistribution::AtUniformDistribution
AtUniformDistribution(double mean, double spread, double seed=0)
Definition:
AtUniformDistribution.cxx:7
MCFitter::AtParameterDistribution
Definition:
AtParameterDistribution.h:8
MCFitter::AtParameterDistribution::fSpread
double fSpread
Definition:
AtParameterDistribution.h:12
MCFitter::AtParameterDistribution::fRand
static thread_local std::unique_ptr< std::mt19937 > fRand
Definition:
AtParameterDistribution.h:14
AtUniformDistribution.h
MCFitter::AtUniformDistribution::SampleSpread
double SampleSpread() override
Definition:
AtUniformDistribution.cxx:12
MCFitter::AtUniformDistribution::TruncateSpace
void TruncateSpace() override
Definition:
AtUniformDistribution.cxx:19
MCFitter::AtUniformDistribution::fTruncAmount
double fTruncAmount
Definition:
AtUniformDistribution.h:10
mean
double mean(const double *a, size_t m)
Definition:
cluster.cxx:26
MCFitter
Definition:
AtMCResult.cxx:5
Generated on Sat Nov 11 2023 15:30:38 for ATTPCROOT by
1.8.18