OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
MultiVariateGaussian Class Reference

A particle generation method following multivariate Gaussian distribution. More...

#include <MultiVariateGaussian.h>

Inheritance diagram for MultiVariateGaussian:
Inheritance graph
Collaboration diagram for MultiVariateGaussian:
Collaboration graph

Public Member Functions

 MultiVariateGaussian (std::shared_ptr< ParticleContainer_t > pc, std::shared_ptr< FieldContainer_t > fc, Distribution_t *opalDist)
 Constructor for MultiVariateGaussian.
 
 MultiVariateGaussian (std::shared_ptr< ParticleContainer_t > pc, const Vector_t< double, 3 > &meanR, const Vector_t< double, 3 > &meanP, const Vector_t< double, 3 > &sigmaR, const Vector_t< double, 3 > &sigmaP, const Vector_t< double, 3 > &cutoffR, const Vector_t< double, 3 > &cutoffP, bool fixMeanR=true, bool fixMeanP=true)
 Constructor for MultiVariateGaussian with specified parameters.
 
 MultiVariateGaussian (std::shared_ptr< ParticleContainer_t > pc, const Vector_t< double, 3 > &meanR, const Vector_t< double, 3 > &meanP, const Matrix_t &cov, const Vector_t< double, 3 > &cutoffR, const Vector_t< double, 3 > &cutoffP, bool fixMeanR=true, bool fixMeanP=true)
 Constructs the MultiVariateGaussian class.
 
void ComputeCholeskyFactorization ()
 Computes the Cholesky factorization of the covariance matrix.
 
void ComputeCenteredBounds ()
 Computes centered bounds for the particle distribution.
 
void generateParticles (size_t &numberOfParticles, Vector_t< double, 3 > nr) override
 Generates particles based on the defined Gaussian distribution.
 
void emitParticles (double t, double dt) override
 Time-stepped emission hook for one-shot delayed injection.
 
void setMeanR (const Vector_t< double, 3 > &meanR)
 
void setMeanP (const Vector_t< double, 3 > &meanP)
 
void setCutoffR (const Vector_t< double, 3 > &cutoffR)
 
void setCutoffP (const Vector_t< double, 3 > &cutoffP)
 
void setFixMeanR (bool fixMeanR)
 
void setFixMeanP (bool fixMeanP)
 
void setSigmaR (const Vector_t< double, 3 > &sigmaR)
 
void setSigmaP (const Vector_t< double, 3 > &sigmaP)
 
void setCovarianceMatrix (const Matrix_t &cov)
 
void setL (const Matrix_t &L)
 
void setEmissionOffsets (ippl::Vector< double, 3 > R0, ippl::Vector< double, 3 > P0, double t0, const std::string &emissionModel="NONE")
 
void setInitialPolarization (const ippl::Vector< double, 3 > &pol)
 
void fillPolarization (size_t startIdx, size_t count)
 
Vector_t< double, 3 > getEmissionR0 () const
 
virtual bool isEmissionDone (double t) const
 Whether this sampler has finished all emission (no more particles will be created).
 
virtual double getGlobalTimeShift () const
 Optional tracker time shift needed before the first emitted particles are born.
 
virtual bool hasInitialReferenceMomentum () const
 Optional initial reference momentum in the source-local frame.
 
virtual Vector_t< double, 3 > getInitialReferenceMomentum () const
 
virtual double getEmissionTimeStep () const
 Optional OPAL-like tracker time step while this sampler is still emitting.
 
virtual void testNumEmitParticles (size_t, double)
 
virtual void testEmitParticles (size_t, double)
 
virtual void initDomainDecomp (double)
 
virtual void setWithDomainDecomp (bool)
 
size_t computeLocalEmitCount (size_t totalToSample) const
 Computes the number of particles this rank should emit so that the global total equals totalToSample and no rank exceeds its capacity (space left).
 

Public Attributes

IpplTimings::TimerRef samplerTimer_m
 Timer for performance profiling.
 

Protected Attributes

std::shared_ptr< ParticleContainer_tpc_m
 
std::shared_ptr< FieldContainer_tfc_m
 
Distribution_topalDist_m = nullptr
 
std::string samplingMethod_m
 
Vector_t< double, 3 > R0_m = 0.0
 Emission source offset: position R0, momentum P0, start time t0 (applied in sample step).
 
