|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
|
Implements an old-OPAL-compatible flat-top emitter with precomputed birth times. More...
#include <OpalFlatTop.h>


Public Member Functions | |
| OpalFlatTop (std::shared_ptr< ParticleContainer_t > pc, std::shared_ptr< FieldContainer_t > fc, Distribution_t *opalDist) | |
| Constructor for OpalFlatTop. | |
| OpalFlatTop (std::shared_ptr< ParticleContainer_t > pc, std::shared_ptr< FieldContainer_t > fc, bool emitting, double sigmaTFall, double sigmaTRise, Vector_t< double, 3 > cutoff, double tPulseLengthFWHM, Vector_t< double, 3 > sigmaR, double ftOscAmplitude=0.0, double ftOscPeriods=0.0) | |
| Constructor for OpalFlatTop with parameters passed directly. | |
| void | generateParticles (size_t &numberOfParticles, Vector_t< double, 3 > nr) override |
| Builds the global birth-time inventory for the requested particles. | |
| void | emitParticles (double t, double dt) override |
| Emits all particles whose birth times fall into the current step. | |
| bool | isEmissionDone (double) const override |
| Returns whether all precomputed particles have been emitted. | |
| double | getGlobalTimeShift () const override |
| Returns the global time shift needed to center old-OPAL pulse times. | |
| bool | hasInitialReferenceMomentum () const override |
| Reports that this sampler provides an initial reference momentum. | |
| Vector_t< double, 3 > | getInitialReferenceMomentum () const override |
| Returns the initial reference momentum used by the tracker. | |
| double | getEmissionTimeStep () const override |
| Returns the preferred emission time step. | |
| void | initDomainDecomp (double BoxIncr) override |
| Initializes a domain decomposition large enough for the emitted bunch. | |
| void | setWithDomainDecomp (bool withDomainDecomp) override |
| Sets whether to use domain decomposition during emission. | |
| double | getEmissionTime () const |
| Returns the total emission time. | |
| double | getDistArea () const |
| Returns the total area of the normalized flat-top distribution. | |
| size_t | getInventorySize () const |
| Returns the number of precomputed birth times. | |
| size_t | getNextGlobalIndex () const |
| Returns the next global inventory index to be emitted. | |
| const std::vector< double > & | getBirthTimes () const |
| Returns the sorted global birth-time inventory. | |
| void | setBirthTimesForTest (std::vector< double > birthTimes) |
| Replaces the birth-time inventory for tests. | |
| void | generateLocalParticles (size_type nlocalBefore, size_t globalBegin, size_t nNew, double tStart, double dt) |
| Generates the local particles assigned to this rank for one emission step. | |
| 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 void | testNumEmitParticles (size_t, double) |
| virtual void | testEmitParticles (size_t, double) |
| 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). | |
Protected Attributes | |
| std::shared_ptr< ParticleContainer_t > | pc_m |
| std::shared_ptr< FieldContainer_t > | fc_m |
| Distribution_t * | opalDist_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 Types | |
| using | size_type = ippl::detail::size_type |
Private Member Functions | |
| void | setParameters (Distribution_t *opalDist) |
| Reads distribution parameters from the OPALX Distribution object. | |
| void | setInternalVariables (bool emitting, double sigmaTFall, double sigmaTRise, Vector_t< double, 3 > cutoff, double tPulseLengthFWHM, Vector_t< double, 3 > sigmaR, double ftOscAmplitude, double ftOscPeriods) |
| Sets derived flat-top profile and emission parameters. | |
| void | buildBirthTimeInventory (size_t numberOfParticles) |
| Builds and sorts the global particle birth-time inventory. | |
| double | sampleTruncatedHalfGaussian (double sigma, double limit) |
| Samples an absolute value from a Gaussian truncated at a limit. | |
| double | toBirthTime (double opalPulseTime) const |
| Converts old-OPAL pulse time to tracker birth time. | |
| std::pair< size_t, size_t > | computeLocalEmitRange (size_t totalToEmit) const |
| Computes the local contiguous subrange of a global emission batch. | |
Static Private Member Functions | |
| static size_t | determineRandInit () |
| Determines the device random seed initialization. | |
| static size_t | determineHostSeed () |
| Determines the host random seed initialization. | |
Private Attributes | |
| OpalFlatTopGeneratorPool | rand_pool_m |
| Device random number generator pool. | |
| std::mt19937_64 | host_rng_m |
| Host generator used to sample birth times. | |
| double | flattopTime_m = 0.0 |
| Time duration of the flat profile section. | |
| double | normalizedFlankArea_m = 0.0 |
| Area of one normalized truncated Gaussian flank. | |
| double | distArea_m = 0.0 |
| Total area of the flat-top distribution. | |
| double | sigmaTFall_m = 0.0 |
| Standard deviation of the falling flank. | |
| double | sigmaTRise_m = 0.0 |
| Standard deviation of the rising flank. | |
| Vector_t< double, 3 > | cutoffR_m |
| Cutoff multipliers for distribution support. | |
| double | fallTime_m = 0.0 |
| Duration represented by the falling flank. | |
| double | riseTime_m = 0.0 |
| Duration represented by the rising flank. | |
| bool | emitting_m = false |
| Flag for particle emission status. | |
| size_t | totalN_m = 0 |
| Total number of particles in the inventory. | |
| bool | withDomainDecomp_m = false |
| Flag for domain decomposition. | |
| double | emissionTime_m = 0.0 |
| Total emission time. | |
| Vector_t< double, 3 > | nr_m |
| Number of grid points per direction. | |
| Vector_t< double, 3 > | hr_m |
| Grid spacing. | |
| Vector_t< double, 3 > | sigmaR_m |
| Semi-axis lengths of the transverse disk. | |
| double | ftOscAmplitude_m = 0.0 |
| Flat-top oscillation amplitude in percent. | |
| double | ftOscPeriods_m = 0.0 |
| Number of oscillation periods across the flat top. | |
| size_t | emissionSteps_m = 100 |
| Number of steps used to derive emission dt. | |
| std::vector< double > | birthTimes_m |
| Sorted global particle birth times. | |
| size_t | nextGlobalIndex_m = 0 |
| First global birth-time index not emitted yet. | |
| bool | inventoryBuilt_m = false |
| True once birthTimes_m is ready for emission. | |
Implements an old-OPAL-compatible flat-top emitter with precomputed birth times.
x and y coordinates are sampled uniformly on an elliptical disk. The number of particles emitted in each time interval follows the flat-top time profile:
f(t)/Z = exp(-((t - riseTime_m) / sigmaTRise_m)^2 / 2), t < riseTime 1.0, riseTime <= t <= riseTime + flattopTime exp(-((t - (fallTime_m + flattopTime_m)) / sigmaTFall_m)^2 / 2), t > riseTime + flattopTime
where Z is the normalizing factor. Unlike FlatTop, this sampler builds a sorted global inventory of particle birth times before tracking starts and emits the matching slice during each tracker step.
Definition at line 43 of file OpalFlatTop.h.
|
private |
Definition at line 181 of file OpalFlatTop.h.
| OpalFlatTop::OpalFlatTop | ( | std::shared_ptr< ParticleContainer_t > | pc, |
| std::shared_ptr< FieldContainer_t > | fc, | ||
| Distribution_t * | opalDist | ||
| ) |
Constructor for OpalFlatTop.
| pc | Shared pointer to ParticleContainer. |
| fc | Shared pointer to FieldContainer. |
| opalDist | Borrowed Distribution. |
Definition at line 13 of file OpalFlatTop.cpp.
References setParameters().

