ATTPCROOT
0.3.0-alpha
A ROOT-based framework for analyzing data from active target detectors
AtReconstruction
AtFitter
ParameterDistributions
AtParameterDistribution.h
Go to the documentation of this file.
1
#ifndef ATPARAMETERDISTRIBUTION_H
2
#define ATPARAMETERDISTRIBUTION_H
3
4
#include <memory>
5
#include <random>
6
namespace
MCFitter
{
7
8
class
AtParameterDistribution
{
9
10
protected
:
11
double
fMean
{0};
12
double
fSpread
{0};
13
long
fSeed
;
14
static
thread_local std::unique_ptr<std::mt19937>
fRand
;
15
16
public
:
17
AtParameterDistribution
(
double
mean
,
double
spread,
long
seed = 0);
18
virtual
~AtParameterDistribution
() =
default
;
19
20
double
GetMean
()
const
{
return
fMean
; }
21
double
GetSpread
()
const
{
return
fSpread
; }
22
23
void
SetMean
(
double
mean
) {
fMean
=
mean
; }
24
void
SetSpread
(
double
spread) {
fSpread
= spread; }
25
26
double
Sample
();
27
28
virtual
void
TruncateSpace
() = 0;
29
30
protected
:
31
virtual
double
SampleSpread
() = 0;
32
};
33
34
}
// namespace MCFitter
35
36
#endif // ATPARAMETERDISTRIBUTION_H
MCFitter::AtParameterDistribution
Definition:
AtParameterDistribution.h:8
MCFitter::AtParameterDistribution::fSpread
double fSpread
Definition:
AtParameterDistribution.h:12
MCFitter::AtParameterDistribution::TruncateSpace
virtual void TruncateSpace()=0
MCFitter::AtParameterDistribution::GetMean
double GetMean() const
Definition:
AtParameterDistribution.h:20
MCFitter::AtParameterDistribution::SetMean
void SetMean(double mean)
Definition:
AtParameterDistribution.h:23
MCFitter::AtParameterDistribution::fRand
static thread_local std::unique_ptr< std::mt19937 > fRand
Definition:
AtParameterDistribution.h:14
MCFitter::AtParameterDistribution::fSeed
long fSeed
Definition:
AtParameterDistribution.h:13
MCFitter::AtParameterDistribution::Sample
double Sample()
Definition:
AtParameterDistribution.cxx:14
MCFitter::AtParameterDistribution::GetSpread
double GetSpread() const
Definition:
AtParameterDistribution.h:21
MCFitter::AtParameterDistribution::fMean
double fMean
Definition:
AtParameterDistribution.h:11
MCFitter::AtParameterDistribution::~AtParameterDistribution
virtual ~AtParameterDistribution()=default
MCFitter::AtParameterDistribution::AtParameterDistribution
AtParameterDistribution(double mean, double spread, long seed=0)
Definition:
AtParameterDistribution.cxx:9
MCFitter::AtParameterDistribution::SampleSpread
virtual double SampleSpread()=0
MCFitter::AtParameterDistribution::SetSpread
void SetSpread(double spread)
Definition:
AtParameterDistribution.h:24
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