Vector_t< double, 3 > P0_m = 0.0
 
double t0_m = 0.0
 
std::string emissionModel_m = "NONE"
 
Vector_t< double, 3 > initialPol_m = 0.0
 
bool hasEmittedOnce_m = false
 For one-shot emitters (e.g. Gaussian at delayed t0): guard to avoid double sampling.
 

Private Member Functions

void initRandomPool ()
 Initializes the random number generator pool.
 

Private Attributes

Vector_t< double, 3 > meanR_m
 
Vector_t< double, 3 > meanP_m
 
Matrix_t cov_m
 
Matrix_t L_m
 
Vector_t< double, 3 > rmin_m
 
Vector_t< double, 3 > rmax_m
 
Vector_t< double, 3 > pmin_m
 
Vector_t< double, 3 > pmax_m
 
Vector_t< double, 3 > normRmin_m
 
Vector_t< double, 3 > normRmax_m
 
Vector_t< double, 3 > normPmin_m
 
Vector_t< double, 3 > normPmax_m
 
Vector_t< double, 6 > min_m
 Min and Max bounds for all 6 dimensions (R0,P0,R1,P1,R2,P2).
 
Vector_t< double, 6 > max_m
 
Vector_t< double, 6 > normMin_m
 
Vector_t< double, 6 > normMax_m
 
Vector_t< double, 3 > cutoffR_m
 Cutoff multipliers for position and momentum distributions.
 
Vector_t< double, 3 > cutoffP_m
 
GeneratorPool randPool_m
 Pool of random number generators for parallel sampling.
 
Vector_t< double, 3 > sigmaR_m
 Standard deviations for position and momentum distributions.
 
Vector_t< double, 3 > sigmaP_m
 
bool fixMeanR_m
 Flag to exactly fix the mean R and P of particles after sampling.
 
bool fixMeanP_m
 

Detailed Description

A particle generation method following multivariate Gaussian distribution.

This class generates particles following a multivariate Gaussian distribution using Cholesky factorization and inverse transformation sampling.

Given covariance matrix cov_m = [ Cov(R0,R0), Cov(R0,P0), Cov(R0,R1), Cov(R0,P1), ...] whose values are read from opalDist_m->correlationMatrix_m. First, the Cholesky factorization is computed cov_m = L_m * L_m^T Then, normally distribution particles R=P~N(0,I) are transformed to multivariate using L_m.

Definition at line 29 of file MultiVariateGaussian.h.

Constructor & Destructor Documentation

◆ MultiVariateGaussian() [1/3]

MultiVariateGaussian::MultiVariateGaussian ( std::shared_ptr< ParticleContainer_t pc,
std::shared_ptr< FieldContainer_t fc,
Distribution_t opalDist 
)

Constructor for MultiVariateGaussian.

Constructs the MultiVariateGaussian class.

Parameters
pcShared pointer to the particle container.
fcShared pointer to the field container.
opalDistBorrowed distribution.

Definition at line 13 of file MultiVariateGaussian.cpp.

References Distribution::correlationMatrix_m, cov_m, Distribution::getAvrgpz(), Distribution::getCutoffP(), Distribution::getCutoffR(), Distribution::getSigmaP(), Distribution::getSigmaR(), initRandomPool(), meanP_m, meanR_m, SamplingBase::opalDist_m, samplerTimer_m, setCutoffP(), setCutoffR(), setSigmaP(), and setSigmaR().

Here is the call graph for this function:

◆ MultiVariateGaussian() [2/3]

MultiVariateGaussian::MultiVariateGaussian ( std::shared_ptr< ParticleContainer_t pc,
const Vector_t< double, 3 > &  meanR,
const Vector_t< double, 3 > &  meanP,
const Vector_t< double, 3 > &  sigmaR,
const Vector_t< double, 3 > &  sigmaP,
const Vector_t< double, 3 > &  cutoffR,
const Vector_t< double, 3 > &  cutoffP,
bool  fixMeanR = true,
bool  fixMeanP = true 
)

Constructor for MultiVariateGaussian with specified parameters.

Parameters
meanRMean position vector.
meanPMean momentum vector.
sigmaRStandard deviation for position distribution.
sigmaPStandard deviation for momentum distribution.
cutoffRCutoff position vector.
cutoffPCutoff momentum vector.
fixMeanRBoolean flag to fix mean position.
fixMeanPBoolean flag to fix mean momentum.