| OpalFlatTop::OpalFlatTop | ( | std::shared_ptr< ParticleContainer_t > | pc, |
| std::shared_ptr< FieldContainer_t > | fc, | ||
| bool | emitting, | ||
| double | sigmaTFall, | ||
| double | sigmaTRise, | ||
| Vector_t< double, 3 > | cutoff, | ||
| double | tPulseLengthFWHM, | ||
| Vector_t< double, 3 > | sigmaR, | ||
| double | ftOscAmplitude = 0.0, |
||
| double | ftOscPeriods = 0.0 |
||
| ) |
Constructor for OpalFlatTop with parameters passed directly.
This is primarily intended for tests or callers that do not need a full Distribution object.
| pc | Shared pointer to ParticleContainer. |
| fc | Shared pointer to FieldContainer. |
| emitting | Flag indicating whether the distribution is emitting. |
| sigmaTFall | Standard deviation of the falling flank in the time profile. |
| sigmaTRise | Standard deviation of the rising flank in the time profile. |
| cutoff | Cutoff multiplier for the spatial and longitudinal distributions. |
| tPulseLengthFWHM | Time length of the pulse in FWHM. |
| sigmaR | Semi-axis lengths for the transverse emission disk. |
| ftOscAmplitude | Optional flat-top oscillation amplitude in percent. |
| ftOscPeriods | Optional number of oscillation periods across the flat top. |
Definition at line 22 of file OpalFlatTop.cpp.
References setInternalVariables().