Definition at line 37 of file MultiVariateGaussian.cpp.

References cov_m, initRandomPool(), samplerTimer_m, setCutoffP(), setCutoffR(), setFixMeanP(), setFixMeanR(), setMeanP(), setMeanR(), setSigmaP(), and setSigmaR().

Here is the call graph for this function:

◆ MultiVariateGaussian() [3/3]

MultiVariateGaussian::MultiVariateGaussian ( std::shared_ptr< ParticleContainer_t pc,
const Vector_t< double, 3 > &  meanR,
const Vector_t< double, 3 > &  meanP,
const Matrix_t cov,
const Vector_t< double, 3 > &  cutoffR,
const Vector_t< double, 3 > &  cutoffP,
bool  fixMeanR = true,
bool  fixMeanP = true 
)

Constructs the MultiVariateGaussian class.

Parameters
pcShared pointer to the particle container.
meanRMean position vector.
meanPMean momentum vector.
covCovariance matrix.
cutoffRCutoff position vector.
cutoffPCutoff momentum vector.
fixMeanRBoolean flag to fix mean position.
fixMeanPBoolean flag to fix mean momentum.

Definition at line 68 of file MultiVariateGaussian.cpp.

References cov_m, initRandomPool(), samplerTimer_m, setCutoffP(), setCutoffR(), setFixMeanP(), setFixMeanR(), setMeanP(), setMeanR(), setSigmaP(), and setSigmaR().

Here is the call graph for this function:

Member Function Documentation

◆ ComputeCenteredBounds()

void MultiVariateGaussian::ComputeCenteredBounds ( )

Computes centered bounds for the particle distribution.

Computes normalized boundaries for the multivariate Gaussian sampling.

Definition at line 142 of file MultiVariateGaussian.cpp.

References cutoffP_m, cutoffR_m, L_m, max_m, min_m, normMax_m, normMin_m, normPmax_m, normPmin_m, normRmax_m, normRmin_m, pmax_m, pmin_m, rmax_m, rmin_m, sigmaP_m, and sigmaR_m.

Referenced by generateParticles().

◆ ComputeCholeskyFactorization()

void MultiVariateGaussian::ComputeCholeskyFactorization ( )

Computes the Cholesky factorization of the covariance matrix.

Computes the Cholesky decomposition of the covariance matrix.

Definition at line 117 of file MultiVariateGaussian.cpp.

References cov_m, and L_m.

Referenced by generateParticles().

◆ computeLocalEmitCount()

size_t SamplingBase::computeLocalEmitCount ( size_t  totalToSample) const
inherited

Computes the number of particles this rank should emit so that the global total equals totalToSample and no rank exceeds its capacity (space left).

Parameters
totalToSampleGlobal number of particles to emit this timestep.
Returns
Local number of particles this rank should create/emit.

Definition at line 6 of file SamplingBase.cpp.

References SamplingBase::pc_m.

Referenced by FlatTop::countEnteringParticlesPerRank(), FromFile::generateParticles(), Gaussian::generateParticles(), and generateParticles().

◆ emitParticles()

void MultiVariateGaussian::emitParticles ( double  t,
double  dt 
)
overridevirtual

Time-stepped emission hook for one-shot delayed injection.

Like Gaussian, this emits once when [t, t+dt] crosses t0 for sources configured with t0 > 0 and a positive NPARTDIST. Initial sampling at t0 == 0 is handled via generateParticles.

Reimplemented from SamplingBase.

Definition at line 376 of file MultiVariateGaussian.cpp.

References generateParticles(), Distribution::getNumParticles(), SamplingBase::hasEmittedOnce_m, SamplingBase::opalDist_m, SamplingBase::pc_m, and SamplingBase::t0_m.

Here is the call graph for this function:

◆ fillPolarization()

void SamplingBase::fillPolarization ( size_t  startIdx,
size_t  count 
)
inlineinherited

Fill the Pol particle attribute with initialPol_m on the half-open range [startIdx, startIdx + count). No-op when the container does not store spin. Must be called after the particles have been created and before they are pushed downstream.

Definition at line 63 of file SamplingBase.hpp.

References SamplingBase::initialPol_m, and SamplingBase::pc_m.

Referenced by FlatTop::emitParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), and generateParticles().

◆ generateParticles()