|
private |
Builds and sorts the global particle birth-time inventory.
| numberOfParticles | Number of birth times to generate. |
Definition at line 111 of file OpalFlatTop.cpp.
References birthTimes_m, cutoffR_m, distArea_m, fallTime_m, flattopTime_m, ftOscAmplitude_m, ftOscPeriods_m, host_rng_m, inventoryBuilt_m, nextGlobalIndex_m, normalizedFlankArea_m, sampleTruncatedHalfGaussian(), sigmaTFall_m, sigmaTRise_m, toBirthTime(), and Physics::two_pi.
Referenced by generateParticles().

|
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).
| totalToSample | Global number of particles to emit this timestep. |
Definition at line 6 of file SamplingBase.cpp.
References SamplingBase::pc_m.
Referenced by FlatTop::countEnteringParticlesPerRank(), FromFile::generateParticles(), Gaussian::generateParticles(), and MultiVariateGaussian::generateParticles().
|
private |
Computes the local contiguous subrange of a global emission batch.
| totalToEmit | Number of particles emitted globally in the current step. |
Definition at line 207 of file OpalFlatTop.cpp.
References SamplingBase::pc_m.
Referenced by emitParticles().
|
staticprivate |
Determines the host random seed initialization.
Definition at line 45 of file OpalFlatTop.cpp.
References Options::seed.
|
staticprivate |
Determines the device random seed initialization.
Definition at line 33 of file OpalFlatTop.cpp.
References gmsg, and Options::seed.
|
overridevirtual |
Emits all particles whose birth times fall into the current step.
| t | Start time of the current tracker step. |
| dt | Time step size. |
Reimplemented from SamplingBase.
Definition at line 268 of file OpalFlatTop.cpp.
References birthTimes_m, computeLocalEmitRange(), generateLocalParticles(), inventoryBuilt_m, nextGlobalIndex_m, and SamplingBase::pc_m.
Referenced by TEST_F(), TEST_F(), and TEST_F().

|
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 MultiVariateGaussian::generateParticles().
| void OpalFlatTop::generateLocalParticles | ( | size_type | nlocalBefore, |
| size_t | globalBegin, | ||
| size_t | nNew, | ||
| double | tStart, | ||
| double | dt | ||
| ) |
Generates the local particles assigned to this rank for one emission step.
Particles are sampled on the transverse disk, assigned a per-particle fractional step based on their birth time, and drifted for half of that effective step.
| nlocalBefore | Local particle count before allocation. |
| globalBegin | First global birth-time index assigned to this rank. |
| nNew | Number of local particles to generate. |
| tStart | Start time of the current tracker step. |
| dt | Time step size. |
Definition at line 303 of file OpalFlatTop.cpp.
References birthTimes_m, Physics::c, SamplingBase::emissionModel_m, euclidean_norm(), SamplingBase::P0_m, SamplingBase::pc_m, SamplingBase::R0_m, rand_pool_m, sigmaR_m, and Physics::two_pi.
Referenced by emitParticles().