void MultiVariateGaussian::generateParticles ( size_t &  numberOfParticles,
Vector_t< double, 3 >  nr 
)
overridevirtual

Generates particles based on the defined Gaussian distribution.

Generates particles following a multivariate Gaussian distribution.

Parameters
numberOfParticlesNumber of particles to generate.
nrVector specifying additional sampling parameters.

Reimplemented from SamplingBase.

Definition at line 190 of file MultiVariateGaussian.cpp.

References ComputeCenteredBounds(), ComputeCholeskyFactorization(), SamplingBase::computeLocalEmitCount(), SamplingBase::emissionModel_m, SamplingBase::fillPolarization(), fixMeanP_m, fixMeanR_m, SamplingBase::hasEmittedOnce_m, L_m, meanP_m, meanR_m, normPmax_m, normPmin_m, normRmax_m, normRmin_m, SamplingBase::P0_m, SamplingBase::pc_m, SamplingBase::R0_m, randPool_m, samplerTimer_m, and SamplingBase::t0_m.

Referenced by emitParticles(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().

Here is the call graph for this function:

◆ getEmissionR0()

Vector_t< double, 3 > SamplingBase::getEmissionR0 ( ) const
inlineinherited

Definition at line 78 of file SamplingBase.hpp.

References SamplingBase::R0_m.

◆ getEmissionTimeStep()

virtual double SamplingBase::getEmissionTimeStep ( ) const
inlinevirtualinherited

Optional OPAL-like tracker time step while this sampler is still emitting.

Reimplemented in EmittedFromFile, and OpalFlatTop.

Definition at line 102 of file SamplingBase.hpp.

◆ getGlobalTimeShift()

virtual double SamplingBase::getGlobalTimeShift ( ) const
inlinevirtualinherited

Optional tracker time shift needed before the first emitted particles are born.

Reimplemented in EmittedFromFile, and OpalFlatTop.

Definition at line 92 of file SamplingBase.hpp.

◆ getInitialReferenceMomentum()

virtual Vector_t< double, 3 > SamplingBase::getInitialReferenceMomentum ( ) const
inlinevirtualinherited

Reimplemented in EmittedFromFile, and OpalFlatTop.

Definition at line 97 of file SamplingBase.hpp.

◆ hasInitialReferenceMomentum()

virtual bool SamplingBase::hasInitialReferenceMomentum ( ) const
inlinevirtualinherited

Optional initial reference momentum in the source-local frame.

Reimplemented in EmittedFromFile, and OpalFlatTop.

Definition at line 95 of file SamplingBase.hpp.

◆ initDomainDecomp()

virtual void SamplingBase::initDomainDecomp ( double  )
inlinevirtualinherited

Reimplemented in FlatTop, and OpalFlatTop.

Definition at line 110 of file SamplingBase.hpp.

◆ initRandomPool()

void MultiVariateGaussian::initRandomPool ( )
private

Initializes the random number generator pool.

Definition at line 98 of file MultiVariateGaussian.cpp.

References gmsg, randPool_m, and Options::seed.

Referenced by MultiVariateGaussian(), MultiVariateGaussian(), and MultiVariateGaussian().

◆ isEmissionDone()

virtual bool SamplingBase::isEmissionDone ( double  t) const
inlinevirtualinherited

Whether this sampler has finished all emission (no more particles will be created).

Parameters
tCurrent simulation time (s).

Reimplemented in FlatTop, EmittedFromFile, and OpalFlatTop.

Definition at line 86 of file SamplingBase.hpp.

References SamplingBase::hasEmittedOnce_m.

◆ setCovarianceMatrix()

void MultiVariateGaussian::setCovarianceMatrix ( const Matrix_t cov)
inline

Definition at line 122 of file MultiVariateGaussian.h.

References cov_m.

◆ setCutoffP()

void MultiVariateGaussian::setCutoffP ( const Vector_t< double, 3 > &  cutoffP)
inline

Definition at line 113 of file MultiVariateGaussian.h.

References cutoffP_m.

Referenced by MultiVariateGaussian(), MultiVariateGaussian(), and MultiVariateGaussian().

◆ setCutoffR()

void MultiVariateGaussian::setCutoffR ( const Vector_t< double, 3 > &  cutoffR)
inline

Definition at line 111 of file MultiVariateGaussian.h.

References cutoffR_m.

Referenced by MultiVariateGaussian(), MultiVariateGaussian(), and MultiVariateGaussian().

◆ setEmissionOffsets()

void SamplingBase::setEmissionOffsets ( ippl::Vector< double, 3 >  R0,
ippl::Vector< double, 3 >  P0,
double  t0,
const std::string &  emissionModel = "NONE" 
)
inlineinherited

◆ setFixMeanP()

void MultiVariateGaussian::setFixMeanP ( bool  fixMeanP)
inline

Definition at line 117 of file MultiVariateGaussian.h.

References fixMeanP_m.

Referenced by MultiVariateGaussian(), and MultiVariateGaussian().

◆ setFixMeanR()

void MultiVariateGaussian::setFixMeanR ( bool  fixMeanR)
inline

Definition at line 115 of file MultiVariateGaussian.h.

References fixMeanR_m.

Referenced by MultiVariateGaussian(), and MultiVariateGaussian().

◆ setInitialPolarization()

void SamplingBase::setInitialPolarization ( const ippl::Vector< double, 3 > &  pol)
inlineinherited

Definition at line 57 of file SamplingBase.hpp.

References SamplingBase::initialPol_m.

◆ setL()

void MultiVariateGaussian::setL ( const Matrix_t L)
inline

Definition at line 124 of file MultiVariateGaussian.h.

References L_m.

◆ setMeanP()

void MultiVariateGaussian::setMeanP ( const Vector_t< double, 3 > &  meanP)
inline

Definition at line 109 of file MultiVariateGaussian.h.

References meanP_m.

Referenced by MultiVariateGaussian(), and MultiVariateGaussian().

◆ setMeanR()

void MultiVariateGaussian::setMeanR ( const Vector_t< double, 3 > &  meanR)
inline

Definition at line 107 of file MultiVariateGaussian.h.

References meanR_m.

Referenced by MultiVariateGaussian(), and MultiVariateGaussian().

◆ setSigmaP()

void MultiVariateGaussian::setSigmaP ( const Vector_t< double, 3 > &  sigmaP)
inline

Definition at line 120 of file MultiVariateGaussian.h.

References sigmaP_m.

Referenced by MultiVariateGaussian(), MultiVariateGaussian(), and MultiVariateGaussian().

◆ setSigmaR()

void MultiVariateGaussian::setSigmaR ( const Vector_t< double, 3 > &  sigmaR)
inline

Definition at line 119 of file MultiVariateGaussian.h.

References sigmaR_m.

Referenced by MultiVariateGaussian(), MultiVariateGaussian(), and MultiVariateGaussian().

◆ setWithDomainDecomp()

virtual void SamplingBase::setWithDomainDecomp ( bool  )
inlinevirtualinherited

Reimplemented in FlatTop, and OpalFlatTop.

Definition at line 112 of file SamplingBase.hpp.

◆ testEmitParticles()

virtual void SamplingBase::testEmitParticles ( size_t  ,
double   
)
inlinevirtualinherited

Definition at line 108 of file SamplingBase.hpp.

◆ testNumEmitParticles()

virtual void SamplingBase::testNumEmitParticles ( size_t  ,
double   
)
inlinevirtualinherited

Definition at line 105 of file SamplingBase.hpp.

Member Data Documentation

◆ cov_m

◆ cutoffP_m

Vector_t<double, 3> MultiVariateGaussian::cutoffP_m
private

Definition at line 161 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and setCutoffP().

◆ cutoffR_m

Vector_t<double, 3> MultiVariateGaussian::cutoffR_m
private

Cutoff multipliers for position and momentum distributions.

Definition at line 160 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and setCutoffR().

◆ emissionModel_m

◆ fc_m

std::shared_ptr<FieldContainer_t> SamplingBase::fc_m
protectedinherited

◆ fixMeanP_m

bool MultiVariateGaussian::fixMeanP_m
private

Definition at line 183 of file MultiVariateGaussian.h.

Referenced by generateParticles(), and setFixMeanP().

◆ fixMeanR_m

bool MultiVariateGaussian::fixMeanR_m
private

Flag to exactly fix the mean R and P of particles after sampling.

Definition at line 182 of file MultiVariateGaussian.h.

Referenced by generateParticles(), and setFixMeanR().

◆ hasEmittedOnce_m

bool SamplingBase::hasEmittedOnce_m = false
protectedinherited

For one-shot emitters (e.g. Gaussian at delayed t0): guard to avoid double sampling.

Definition at line 33 of file SamplingBase.hpp.

Referenced by FromFile::emitParticles(), Gaussian::emitParticles(), emitParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), generateParticles(), and SamplingBase::isEmissionDone().