|
overridevirtual |
Builds the global birth-time inventory for the requested particles.
| numberOfParticles | Number of particles to generate. |
| nr | Number of grid points in each direction. |
Reimplemented from SamplingBase.
Definition at line 93 of file OpalFlatTop.cpp.
References buildBirthTimeInventory(), emitting_m, nr, nr_m, and totalN_m.
Referenced by TEST_F(), and TEST_F().

|
inline |
Returns the sorted global birth-time inventory.
Definition at line 171 of file OpalFlatTop.h.
References birthTimes_m.
Referenced by TEST_F().
|
inline |
Returns the total area of the normalized flat-top distribution.
Definition at line 156 of file OpalFlatTop.h.
References distArea_m.
|
inlineinherited |
Definition at line 78 of file SamplingBase.hpp.
References SamplingBase::R0_m.
|
inline |
Returns the total emission time.
Definition at line 151 of file OpalFlatTop.h.
References emissionTime_m.
Referenced by TEST_F().
|
inlineoverridevirtual |
Returns the preferred emission time step.
Reimplemented from SamplingBase.
Definition at line 130 of file OpalFlatTop.h.
References emissionSteps_m, and emissionTime_m.
Referenced by TEST_F().
|
inlineoverridevirtual |
Returns the global time shift needed to center old-OPAL pulse times.
Reimplemented from SamplingBase.
Definition at line 109 of file OpalFlatTop.h.
References emissionTime_m, and SamplingBase::t0_m.
|
overridevirtual |
Returns the initial reference momentum used by the tracker.
Reimplemented from SamplingBase.
Definition at line 200 of file OpalFlatTop.cpp.
References SamplingBase::emissionModel_m, euclidean_norm(), and SamplingBase::P0_m.
Referenced by TEST_F().

|
inline |
Returns the number of precomputed birth times.
Definition at line 161 of file OpalFlatTop.h.
References birthTimes_m.
|
inline |
Returns the next global inventory index to be emitted.
Definition at line 166 of file OpalFlatTop.h.
References nextGlobalIndex_m.
|
inlineoverridevirtual |
Reports that this sampler provides an initial reference momentum.
Reimplemented from SamplingBase.
Definition at line 116 of file OpalFlatTop.h.
Referenced by TEST_F().
|
overridevirtual |
Initializes a domain decomposition large enough for the emitted bunch.
| BoxIncr | Percentage by which to enlarge the computed mesh box. |
Reimplemented from SamplingBase.
Definition at line 383 of file OpalFlatTop.cpp.
References Physics::c, emissionTime_m, SamplingBase::fc_m, hr_m, nr_m, SamplingBase::pc_m, and sigmaR_m.
|
inlineoverridevirtual |
Returns whether all precomputed particles have been emitted.
Reimplemented from SamplingBase.
Definition at line 100 of file OpalFlatTop.h.
References birthTimes_m, inventoryBuilt_m, and nextGlobalIndex_m.
Referenced by TEST_F().
|
private |
Samples an absolute value from a Gaussian truncated at a limit.
| sigma | Standard deviation of the Gaussian. |
| limit | Maximum accepted absolute value. |
Definition at line 182 of file OpalFlatTop.cpp.
References host_rng_m.
Referenced by buildBirthTimeInventory().
| void OpalFlatTop::setBirthTimesForTest | ( | std::vector< double > | birthTimes | ) |
Replaces the birth-time inventory for tests.
| birthTimes | Birth times to sort and install as the active inventory. |
Definition at line 411 of file OpalFlatTop.cpp.
References birthTimes_m, inventoryBuilt_m, nextGlobalIndex_m, and totalN_m.
|
inlineinherited |
Definition at line 48 of file SamplingBase.hpp.
References SamplingBase::emissionModel_m, SamplingBase::P0_m, SamplingBase::R0_m, and SamplingBase::t0_m.
Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
|
inlineinherited |
Definition at line 57 of file SamplingBase.hpp.
References SamplingBase::initialPol_m.
|
private |
Sets derived flat-top profile and emission parameters.
| emitting | Flag indicating whether the distribution is emitting. |
| sigmaTFall | Standard deviation of the falling flank. |
| sigmaTRise | Standard deviation of the rising flank. |
| cutoff | Cutoff multiplier for distribution support. |
| tPulseLengthFWHM | Time length of the pulse in FWHM. |
| sigmaR | Semi-axis lengths for the transverse emission disk. |
| ftOscAmplitude | Flat-top oscillation amplitude in percent. |
| ftOscPeriods | Number of oscillation periods across the flat top. |
Definition at line 66 of file OpalFlatTop.cpp.
References cutoffR_m, distArea_m, emissionTime_m, emitting_m, fallTime_m, flattopTime_m, ftOscAmplitude_m, ftOscPeriods_m, normalizedFlankArea_m, riseTime_m, sigmaR_m, sigmaTFall_m, sigmaTRise_m, Physics::two_pi, and withDomainDecomp_m.
Referenced by OpalFlatTop(), and setParameters().
|
private |
Reads distribution parameters from the OPALX Distribution object.
| opalDist | Borrowed Distribution object. |
Definition at line 52 of file OpalFlatTop.cpp.
References emissionSteps_m, emissionTime_m, Distribution::emitting_m, SamplingBase::fc_m, Distribution::getCutoffR(), Distribution::getEmissionSteps(), Distribution::getFTOSCAmplitude(), Distribution::getFTOSCPeriods(), Distribution::getSigmaR(), Distribution::getSigmaTFall(), Distribution::getSigmaTRise(), Distribution::getTPulseLengthFWHM(), setInternalVariables(), and Distribution::setTEmission().
Referenced by OpalFlatTop().

|
overridevirtual |
Sets whether to use domain decomposition during emission.
| withDomainDecomp | Boolean flag for domain decomposition. |
Reimplemented from SamplingBase.
Definition at line 407 of file OpalFlatTop.cpp.
References withDomainDecomp_m.
|
inlinevirtualinherited |
Definition at line 108 of file SamplingBase.hpp.
|
inlinevirtualinherited |
Definition at line 105 of file SamplingBase.hpp.
|
private |
Converts old-OPAL pulse time to tracker birth time.
| opalPulseTime | Time coordinate in the old-OPAL pulse convention. |
Definition at line 196 of file OpalFlatTop.cpp.
References emissionTime_m, and SamplingBase::t0_m.
Referenced by buildBirthTimeInventory().
|
private |
Sorted global particle birth times.
Definition at line 205 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), emitParticles(), generateLocalParticles(), getBirthTimes(), getInventorySize(), isEmissionDone(), and setBirthTimesForTest().
|
private |
Cutoff multipliers for distribution support.
Definition at line 191 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
private |
Total area of the flat-top distribution.
Definition at line 188 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), getDistArea(), and setInternalVariables().
|
protectedinherited |
Definition at line 25 of file SamplingBase.hpp.
Referenced by generateLocalParticles(), EmittedFromFile::generateParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), FlatTop::generateUniformDisk(), getInitialReferenceMomentum(), and SamplingBase::setEmissionOffsets().
|
private |
Number of steps used to derive emission dt.
Definition at line 203 of file OpalFlatTop.h.
Referenced by getEmissionTimeStep(), and setParameters().
|
private |
Total emission time.
Definition at line 197 of file OpalFlatTop.h.
Referenced by getEmissionTime(), getEmissionTimeStep(), getGlobalTimeShift(), initDomainDecomp(), setInternalVariables(), setParameters(), and toBirthTime().
|
private |
Flag for particle emission status.
Definition at line 194 of file OpalFlatTop.h.
Referenced by generateParticles(), and setInternalVariables().
|
private |
Duration represented by the falling flank.
Definition at line 192 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
protectedinherited |
Definition at line 18 of file SamplingBase.hpp.
Referenced by FlatTop::initDomainDecomp(), initDomainDecomp(), FlatTop::setParameters(), and setParameters().
|
private |
Time duration of the flat profile section.
Definition at line 186 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
private |
Flat-top oscillation amplitude in percent.
Definition at line 201 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
private |
Number of oscillation periods across the flat top.
Definition at line 202 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
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(), MultiVariateGaussian::emitParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), and SamplingBase::isEmissionDone().
|
private |
Host generator used to sample birth times.
Definition at line 184 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and sampleTruncatedHalfGaussian().
|
private |
|
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().
|
private |
True once birthTimes_m is ready for emission.
Definition at line 207 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), emitParticles(), isEmissionDone(), and setBirthTimesForTest().
|
private |
First global birth-time index not emitted yet.
Definition at line 206 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), emitParticles(), getNextGlobalIndex(), isEmissionDone(), and setBirthTimesForTest().
|
private |
Area of one normalized truncated Gaussian flank.
Definition at line 187 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
private |
Number of grid points per direction.
Definition at line 198 of file OpalFlatTop.h.
Referenced by generateParticles(), and initDomainDecomp().
|
protectedinherited |
Definition at line 19 of file SamplingBase.hpp.
Referenced by EmittedFromFile::buildInventory(), FromFile::emitParticles(), Gaussian::emitParticles(), MultiVariateGaussian::emitParticles(), EmittedFromFile::generateParticles(), MultiVariateGaussian::MultiVariateGaussian(), and FlatTop::setParameters().
|
protectedinherited |
Definition at line 23 of file SamplingBase.hpp.
Referenced by EmittedFromFile::buildInventory(), EmittedFromFile::generateLocalParticles(), generateLocalParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), FlatTop::generateUniformDisk(), getInitialReferenceMomentum(), and SamplingBase::setEmissionOffsets().
|
protectedinherited |
Definition at line 17 of file SamplingBase.hpp.
Referenced by SamplingBase::computeLocalEmitCount(), EmittedFromFile::computeLocalEmitRange(), computeLocalEmitRange(), FlatTop::countEnteringParticlesPerRank(), EmittedFromFile::emitParticles(), FlatTop::emitParticles(), FromFile::emitParticles(), Gaussian::emitParticles(), MultiVariateGaussian::emitParticles(), emitParticles(), SamplingBase::fillPolarization(), EmittedFromFile::generateLocalParticles(), generateLocalParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), FlatTop::generateUniformDisk(), FlatTop::initDomainDecomp(), initDomainDecomp(), and FlatTop::testNumEmitParticles().
|
protectedinherited |
Emission source offset: position R0, momentum P0, start time t0 (applied in sample step).
Definition at line 22 of file SamplingBase.hpp.
Referenced by EmittedFromFile::generateLocalParticles(), generateLocalParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), FlatTop::generateUniformDisk(), SamplingBase::getEmissionR0(), and SamplingBase::setEmissionOffsets().
|
private |
Device random number generator pool.
Definition at line 183 of file OpalFlatTop.h.
Referenced by generateLocalParticles().
|
private |
Duration represented by the rising flank.
Definition at line 193 of file OpalFlatTop.h.
Referenced by setInternalVariables().
|
protectedinherited |
Definition at line 20 of file SamplingBase.hpp.
|
private |
Semi-axis lengths of the transverse disk.
Definition at line 200 of file OpalFlatTop.h.
Referenced by generateLocalParticles(), initDomainDecomp(), and setInternalVariables().
|
private |
Standard deviation of the falling flank.
Definition at line 189 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
private |
Standard deviation of the rising flank.
Definition at line 190 of file OpalFlatTop.h.
Referenced by buildBirthTimeInventory(), and setInternalVariables().
|
protectedinherited |
Definition at line 24 of file SamplingBase.hpp.
Referenced by EmittedFromFile::buildInventory(), FlatTop::emitParticles(), FromFile::emitParticles(), Gaussian::emitParticles(), MultiVariateGaussian::emitParticles(), FromFile::generateParticles(), Gaussian::generateParticles(), MultiVariateGaussian::generateParticles(), EmittedFromFile::getGlobalTimeShift(), getGlobalTimeShift(), FlatTop::isEmissionDone(), SamplingBase::setEmissionOffsets(), and toBirthTime().
|
private |
Total number of particles in the inventory.
Definition at line 195 of file OpalFlatTop.h.
Referenced by generateParticles(), and setBirthTimesForTest().
|
private |
Flag for domain decomposition.
Definition at line 196 of file OpalFlatTop.h.
Referenced by setInternalVariables(), and setWithDomainDecomp().