◆ initialPol_m

Vector_t<double, 3> SamplingBase::initialPol_m = 0.0
protectedinherited

Initial polarization vector P applied to every particle this sampler creates. Rest-frame Pauli expectations along lab-frame axes; |Pol| in [0, 1]. Ignored when the container does not have a spin attribute (hasSpin() == false).

Definition at line 30 of file SamplingBase.hpp.

Referenced by SamplingBase::fillPolarization(), and SamplingBase::setInitialPolarization().

◆ L_m

Matrix_t MultiVariateGaussian::L_m
private

◆ max_m

Vector_t<double, 6> MultiVariateGaussian::max_m
private

Definition at line 155 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ meanP_m

Vector_t<double, 3> MultiVariateGaussian::meanP_m
private

Definition at line 130 of file MultiVariateGaussian.h.

Referenced by generateParticles(), MultiVariateGaussian(), and setMeanP().

◆ meanR_m

Vector_t<double, 3> MultiVariateGaussian::meanR_m
private

Definition at line 130 of file MultiVariateGaussian.h.

Referenced by generateParticles(), MultiVariateGaussian(), and setMeanR().

◆ min_m

Vector_t<double, 6> MultiVariateGaussian::min_m
private

Min and Max bounds for all 6 dimensions (R0,P0,R1,P1,R2,P2).

Definition at line 155 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ normMax_m

Vector_t<double, 6> MultiVariateGaussian::normMax_m
private

Definition at line 155 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ normMin_m

Vector_t<double, 6> MultiVariateGaussian::normMin_m
private

Definition at line 155 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ normPmax_m

Vector_t<double, 3> MultiVariateGaussian::normPmax_m
private

Definition at line 150 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and generateParticles().

◆ normPmin_m

Vector_t<double, 3> MultiVariateGaussian::normPmin_m
private

Definition at line 150 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and generateParticles().

◆ normRmax_m

Vector_t<double, 3> MultiVariateGaussian::normRmax_m
private

Definition at line 150 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and generateParticles().

◆ normRmin_m

Vector_t<double, 3> MultiVariateGaussian::normRmin_m
private

Definition at line 150 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and generateParticles().

◆ opalDist_m

◆ P0_m

◆ pc_m

◆ pmax_m

Vector_t<double, 3> MultiVariateGaussian::pmax_m
private

Definition at line 145 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ pmin_m

Vector_t<double, 3> MultiVariateGaussian::pmin_m
private

Definition at line 145 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ R0_m

Vector_t<double, 3> SamplingBase::R0_m = 0.0
protectedinherited

◆ randPool_m

GeneratorPool MultiVariateGaussian::randPool_m
private

Pool of random number generators for parallel sampling.

Definition at line 171 of file MultiVariateGaussian.h.

Referenced by generateParticles(), and initRandomPool().

◆ rmax_m

Vector_t<double, 3> MultiVariateGaussian::rmax_m
private

Definition at line 145 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ rmin_m

Vector_t<double, 3> MultiVariateGaussian::rmin_m
private

Definition at line 145 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds().

◆ samplerTimer_m

IpplTimings::TimerRef MultiVariateGaussian::samplerTimer_m

Timer for performance profiling.

Definition at line 105 of file MultiVariateGaussian.h.

Referenced by generateParticles(), MultiVariateGaussian(), MultiVariateGaussian(), and MultiVariateGaussian().

◆ samplingMethod_m

std::string SamplingBase::samplingMethod_m
protectedinherited

Definition at line 20 of file SamplingBase.hpp.

◆ sigmaP_m

Vector_t<double, 3> MultiVariateGaussian::sigmaP_m
private

Definition at line 177 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and setSigmaP().

◆ sigmaR_m

Vector_t<double, 3> MultiVariateGaussian::sigmaR_m
private

Standard deviations for position and momentum distributions.

Definition at line 176 of file MultiVariateGaussian.h.

Referenced by ComputeCenteredBounds(), and setSigmaR().

◆ t0_m


The documentation for this class was generated from the following files: