OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
PartBunch< PLayout, T, Dim > Class Template Referenceabstract

#include <.PartBunch.h>

Inheritance diagram for PartBunch< PLayout, T, Dim >:
Collaboration diagram for PartBunch< PLayout, T, Dim >:

Classes

class  ConstIterator

Public Types

enum  { Dim = Dimension }
enum  UnitState_t { units = 0 , unitless = 1 }
typedef ippl::BConds< Field< T, Dim >, Dimbc_type
typedef IpplParticleBase< Layout_tpbase_t
typedef std::pair< Vector_t< double, 3 >, Vector_t< double, 3 > > VectorPair_t
using ParticleContainer_t = ParticleContainer<T, Dim>
using FieldContainer_t = FieldContainer<T, Dim>
using FieldSolver_t = FieldSolver<T, Dim>
using LoadBalancer_t = LoadBalancer<T, Dim>
using Base = ippl::ParticleBase<ippl::ParticleSpatialLayout<T, Dim>>
using BinningSelector_t = typename ParticleBinning::CoordinateSelector<ParticleContainer_t>
using AdaptBins_t = typename ParticleBinning::AdaptBins<ParticleContainer_t, BinningSelector_t>
using binIndex_t = typename ParticleContainer_t::bin_index_type

Public Member Functions

 PartBunch (PLayout &pl, Vector_t< double, Dim > hr, Vector_t< double, Dim > rmin, Vector_t< double, Dim > rmax, std::array< bool, Dim > decomp, double Qtot)
PartBunchoperator= (const PartBunch &)=delete
 ~PartBunch ()
void initialize (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh)
double getCouplingConstant () const
void setCouplingConstant (double c)
void calcBeamParameters ()
void calcBeamParametersInitial ()
void setCharge (double q)
void setChargeZeroPart (double q)
void setMass (double mass)
void setMassZeroPart (double mass)
double getCharge () const
 get the total charge per simulation particle
double getChargePerParticle () const
 get the macro particle charge
double getMassPerParticle () const
double getdE () const
double getGamma (int i) const
double getBeta (int i) const
void actT ()
const PartDatagetReference () const
double getEmissionDeltaT ()
void do_binaryRepart ()
void updateDomainLength (Vector_t< int, 3 > &grid)
void updateFields (const Vector_t< T, Dim > &, const Vector_t< T, Dim > &origin)
void initializeORB (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh)
void repartition (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh)
bool balance (unsigned int totalP)
void gatherLoadBalanceStatistics ()
size_t getLoadBalance (int p) const
void resizeMesh ()
const Mesh_t< Dim > & getMesh () const
FieldLayout_t< Dim > & getFieldLayout ()
void updateLayout (FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh)
bool isGridFixed () const
void boundp ()
size_t boundp_destroyT ()
size_t destroyT ()
void set_meshEnlargement (double dh)
void setBCAllOpen ()
void setBCForDCBeam ()
void setupBCs ()
void setBCAllPeriodic ()
void runTests ()
void resetInterpolationCache (bool clearCache=false)
void swap (unsigned int i, unsigned int j)
double getRho (int x, int y, int z)
void gatherStatistics (unsigned int totalP)
void switchToUnitlessPositions (bool use_dt_per_particle=false)
void switchOffUnitlessPositions (bool use_dt_per_particle=false)
size_t calcNumPartsOutside (Vector_t< T, Dim > x)
 returns the number of particles outside of a box defined by x
void calcLineDensity (unsigned int nBins, std::vector< double > &lineDensity, std::pair< double, double > &meshInfo)
 calculates the 1d line density (not normalized) and append it to a file.
void setBeamFrequency (double v)
VectorPair_t getEExtrema ()
void computeSelfFields ()
void computeSelfFields (int b)
bool hasFieldSolver ()
bool getFieldSolverType () const
 Return the fieldsolver type if we have a fieldsolver.
Inform & print (Inform &os)
void dumpData (int iteration)
void gatherCIC ()
void scatterCIC (unsigned int totalP, int iteration)
bool getIfBeamEmitting ()
int getLastEmittedEnergyBin ()
size_t getNumberOfEmissionSteps ()
int getNumberOfEnergyBins ()
void Rebin ()
void setEnergyBins (int numberOfEnergyBins)
bool weHaveEnergyBins ()
void setTEmission (double t)
double getTEmission ()
bool weHaveBins () const
void setPBins (PartBins *pbin)
size_t emitParticles (double eZ)
 Emit particles in the given bin i.e. copy the particles from the bin structure into the particle container.
void updateNumTotal ()
void rebin ()
int getLastemittedBin ()
void setLocalBinCount (size_t num, int bin)
void calcGammas ()
 Compute the gammas of all bins.
double getBinGamma (int bin)
 Get gamma of one bin.
bool hasBinning () const
void setBinCharge (int bin, double q)
 Set the charge of one bin to the value of q and all other to zero.
void setBinCharge (int bin)
 Set the charge of all other the ones in bin to zero.
double calcMeanPhi ()
 calculate average angle of longitudinal direction of bins
bool resetPartBinID2 (const double eta)
bool resetPartBinBunch ()
double getPx (int i)
double getPy (int i)
double getPz (int i)
double getPx0 (int i)
double getPy0 (int i)
double getX (int i)
double getY (int i)
double getZ (int i)
double getX0 (int i)
double getY0 (int i)
void setZ (int i, double zcoo)
void get_bounds (Vector_t< T, Dim > &rmin, Vector_t< T, Dim > &rmax) const
void getLocalBounds (Vector_t< T, Dim > &rmin, Vector_t< T, Dim > &rmax) const
std::pair< Vector_t< T, Dim >, double > getBoundingSphere ()
std::pair< Vector_t< T, Dim >, double > getLocalBoundingSphere ()
void get_PBounds (Vector_t< T, Dim > &min, Vector_t< T, Dim > &max) const
void setdT (double dt)
double getdT () const
void setT (double t)
void incrementT ()
double getT () const
void set_sPos (double s)
double get_gamma () const
double get_meanKineticEnergy ()
Vector_t< T, Dimget_origin () const
Vector_t< T, Dimget_maxExtent () const
Vector_t< T, Dimget_centroid () const
Vector_t< T, Dimget_rrms () const
Vector_t< T, Dimget_rprms () const
Vector_t< T, Dimget_rmean () const
Vector_t< T, Dimget_prms () const
Vector_t< T, Dimget_pmean () const
Vector_t< T, Dimget_pmean_Distribution () const
Vector_t< T, Dimget_emit () const
Vector_t< T, Dimget_norm_emit () const
Vector_t< T, Dimget_halo () const
Vector_t< T, Dimget_68Percentile () const
Vector_t< T, Dimget_95Percentile () const
Vector_t< T, Dimget_99Percentile () const
Vector_t< T, Dimget_99_99Percentile () const
Vector_t< T, Dimget_normalizedEps_68Percentile () const
Vector_t< T, Dimget_normalizedEps_95Percentile () const
Vector_t< T, Dimget_normalizedEps_99Percentile () const
Vector_t< T, Dimget_normalizedEps_99_99Percentile () const
Vector_t< T, Dimget_hr () const
double get_Dx () const
double get_Dy () const
double get_DDx () const
double get_DDy () const
void setStepsPerTurn (int n)
int getStepsPerTurn () const
void setGlobalTrackStep (long long n)
 step in multiple TRACK commands
long long getGlobalTrackStep () const
void setLocalTrackStep (long long n)
 step in a TRACK command
void incTrackSteps ()
long long getLocalTrackStep () const
void setNumBunch (short n)
short getNumBunch () const
void setGlobalMeanR (Vector_t< T, Dim > globalMeanR)
Vector_t< T, DimgetGlobalMeanR ()
void setSteptoLastInj (int n)
int getSteptoLastInj () const
double calculateAngle (double x, double y)
double get_sPos () const
 PartBunch (const PartData *ref)
 Default constructor.
 PartBunch ()=delete
 PartBunch (const PartBunch &)=delete
PartBunchoperator= (const PartBunch &)=delete
 ~PartBunch ()
void runTests ()
void initialize (FieldLayout_t *fLayout)
void do_binaryRepart ()
double getRho (int x, int y, int z)
const Mesh_tgetMesh () const
Mesh_tgetMesh ()
FieldLayout_tgetFieldLayout ()
void setBCAllPeriodic ()
void setBCAllOpen ()
void setBCForDCBeam ()
VectorPair_t getEExtrema ()
void computeSelfFields ()
void computeSelfFields (int b)
void resetInterpolationCache (bool clearCache=false)
void swap (unsigned int i, unsigned int j)
Inform & print (Inform &os)
virtual ~PartBunch ()
 PartBunch (AbstractParticle< T, Dim > *pb, const PartData *ref)
 PartBunch (const PartBunch &rhs)=delete
ConstIterator begin () const
ConstIterator end () const
void get_PBounds (Vector_t< double, 3 > &min, Vector_t< double, 3 > &max) const
 Return maximum amplitudes.
Quaternion_t getQKs3D ()
void setQKs3D (Quaternion_t q)
Vector_t< double, 3 > getKs3DRefr ()
void setKs3DRefr (Vector_t< double, 3 > r)
Vector_t< double, 3 > getKs3DRefp ()
void setKs3DRefp (Vector_t< double, 3 > p)
void iterateEmittedBin (int binNumber)
void calcEMean ()
size_t getTotalNum () const
void setTotalNum (size_t n)
void setLocalNum (size_t n)
size_t getLocalNum () const
size_t getDestroyNum () const
size_t getGhostNum () const
bool getUpdateFlag (UpdateFlags_t f) const
void setUpdateFlag (UpdateFlags_t f, bool val)
ParticleBConds< Position_t, Dimension > & getBConds ()
void setBConds (const ParticleBConds< Position_t, Dimension > &bc)
void resetID ()
void update ()
void update (const ParticleAttrib< char > &canSwap)
void createWithID (unsigned id)
void create (size_t M)
void globalCreate (size_t np)
void destroy (size_t M, size_t I, bool doNow=false)
void performDestroy (bool updateLocalNum=false)
void ghostDestroy (size_t M, size_t I)
 PartBunch (double qi, double mi, size_t totalP, int nt, double lbt, std::string integration_method, std::shared_ptr< Distribution > &OPALdistribution, std::shared_ptr< FieldSolverCmd > &OPALFieldSolver)
void bunchUpdate ()
void bunchUpdate (ippl::Vector< double, 3 > hr)
 ~PartBunch ()
std::shared_ptr< ParticleContainer_tgetParticleContainer ()
void setSolver (std::string solver)
void pre_run () override
std::shared_ptr< VField_t< T, Dim > > getTempEField ()
void setTempEField (std::shared_ptr< VField_t< T, Dim > > Etmp)
std::shared_ptr< AdaptBins_tgetBins ()
void setBins (std::shared_ptr< AdaptBins_t > bins)
void updateMoments ()
size_t getTotalNum () const
size_t getLocalNum () const
Vector_t< double, DimR (size_t i)
Vector_t< double, DimP (size_t i)
Vector_t< double, DimEf (size_t i)
Vector_t< double, DimBf (size_t i)
Vector_t< double, Dimdt (size_t i)
void advance () override
void par2grid () override
void grid2par () override
void gatherCIC ()
void scatterCIC ()
void scatterCICPerBin (binIndex_t binIndex)
double getCouplingConstant () const
void setCouplingConstant (double c)
void calcBeamParameters ()
void do_binaryRepart ()
void setCharge ()
void setMass ()
double getCharge () const
double getChargePerParticle () const
double getMassPerParticle () const
double getQ () const
double getM () const
double getdE () const
double getGamma (int i) const
double getBeta (int i) const
void actT ()
PartDatagetReference ()
double getEmissionDeltaT ()
void gatherLoadBalanceStatistics ()
size_t getLoadBalance (int p)
void resizeMesh ()
bool isGridFixed ()
void boundp ()
size_t boundp_destroyT ()
void setBCAllOpen ()
void setBCForDCBeam ()
void setupBCs ()
void setBCAllPeriodic ()
void resetInterpolationCache (bool clearCache=false)
void swap (unsigned int i, unsigned int j)
double getRho (int x, int y, int z)
void gatherStatistics (unsigned int totalP)
void switchToUnitlessPositions (bool use_dt_per_particle=false)
void switchOffUnitlessPositions (bool use_dt_per_particle=false)
size_t calcNumPartsOutside (Vector_t< double, Dim > x)
void calcLineDensity (unsigned int nBins, std::vector< double > &lineDensity, std::pair< double, double > &meshInfo)
void setBeamFrequency (double v)
Vector_t< double, DimgetEExtrema ()
void computeSelfFields ()
Inform & print (Inform &os)
bool hasFieldSolver ()
bool getFieldSolverType ()
bool getIfBeamEmitting ()
int getLastEmittedEnergyBin ()
size_t getNumberOfEmissionSteps ()
int getNumberOfEnergyBins ()
void Rebin ()
void setEnergyBins (int numberOfEnergyBins)
bool weHaveEnergyBins ()
void setTEmission (double t)
double getTEmission ()
bool weHaveBins ()
size_t emitParticles (double eZ)
void updateNumTotal ()
void rebin ()
int getLastemittedBin ()
void setLocalBinCount (size_t num, int bin)
void calcGammas ()
double getBinGamma (int bin)
bool hasBinning ()
void setBinCharge (int bin, double q)
void setBinCharge (int bin)
double calcMeanPhi ()
bool resetPartBinID2 (const double eta)
bool resetPartBinBunch ()
double getPx (int i)
double getPy (int i)
double getPz (int i)
double getPx0 (int i)
double getPy0 (int i)
double getX (int i)
double getY (int i)
double getZ (int i)
double getX0 (int i)
double getY0 (int i)
void setZ (int i, double zcoo)
void get_bounds (Vector_t< double, Dim > &rmin, Vector_t< double, Dim > &rmax)
void getLocalBounds (Vector_t< double, Dim > &rmin, Vector_t< double, Dim > &rmax)
void get_PBounds (Vector_t< double, Dim > &min, Vector_t< double, Dim > &max)
void setdT (double dt)
 get 2nd order beam matrix
double getdT () const
void setT (double t)
void incrementT ()
double getT () const
void set_sPos (double s)
double get_sPos () const
double get_gamma () const
double get_meanKineticEnergy ()
Vector_t< double, Dimget_origin () const
Vector_t< double, Dimget_maxExtent () const
Vector_t< double, 2 *Dimget_centroid () const
Vector_t< double, Dimget_rrms () const
Vector_t< double, Dimget_rprms () const
Vector_t< double, Dimget_prms () const
Vector_t< double, Dimget_rmean () const
Vector_t< double, Dimget_pmean () const
Vector_t< double, Dimget_pmean_Distribution () const
Vector_t< double, Dimget_emit () const
Vector_t< double, Dimget_norm_emit () const
Vector_t< double, Dimget_halo () const
Vector_t< double, Dimget_68Percentile () const
Vector_t< double, Dimget_95Percentile () const
Vector_t< double, Dimget_99Percentile () const
Vector_t< double, Dimget_99_99Percentile () const
Vector_t< double, Dimget_normalizedEps_68Percentile () const
Vector_t< double, Dimget_normalizedEps_95Percentile () const
Vector_t< double, Dimget_normalizedEps_99Percentile () const
Vector_t< double, Dimget_normalizedEps_99_99Percentile () const
Vector_t< double, Dimget_hr () const
double get_Dx () const
double get_Dy () const
double get_DDx () const
double get_DDy () const
double get_temperature () const
void calcDebyeLength ()
double get_debyeLength () const
double get_plasmaParameter () const
double get_rmsDensity () const
void setStepsPerTurn (int n)
int getStepsPerTurn () const
void setGlobalTrackStep (long long n)
 step in multiple TRACK commands
long long getGlobalTrackStep () const
void setLocalTrackStep (long long n)
 step in a TRACK command
void incTrackSteps ()
long long getLocalTrackStep () const
void setNumBunch (short n)
short getNumBunch () const
void setGlobalMeanR (Vector_t< double, Dim > globalMeanR)
Vector_t< double, DimgetGlobalMeanR ()
void setGlobalToLocalQuaternion (Quaternion_t globalToLocalQuaternion)
Quaternion_t getGlobalToLocalQuaternion ()
void setSteptoLastInj (int n)
int getSteptoLastInj () const
double calculateAngle (double x, double y)
void spaceChargeEFieldCheck (Vector_t< double, 3 > efScale)
double getQ () const
 Access to reference data.
double getM () const
double getP () const
double getE () const
double getInitialBeta () const
double getInitialGamma () const
void resetQ (double q)
 Set reference data.
void resetM (double m)
void setPType (const std::string &type)

Public Attributes

Solver_t< T, Dimsolver_m
ParticleAttrib< double > Q
ParticleAttrib< double > M
ParticleAttrib< int > bunchNum
ParticleAttrib< Vector_t< T, Dim > > P
ParticleAttrib< Vector_t< T, Dim > > E
ParticleAttrib< Vector_t< T, Dim > > Ef
ParticleAttrib< Vector_t< T, Dim > > Bf
ParticleAttrib< int > Bin
ParticleAttrib< double > dt
ParticleAttrib< double > Phi
ParticleAttrib< Vector_t< T, Dim > > Eftmp
Vector_t< T, DimRefPartR_m
Vector_t< T, DimRefPartP_m
CoordinateSystemTrafo toLabTrafo_m
Vector_t< T, DimglobalMeanR_m
PartBinspbin_m
double tEmission_m
 if larger than 0, emitt particles for tEmission_m [s]
std::unique_ptr< double[]> bingamma_m
 holds the gamma of the bin
std::unique_ptr< size_t[]> binemitted_m
int stepsPerTurn_m
 steps per turn for OPAL-cycl
long long localTrackStep_m
 step in a TRACK command
long long globalTrackStep_m
 if multiple TRACK commands
short numBunch_m
 current bunch number
std::vector< size_t > bunchTotalNum_m
 number of particles per bunch
std::vector< size_t > bunchLocalNum_m
int SteptoLastInj_m
bool fixed_grid
double dh_m
 Mesh enlargement.
const PartDatareference
 relative enlargement of the mesh
double couplingConstant_m
double qi_m
double massPerParticle_m
UnitState_t unit_state_m
UnitState_t stateOfLastBoundP_m
double centroid_m [2 *Dim]
 holds the centroid of the beam
double dt_m
 6x6 matrix of the moments of the beam
double t_m
 holds the actual time of the integration
double spos_m
 the position along design trajectory
VField_t< T, DimEFD_m
VField_t< T, Dimeg_m
Field_t< DimEFDMag_m
Field_t< Dimrho_m
Field< T, Dimphi_m
bc_type allPeriodic
ORB< T, Dimorb
std::unique_ptr< size_t[]> globalPartPerNode_m
Vector_t< T, Dimnr_m
std::array< bool, DimisParallel_m
Vector_t< double, Dimhr_m
 mesh size [m]
Vector_t< double, Dimrmin_m
Vector_t< double, Dimrmax_m
bool dcBeam_m
double periodLength_m
double Q_m
std::unique_ptr< Inform > pmsg_m
std::unique_ptr< std::ofstream > f_stream
Field_t rho_m
 scalar potential
VField_t eg_m
 vector field on the grid
double time_m
size_type totalP_m
int nt_m
double lbt_m
int it_m
std::string integration_method_m
std::string solver_m
bool isFirstRepartition_m
Vector_t< int, Dimnr_m
Vector_t< double, Dimorigin_m
double Bext_m
double alpha_m
double DrInv_m
ippl::NDIndex< Dimdomain_m
std::array< bool, Dimdecomp_m
Vector_t< double, DimRefPartR_m
Vector_t< double, DimRefPartP_m

Static Public Attributes

static const unsigned Dimension = Dim

Protected Member Functions

size_t calcMoments ()
void calcMomentsInitial ()
double calculateAngle (double x, double y)
 angle range [0~2PI) degree

Private Types

using Base = ippl::ParticleBase<PLayout>

Private Member Functions

void updateDomainLength (Vektor< int, 3 > &grid)
void updateFields (const Vector_t< double, 3 > &hr, const Vector_t< double, 3 > &origin)
void resizeMesh ()
 resize mesh to geometry specified
ParticleLayout< double, 3 > & getLayout ()
const ParticleLayout< double, 3 > & getLayout () const
virtual void updateDomainLength (Vektor< int, 3 > &grid)=0
virtual void updateFields (const Vector_t< double, 3 > &hr, const Vector_t< double, 3 > &origin)
void setup (AbstractParticle< T, Dim > *pb)

Private Attributes

BConds< double, 3, Mesh_t, Center_tbc_m
 for defining the boundary conditions
BConds< Vector_t< double, 3 >, 3, Mesh_t, Center_tvbc_m
bool interpolationCacheSet_m
ParticleAttrib< CacheDataCIC< double, 3U > > interpolationCache_m
double mi_m
double rmsDensity_m
Vector_t< double, DimglobalMeanR_m
Quaternion_t globalToLocalQuaternion_m
std::shared_ptr< AdaptBins_tbins_m
PartDatareference_m
std::shared_ptr< DistributionOPALdist_m
std::shared_ptr< FieldSolverCmdOPALFieldSolver_m
std::shared_ptr< VField_t< T, Dim > > Etmp_m
 Temporary E field container used to store temporary E field during binned solver.

Detailed Description

template<class PLayout, typename T, unsigned Dim = 3>
class PartBunch< PLayout, T, Dim >

Definition at line 62 of file #PartBunch.hpp#.

Member Typedef Documentation

◆ AdaptBins_t

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::AdaptBins_t = typename ParticleBinning::AdaptBins<ParticleContainer_t, BinningSelector_t>

Definition at line 91 of file PartBunch.h.

◆ Base [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::Base = ippl::ParticleBase<PLayout>
private

Definition at line 63 of file #PartBunch.hpp#.

◆ Base [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::Base = ippl::ParticleBase<ippl::ParticleSpatialLayout<T, Dim>>

Definition at line 88 of file PartBunch.h.

◆ bc_type

template<class PLayout, typename T, unsigned Dim = 3>
typedef ippl::BConds<Field<T, Dim>, Dim> PartBunch< PLayout, T, Dim >::bc_type

Definition at line 174 of file #PartBunch.hpp#.

◆ binIndex_t

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::binIndex_t = typename ParticleContainer_t::bin_index_type

Definition at line 92 of file PartBunch.h.

◆ BinningSelector_t

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::BinningSelector_t = typename ParticleBinning::CoordinateSelector<ParticleContainer_t>

Definition at line 90 of file PartBunch.h.

◆ FieldContainer_t

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::FieldContainer_t = FieldContainer<T, Dim>

Definition at line 85 of file PartBunch.h.

◆ FieldSolver_t

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::FieldSolver_t = FieldSolver<T, Dim>

Definition at line 86 of file PartBunch.h.

◆ LoadBalancer_t

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::LoadBalancer_t = LoadBalancer<T, Dim>

Definition at line 87 of file PartBunch.h.

◆ ParticleContainer_t

template<class PLayout, typename T, unsigned Dim = 3>
using PartBunch< PLayout, T, Dim >::ParticleContainer_t = ParticleContainer<T, Dim>

Definition at line 84 of file PartBunch.h.

◆ pbase_t

template<class PLayout, typename T, unsigned Dim = 3>
typedef IpplParticleBase<Layout_t> PartBunch< PLayout, T, Dim >::pbase_t

Definition at line 26 of file .PartBunch.h.

◆ VectorPair_t

template<class PLayout, typename T, unsigned Dim = 3>
typedef std::pair<Vector_t<double, 3>, Vector_t<double, 3> > PartBunch< PLayout, T, Dim >::VectorPair_t

Definition at line 62 of file .PartBunchBase.h.

Member Enumeration Documentation

◆ anonymous enum

template<class PLayout, typename T, unsigned Dim = 3>
anonymous enum
Enumerator
Dim 

Definition at line 27 of file .PartBunch.h.

◆ UnitState_t

template<class PLayout, typename T, unsigned Dim = 3>
enum PartBunch::UnitState_t
Enumerator
units 
unitless 

Definition at line 66 of file .PartBunchBase.h.

Constructor & Destructor Documentation

◆ PartBunch() [1/7]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( PLayout & pl,
Vector_t< double, Dim > hr,
Vector_t< double, Dim > rmin,
Vector_t< double, Dim > rmax,
std::array< bool, Dim > decomp,
double Qtot )
inline
Todo
setupBCs(a);

Definition at line 200 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout, T, Dim >::ConstIterator::ConstIterator(), and PartBunch().

Here is the caller graph for this function:

◆ ~PartBunch() [1/4]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::~PartBunch ( )
inlinevirtual

Reimplemented from PartBunch< PLayout_t< double, 3 >, double, 3 >.

Definition at line 228 of file #PartBunch.hpp#.

◆ PartBunch() [2/7]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( const PartData * ref)
explicit

Default constructor.

Definition at line 37 of file .PartBunch.cpp.

References interpolationCacheSet_m, and PartBunch().

Here is the call graph for this function:

◆ PartBunch() [3/7]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( )
delete

◆ PartBunch() [4/7]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( const PartBunch< PLayout, T, Dim > & )
delete

◆ ~PartBunch() [2/4]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::~PartBunch ( )
virtual

◆ ~PartBunch() [3/4]

◆ PartBunch() [5/7]

template<class T, unsigned Dim>
PartBunch< T, Dim >::PartBunch ( AbstractParticle< T, Dim > * pb,
const PartData * ref )

Definition at line 39 of file .PartBunchBase.hpp.

References binemitted_m, bingamma_m, bunchLocalNum_m, bunchTotalNum_m, couplingConstant_m, dcBeam_m, dh_m, dt_m, f_stream, fixed_grid, globalMeanR_m, globalPartPerNode_m, globalToLocalQuaternion_m, globalTrackStep_m, hr_m, localTrackStep_m, massPerParticle_m, nr_m, numBunch_m, pbin_m, periodLength_m, pmsg_m, qi_m, R(), reference, rmax_m, rmin_m, setup(), spos_m, stepsPerTurn_m, SteptoLastInj_m, t_m, unitless, and units.

Here is the call graph for this function:

◆ PartBunch() [6/7]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::PartBunch ( const PartBunch< PLayout, T, Dim > & rhs)
delete

◆ PartBunch() [7/7]

template<typename T, unsigned Dim>
PartBunch< T, Dim >::PartBunch ( double qi,
double mi,
size_t totalP,
int nt,
double lbt,
std::string integration_method,
std::shared_ptr< Distribution > & OPALdistribution,
std::shared_ptr< FieldSolverCmd > & OPALFieldSolver )

◆ ~PartBunch() [4/4]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch< PLayout, T, Dim >::~PartBunch ( )
inlinevirtual

Reimplemented from PartBunch< PLayout_t< double, 3 >, double, 3 >.

Definition at line 244 of file PartBunch.h.

Member Function Documentation

◆ actT() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::actT ( )
inline

Definition at line 350 of file #PartBunch.hpp#.

◆ actT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::actT ( )
inline

Definition at line 369 of file PartBunch.h.

◆ advance()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::advance ( )
inlineoverride

Definition at line 296 of file PartBunch.h.

◆ balance()

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::balance ( unsigned int totalP)
inline

Definition at line 402 of file #PartBunch.hpp#.

◆ begin()

template<class PLayout, typename T, unsigned Dim = 3>
ConstIterator PartBunch< PLayout, T, Dim >::begin ( ) const
inline

Definition at line 127 of file .PartBunchBase.h.

Referenced by begin().

Here is the caller graph for this function:

◆ Bf()

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::Bf ( size_t i)
inline

Definition at line 288 of file PartBunch.h.

◆ boundp() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::boundp ( )
inline

In case of dcBeam_m && hr_m < 0 this is the first call to boundp and we have to set hr completely i.e. x,y and z.

Definition at line 474 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp_destroyT().

Here is the caller graph for this function:

◆ boundp() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::boundp ( )
inline

Definition at line 405 of file PartBunch.h.

◆ boundp_destroyT() [1/2]

template<class T, unsigned Dim>
size_t PartBunch< T, Dim >::boundp_destroyT ( )
inline

This is only temporary in order to get the collimator and pepperpot working

Definition at line 539 of file #PartBunch.hpp#.

◆ boundp_destroyT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::boundp_destroyT ( )
inline

Definition at line 408 of file PartBunch.h.

◆ bunchUpdate() [1/2]

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::bunchUpdate ( )

Definition at line 404 of file PartBunch.cpp.

References getParticleContainer(), hr_m, isFirstRepartition_m, nr_m, OPALFieldSolver_m, and updateMoments().

Here is the call graph for this function:

◆ bunchUpdate() [2/2]

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::bunchUpdate ( ippl::Vector< double, 3 > hr)

assume o < 0.0?

Definition at line 366 of file PartBunch.cpp.

References getParticleContainer(), hr_m, isFirstRepartition_m, nr_m, OPALFieldSolver_m, and updateMoments().

Here is the call graph for this function:

◆ calcBeamParameters() [1/2]

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::calcBeamParameters ( )
inline

Definition at line 249 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp_destroyT(), PartBunch< PLayout_t< double, 3 >, double, 3 >::destroyT(), DataSink::dumpSDDS(), and H5PartWrapperForPT::writeStep().

Here is the caller graph for this function:

◆ calcBeamParameters() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcBeamParameters ( )

◆ calcBeamParametersInitial()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcBeamParametersInitial ( )

◆ calcDebyeLength()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcDebyeLength ( )
inline

Definition at line 718 of file PartBunch.h.

◆ calcEMean()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::calcEMean ( )

Definition at line 1134 of file .PartBunchBase.hpp.

◆ calcGammas() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::calcGammas ( )
inline

Compute the gammas of all bins.

Definition at line 1084 of file #PartBunch.hpp#.

◆ calcGammas() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcGammas ( )
inline

Definition at line 512 of file PartBunch.h.

◆ calcLineDensity() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::calcLineDensity ( unsigned int nBins,
std::vector< double > & lineDensity,
std::pair< double, double > & meshInfo )
inline

calculates the 1d line density (not normalized) and append it to a file.

\method calcLineDensity()

See also
ParallelTTracker
Warning
none yet

DETAILED TODO

Definition at line 769 of file #PartBunch.hpp#.

◆ calcLineDensity() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcLineDensity ( unsigned int nBins,
std::vector< double > & lineDensity,
std::pair< double, double > & meshInfo )
inline

Definition at line 446 of file PartBunch.h.

◆ calcMeanPhi() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calcMeanPhi ( )
inline

calculate average angle of longitudinal direction of bins

Definition at line 1107 of file #PartBunch.hpp#.

◆ calcMeanPhi() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calcMeanPhi ( )
inline

Definition at line 524 of file PartBunch.h.

◆ calcMoments()

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::calcMoments ( )
protected

◆ calcMomentsInitial()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::calcMomentsInitial ( )
protected

◆ calcNumPartsOutside() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::calcNumPartsOutside ( Vector_t< double, Dim > x)
inline

Definition at line 442 of file PartBunch.h.

◆ calcNumPartsOutside() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::calcNumPartsOutside ( Vector_t< T, Dim > x)
inline

returns the number of particles outside of a box defined by x

Definition at line 740 of file #PartBunch.hpp#.

Referenced by DataSink::dumpSDDS().

Here is the caller graph for this function:

◆ calculateAngle() [1/3]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::calculateAngle ( double x,
double y )
inline

Definition at line 1416 of file #PartBunch.hpp#.

◆ calculateAngle() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calculateAngle ( double x,
double y )
protected

angle range [0~2PI) degree

◆ calculateAngle() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::calculateAngle ( double x,
double y )
inline

Definition at line 803 of file PartBunch.h.

◆ computeSelfFields() [1/5]

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::computeSelfFields ( )
inline

Magnetic field in x and y direction induced by the eletric field

\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]

\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]

\[ B_z = B_z^{'} = 0 \]

Definition at line 829 of file #PartBunch.hpp#.

◆ computeSelfFields() [2/5]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( )

◆ computeSelfFields() [3/5]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( )

◆ computeSelfFields() [4/5]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( int b)
inline

/brief used for self fields with binned distribution

Set initial charge density to zero. Create image charge potential field.

Set initial E field to zero.

Mesh the whole domain

Scatter charge onto space charge grid.

Calculate mesh-scale factor and get gamma for this specific slice (bin).

Scale charge density to get charge density in real units. Account for Lorentz transformation in longitudinal direction.

Scale mesh spacing to real units (meters). Lorentz transform the longitudinal direction.

Find potential from charge in this bin (no image yet) using Poisson's equation (without coefficient: -1/(eps)).

Scale mesh back (to same units as particle locations.)

The scalar potential is given back in rho_m and must be converted to the right units.

IPPL Grad numerical computes gradient to find the electric field (in bin rest frame).

Scale field. Combine Lorentz transform with conversion to proper field units.

Interpolate electric field at particle positions. We reuse the cached information about where the particles are relative to the field, since the particles have not moved since this the most recent scatter operation.

Magnetic field in x and y direction induced by the electric field.

\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]

\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]

\[ B_z = B_z^{'} = 0 \]

Now compute field due to image charge. This is done separately as the image charge is moving to -infinity (instead of +infinity) so the Lorentz transform is different.

Find z shift for shifted Green's function.

Find potential from image charge in this bin using Poisson's equation (without coefficient: -1/(eps)).

Scale mesh back (to same units as particle locations.)

The scalar potential is given back in rho_m and must be converted to the right units.

IPPL Grad numerical computes gradient to find the electric field (in rest frame of this bin's image charge).

Scale field. Combine Lorentz transform with conversion to proper field units.

Interpolate electric field at particle positions. We reuse the cached information about where the particles are relative to the field, since the particles have not moved since this the most recent scatter operation.

Magnetic field in x and y direction induced by the image charge electric field. Note that beta will have the opposite sign from the bunch charge field, as the image charge is moving in the opposite direction.

\[ B_x = \gamma(B_x^{'} - \frac{beta}{c}E_y^{'}) = -\gamma \frac{beta}{c}E_y^{'} = -\frac{beta}{c}E_y \]

\[ B_y = \gamma(B_y^{'} - \frac{beta}{c}E_x^{'}) = +\gamma \frac{beta}{c}E_x^{'} = +\frac{beta}{c}E_x \]

\[ B_z = B_z^{'} = 0 \]

Definition at line 833 of file #PartBunch.hpp#.

◆ computeSelfFields() [5/5]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::computeSelfFields ( int b)

/brief used for self fields with binned distribution

◆ create()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::create ( size_t M)

Definition at line 1370 of file .PartBunchBase.hpp.

References M.

◆ createWithID()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::createWithID ( unsigned id)

Definition at line 1365 of file .PartBunchBase.hpp.

◆ destroy()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::destroy ( size_t M,
size_t I,
bool doNow = false )

Definition at line 1380 of file .PartBunchBase.hpp.

References M.

◆ destroyT()

template<class T, unsigned Dim>
size_t PartBunch< T, Dim >::destroyT ( )
inline
Todo
ippl::Comm->reduce(newTotalNum, newTotalNum, OpAddAssign());
Todo
Todo
setTotalNum(newTotalNum);

Definition at line 574 of file #PartBunch.hpp#.

◆ do_binaryRepart() [1/3]

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::do_binaryRepart ( )
inline

Definition at line 367 of file #PartBunch.hpp#.

◆ do_binaryRepart() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::do_binaryRepart ( )

◆ do_binaryRepart() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::do_binaryRepart ( )

◆ dt()

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::dt ( size_t i)
inline

Definition at line 292 of file PartBunch.h.

◆ dumpData()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::dumpData ( int iteration)
inline

Definition at line 922 of file #PartBunch.hpp#.

◆ Ef()

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::Ef ( size_t i)
inline

Definition at line 284 of file PartBunch.h.

◆ emitParticles() [1/2]

template<class T, unsigned Dim>
size_t PartBunch< T, Dim >::emitParticles ( double eZ)
inline

Emit particles in the given bin i.e. copy the particles from the bin structure into the particle container.

Definition at line 1049 of file #PartBunch.hpp#.

◆ emitParticles() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::emitParticles ( double eZ)
inline

Definition at line 500 of file PartBunch.h.

◆ end()

template<class PLayout, typename T, unsigned Dim = 3>
ConstIterator PartBunch< PLayout, T, Dim >::end ( ) const
inline

Definition at line 131 of file .PartBunchBase.h.

Referenced by end().

Here is the caller graph for this function:

◆ gatherCIC() [1/2]

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::gatherCIC ( )
inline

Definition at line 955 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::grid2par().

Here is the caller graph for this function:

◆ gatherCIC() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherCIC ( )

◆ gatherLoadBalanceStatistics() [1/2]

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::gatherLoadBalanceStatistics ( )
inline

Definition at line 421 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp_destroyT(), PartBunch< PLayout_t< double, 3 >, double, 3 >::destroyT(), and DataSink::dumpSDDS().

Here is the caller graph for this function:

◆ gatherLoadBalanceStatistics() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherLoadBalanceStatistics ( )

◆ gatherStatistics() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherStatistics ( unsigned int totalP)
inline

Definition at line 706 of file #PartBunch.hpp#.

◆ gatherStatistics() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::gatherStatistics ( unsigned int totalP)
inline

Definition at line 435 of file PartBunch.h.

◆ get_68Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_68Percentile ( ) const
inline

Definition at line 1311 of file #PartBunch.hpp#.

◆ get_68Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_68Percentile ( ) const
inline

Definition at line 673 of file PartBunch.h.

◆ get_95Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_95Percentile ( ) const
inline

Definition at line 1314 of file #PartBunch.hpp#.

◆ get_95Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_95Percentile ( ) const
inline

Definition at line 676 of file PartBunch.h.

◆ get_99_99Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_99_99Percentile ( ) const
inline

Definition at line 1320 of file #PartBunch.hpp#.

◆ get_99_99Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_99_99Percentile ( ) const
inline

Definition at line 682 of file PartBunch.h.

◆ get_99Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_99Percentile ( ) const
inline

Definition at line 1317 of file #PartBunch.hpp#.

◆ get_99Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_99Percentile ( ) const
inline

Definition at line 679 of file PartBunch.h.

◆ get_bounds() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::get_bounds ( Vector_t< double, Dim > & rmin,
Vector_t< double, Dim > & rmax )
inline

Definition at line 567 of file PartBunch.h.

◆ get_bounds() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::get_bounds ( Vector_t< T, Dim > & rmin,
Vector_t< T, Dim > & rmax ) const
inline

Definition at line 1162 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp(), PartBunch< PLayout_t< double, 3 >, double, 3 >::calcBeamParameters(), PartBunch< PLayout_t< double, 3 >, double, 3 >::calcLineDensity(), Probe::doPreCheck(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::getBoundingSphere().

Here is the caller graph for this function:

◆ get_centroid() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_centroid ( ) const
inline

Definition at line 1281 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_centroid() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, 2 *Dim > PartBunch< PLayout, T, Dim >::get_centroid ( ) const
inline

Definition at line 638 of file PartBunch.h.

◆ get_DDx() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::get_DDx ( ) const
inline

Definition at line 1345 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_DDx() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_DDx ( ) const
inline

Definition at line 707 of file PartBunch.h.

◆ get_DDy() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::get_DDy ( ) const
inline

Definition at line 1348 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_DDy() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_DDy ( ) const
inline

Definition at line 710 of file PartBunch.h.

◆ get_debyeLength()

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_debyeLength ( ) const
inline

Definition at line 722 of file PartBunch.h.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_Dx() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::get_Dx ( ) const
inline

Definition at line 1339 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_Dx() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_Dx ( ) const
inline

Definition at line 701 of file PartBunch.h.

◆ get_Dy() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::get_Dy ( ) const
inline

Definition at line 1342 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_Dy() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_Dy ( ) const
inline

Definition at line 704 of file PartBunch.h.

◆ get_emit() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_emit ( ) const
inline

Definition at line 1302 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_emit() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_emit ( ) const
inline

Definition at line 664 of file PartBunch.h.

◆ get_gamma() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::get_gamma ( ) const
inline

Definition at line 1266 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_gamma() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_gamma ( ) const
inline

Definition at line 622 of file PartBunch.h.

◆ get_halo() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_halo ( ) const
inline

Definition at line 1308 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_halo() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_halo ( ) const
inline

Definition at line 670 of file PartBunch.h.

◆ get_hr() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_hr ( ) const
inline

Definition at line 1335 of file #PartBunch.hpp#.

◆ get_hr() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_hr ( ) const
inline

Definition at line 697 of file PartBunch.h.

◆ get_maxExtent() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_maxExtent ( ) const
inline

Definition at line 1277 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_maxExtent() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_maxExtent ( ) const
inline

Definition at line 633 of file PartBunch.h.

◆ get_meanKineticEnergy() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_meanKineticEnergy ( )
inline

Definition at line 1270 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_meanKineticEnergy() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_meanKineticEnergy ( )
inline

Definition at line 626 of file PartBunch.h.

◆ get_norm_emit() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_norm_emit ( ) const
inline

Definition at line 1305 of file #PartBunch.hpp#.

Referenced by StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_norm_emit() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_norm_emit ( ) const
inline

Definition at line 667 of file PartBunch.h.

◆ get_normalizedEps_68Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_68Percentile ( ) const
inline

Definition at line 1323 of file #PartBunch.hpp#.

◆ get_normalizedEps_68Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_68Percentile ( ) const
inline

Definition at line 685 of file PartBunch.h.

◆ get_normalizedEps_95Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_95Percentile ( ) const
inline

Definition at line 1326 of file #PartBunch.hpp#.

◆ get_normalizedEps_95Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_95Percentile ( ) const
inline

Definition at line 688 of file PartBunch.h.

◆ get_normalizedEps_99_99Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_99_99Percentile ( ) const
inline

Definition at line 1332 of file #PartBunch.hpp#.

◆ get_normalizedEps_99_99Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_99_99Percentile ( ) const
inline

Definition at line 694 of file PartBunch.h.

◆ get_normalizedEps_99Percentile() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_normalizedEps_99Percentile ( ) const
inline

Definition at line 1329 of file #PartBunch.hpp#.

◆ get_normalizedEps_99Percentile() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_normalizedEps_99Percentile ( ) const
inline

Definition at line 691 of file PartBunch.h.

◆ get_origin() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_origin ( ) const
inline

Definition at line 1274 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_origin() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_origin ( ) const
inline

Definition at line 630 of file PartBunch.h.

◆ get_PBounds() [1/3]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::get_PBounds ( Vector_t< double, 3 > & min,
Vector_t< double, 3 > & max ) const

Return maximum amplitudes.

Definition at line 826 of file .PartBunchBase.hpp.

References P.

◆ get_PBounds() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::get_PBounds ( Vector_t< double, Dim > & min,
Vector_t< double, Dim > & max )
inline

Definition at line 575 of file PartBunch.h.

◆ get_PBounds() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::get_PBounds ( Vector_t< T, Dim > & min,
Vector_t< T, Dim > & max ) const
inline

Definition at line 1223 of file #PartBunch.hpp#.

◆ get_plasmaParameter()

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_plasmaParameter ( ) const
inline

Definition at line 726 of file PartBunch.h.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_pmean() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_pmean ( ) const
inline

Definition at line 1296 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_pmean() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_pmean ( ) const
inline

Definition at line 658 of file PartBunch.h.

◆ get_pmean_Distribution() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_pmean_Distribution ( ) const
inline

Definition at line 1299 of file #PartBunch.hpp#.

◆ get_pmean_Distribution() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_pmean_Distribution ( ) const
inline

Definition at line 661 of file PartBunch.h.

◆ get_prms() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_prms ( ) const
inline

Definition at line 1293 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_prms() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_prms ( ) const
inline

Definition at line 650 of file PartBunch.h.

◆ get_rmean() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_rmean ( ) const
inline

Definition at line 1290 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::calcNumPartsOutside().

Here is the caller graph for this function:

◆ get_rmean() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_rmean ( ) const
inline

Definition at line 654 of file PartBunch.h.

◆ get_rmsDensity()

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_rmsDensity ( ) const
inline

Definition at line 730 of file PartBunch.h.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_rprms() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_rprms ( ) const
inline

Definition at line 1287 of file #PartBunch.hpp#.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ get_rprms() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_rprms ( ) const
inline

Definition at line 646 of file PartBunch.h.

◆ get_rrms() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::get_rrms ( ) const
inline

Definition at line 1284 of file #PartBunch.hpp#.

Referenced by DataSink::dumpSDDS(), and H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_rrms() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::get_rrms ( ) const
inline

Definition at line 642 of file PartBunch.h.

◆ get_sPos() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::get_sPos ( ) const
inline

Definition at line 1420 of file #PartBunch.hpp#.

Referenced by Monitor::initialise(), PartBunch< PLayout_t< double, 3 >, double, 3 >::print(), MemoryProfiler::write(), StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ get_sPos() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_sPos ( ) const
inline

Definition at line 618 of file PartBunch.h.

◆ get_temperature()

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::get_temperature ( ) const
inline

Definition at line 714 of file PartBunch.h.

Referenced by StatWriter::write().

Here is the caller graph for this function:

◆ getBConds()

template<class PLayout, typename T, unsigned Dim = 3>
ParticleBConds< Position_t, Dimension > & PartBunch< PLayout, T, Dim >::getBConds ( )
inline

Definition at line 164 of file .PartBunchBase.h.

◆ getBeta() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getBeta ( int i) const
inline

Definition at line 346 of file #PartBunch.hpp#.

◆ getBeta() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getBeta ( int i) const
inline

Definition at line 365 of file PartBunch.h.

◆ getBinGamma() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getBinGamma ( int bin)
inline

Get gamma of one bin.

Definition at line 1088 of file #PartBunch.hpp#.

◆ getBinGamma() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getBinGamma ( int bin)
inline

Definition at line 514 of file PartBunch.h.

◆ getBins()

template<class PLayout, typename T, unsigned Dim = 3>
std::shared_ptr< AdaptBins_t > PartBunch< PLayout, T, Dim >::getBins ( )
inline

Definition at line 260 of file PartBunch.h.

Referenced by PartBunch().

Here is the caller graph for this function:

◆ getBoundingSphere()

template<class T, unsigned Dim>
std::pair< Vector_t< double, 3 >, double > PartBunch< T, Dim >::getBoundingSphere ( )
inline

Definition at line 1201 of file #PartBunch.hpp#.

◆ getCharge() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getCharge ( ) const
inline

get the total charge per simulation particle

Definition at line 284 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::getQ(), StatWriter::write(), DataSink::writeImpactStatistics(), and H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ getCharge() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getCharge ( ) const
inline

Definition at line 340 of file PartBunch.h.

◆ getChargePerParticle() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getChargePerParticle ( ) const
inline

get the macro particle charge

Definition at line 289 of file #PartBunch.hpp#.

Referenced by DataSink::writeImpactStatistics().

Here is the caller graph for this function:

◆ getChargePerParticle() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getChargePerParticle ( ) const
inline

Definition at line 344 of file PartBunch.h.

◆ getCouplingConstant() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getCouplingConstant ( ) const
inline

Definition at line 241 of file #PartBunch.hpp#.

Referenced by spaceChargeEFieldCheck().

Here is the caller graph for this function:

◆ getCouplingConstant() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getCouplingConstant ( ) const
inline

Definition at line 320 of file PartBunch.h.

◆ getdE() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getdE ( ) const
inline

Definition at line 339 of file #PartBunch.hpp#.

Referenced by StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ getdE() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getdE ( ) const
inline

Definition at line 358 of file PartBunch.h.

◆ getDestroyNum()

template<class T, unsigned Dim>
size_t PartBunch< T, Dim >::getDestroyNum ( ) const

Definition at line 1297 of file .PartBunchBase.hpp.

◆ getdT() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getdT ( ) const
inline

Definition at line 1239 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::switchToUnitlessPositions(), and StatWriter::write().

Here is the caller graph for this function:

◆ getdT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getdT ( ) const
inline

Definition at line 591 of file PartBunch.h.

◆ getE()

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getE ( ) const
inline

Definition at line 308 of file #PartBunch.hpp#.

◆ getEExtrema() [1/3]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch::VectorPair_t PartBunch< PLayout, T, Dim >::getEExtrema ( )
inline

Definition at line 815 of file #PartBunch.hpp#.

◆ getEExtrema() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
VectorPair_t PartBunch< PLayout, T, Dim >::getEExtrema ( )

◆ getEExtrema() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::getEExtrema ( )
inline

Definition at line 453 of file PartBunch.h.

◆ getEmissionDeltaT() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getEmissionDeltaT ( )
inline

Definition at line 357 of file #PartBunch.hpp#.

◆ getEmissionDeltaT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getEmissionDeltaT ( )
inline

Definition at line 376 of file PartBunch.h.

◆ getFieldLayout() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
FieldLayout_t & PartBunch< PLayout, T, Dim >::getFieldLayout ( )
inline

Definition at line 445 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::getFieldLayout(), PartBunch< PLayout_t< double, 3 >, double, 3 >::getMesh(), PartBunch< PLayout_t< double, 3 >, double, 3 >::runTests(), updateDomainLength(), PartBunch< PLayout_t< double, 3 >, double, 3 >::updateDomainLength(), and updateFields().

Here is the caller graph for this function:

◆ getFieldLayout() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
FieldLayout_t & PartBunch< PLayout, T, Dim >::getFieldLayout ( )

◆ getFieldSolverType() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::getFieldSolverType ( )
inline

Definition at line 466 of file PartBunch.h.

◆ getFieldSolverType() [2/2]

template<class T, unsigned Dim>
FieldSolverType PartBunch< T, Dim >::getFieldSolverType ( ) const
inline

Return the fieldsolver type if we have a fieldsolver.

Definition at line 845 of file #PartBunch.hpp#.

◆ getGamma() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getGamma ( int i) const
inline

Definition at line 342 of file #PartBunch.hpp#.

◆ getGamma() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getGamma ( int i) const
inline

Definition at line 362 of file PartBunch.h.

◆ getGhostNum()

template<class T, unsigned Dim>
size_t PartBunch< T, Dim >::getGhostNum ( ) const

Definition at line 1302 of file .PartBunchBase.hpp.

◆ getGlobalMeanR() [1/2]

template<class T, unsigned Dim>
Vector_t< double, 3 > PartBunch< T, Dim >::getGlobalMeanR ( )
inline

Definition at line 1401 of file #PartBunch.hpp#.

◆ getGlobalMeanR() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::getGlobalMeanR ( )
inline

Definition at line 783 of file PartBunch.h.

◆ getGlobalToLocalQuaternion()

template<class T, unsigned Dim>
Quaternion_t PartBunch< T, Dim >::getGlobalToLocalQuaternion ( )
inline

Definition at line 791 of file PartBunch.h.

◆ getGlobalTrackStep() [1/2]

template<class T, unsigned Dim>
long long PartBunch< T, Dim >::getGlobalTrackStep ( ) const
inline

Definition at line 1369 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ getGlobalTrackStep() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::getGlobalTrackStep ( ) const
inline

Definition at line 751 of file PartBunch.h.

◆ getIfBeamEmitting() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::getIfBeamEmitting ( )
inline

Definition at line 1004 of file #PartBunch.hpp#.

◆ getIfBeamEmitting() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::getIfBeamEmitting ( )
inline

Definition at line 470 of file PartBunch.h.

◆ getInitialBeta()

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getInitialBeta ( ) const
inline

Definition at line 315 of file #PartBunch.hpp#.

◆ getInitialGamma()

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getInitialGamma ( ) const
inline

Definition at line 319 of file #PartBunch.hpp#.

◆ getKs3DRefp()

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, 3 > PartBunch< PLayout, T, Dim >::getKs3DRefp ( )

◆ getKs3DRefr()

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, 3 > PartBunch< PLayout, T, Dim >::getKs3DRefr ( )

◆ getLastemittedBin() [1/2]

template<class T, unsigned Dim>
int PartBunch< T, Dim >::getLastemittedBin ( )
inline

Definition at line 1070 of file #PartBunch.hpp#.

◆ getLastemittedBin() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getLastemittedBin ( )
inline

Definition at line 507 of file PartBunch.h.

◆ getLastEmittedEnergyBin() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getLastEmittedEnergyBin ( )
inline

Definition at line 1008 of file #PartBunch.hpp#.

◆ getLastEmittedEnergyBin() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getLastEmittedEnergyBin ( )
inline

Definition at line 473 of file PartBunch.h.

◆ getLayout() [1/2]

template<class T, unsigned Dim>
ParticleLayout< T, Dim > & PartBunch< T, Dim >::getLayout ( )
inlineprivate

Definition at line 115 of file .PartBunch.h.

Referenced by getMesh(), initialize(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::updateLayout().

Here is the caller graph for this function:

◆ getLayout() [2/2]

template<class T, unsigned Dim>
const ParticleLayout< T, Dim > & PartBunch< T, Dim >::getLayout ( ) const
inlineprivate

Definition at line 120 of file .PartBunch.h.

◆ getLoadBalance() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getLoadBalance ( int p)
inline

Definition at line 382 of file PartBunch.h.

◆ getLoadBalance() [2/2]

template<class T, unsigned Dim>
size_t PartBunch< T, Dim >::getLoadBalance ( int p) const
inline

Definition at line 429 of file #PartBunch.hpp#.

◆ getLocalBoundingSphere()

template<class T, unsigned Dim>
std::pair< Vector_t< double, 3 >, double > PartBunch< T, Dim >::getLocalBoundingSphere ( )
inline

Definition at line 1212 of file #PartBunch.hpp#.

◆ getLocalBounds() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::getLocalBounds ( Vector_t< double, Dim > & rmin,
Vector_t< double, Dim > & rmax )
inline

Definition at line 572 of file PartBunch.h.

◆ getLocalBounds() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::getLocalBounds ( Vector_t< T, Dim > & rmin,
Vector_t< T, Dim > & rmax ) const
inline

Definition at line 1180 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::get_bounds(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::getLocalBoundingSphere().

Here is the caller graph for this function:

◆ getLocalNum() [1/2]

◆ getLocalNum() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getLocalNum ( ) const
inline

Definition at line 272 of file PartBunch.h.

◆ getLocalTrackStep() [1/2]

template<class T, unsigned Dim>
long long PartBunch< T, Dim >::getLocalTrackStep ( ) const
inline

Definition at line 1383 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ getLocalTrackStep() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::getLocalTrackStep ( ) const
inline

Definition at line 765 of file PartBunch.h.

◆ getM() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getM ( ) const
inline

Definition at line 301 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ getM() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getM ( ) const
inline

Definition at line 354 of file PartBunch.h.

◆ getMassPerParticle() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getMassPerParticle ( ) const
inline

Definition at line 293 of file #PartBunch.hpp#.

◆ getMassPerParticle() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getMassPerParticle ( ) const
inline

Definition at line 347 of file PartBunch.h.

◆ getMesh() [1/3]

template<class PLayout, typename T, unsigned Dim = 3>
Mesh_t & PartBunch< PLayout, T, Dim >::getMesh ( )
inline

Definition at line 134 of file .PartBunch.h.

References getLayout().

Here is the call graph for this function:

◆ getMesh() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
const Mesh_t & PartBunch< PLayout, T, Dim >::getMesh ( ) const
inline

Definition at line 441 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::runTests(), and updateFields().

Here is the caller graph for this function:

◆ getMesh() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
const Mesh_t & PartBunch< PLayout, T, Dim >::getMesh ( ) const

◆ getNumberOfEmissionSteps() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getNumberOfEmissionSteps ( )
inline

Definition at line 1012 of file #PartBunch.hpp#.

◆ getNumberOfEmissionSteps() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getNumberOfEmissionSteps ( )
inline

Definition at line 476 of file PartBunch.h.

◆ getNumberOfEnergyBins() [1/2]

template<class T, unsigned Dim>
int PartBunch< T, Dim >::getNumberOfEnergyBins ( )
inline

Definition at line 1016 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp_destroyT(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::destroyT().

Here is the caller graph for this function:

◆ getNumberOfEnergyBins() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getNumberOfEnergyBins ( )
inline

Definition at line 479 of file PartBunch.h.

◆ getNumBunch() [1/2]

template<class T, unsigned Dim>
short PartBunch< T, Dim >::getNumBunch ( ) const
inline

Definition at line 1393 of file #PartBunch.hpp#.

◆ getNumBunch() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
short PartBunch< PLayout, T, Dim >::getNumBunch ( ) const
inline

Definition at line 775 of file PartBunch.h.

◆ getP()

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getP ( ) const
inline

Definition at line 304 of file #PartBunch.hpp#.

◆ getParticleContainer()

template<class PLayout, typename T, unsigned Dim = 3>
std::shared_ptr< ParticleContainer_t > PartBunch< PLayout, T, Dim >::getParticleContainer ( )
inline

Definition at line 248 of file PartBunch.h.

Referenced by bunchUpdate(), bunchUpdate(), PartBunch(), PartBunch< PLayout_t< double, 3 >, double, 3 >::setCharge(), PartBunch< PLayout_t< double, 3 >, double, 3 >::setMass(), StatWriter::write(), and H5PartWrapperForPT::writeStepData().

Here is the caller graph for this function:

◆ getPx() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getPx ( int i)
inline

Definition at line 1125 of file #PartBunch.hpp#.

◆ getPx() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPx ( int i)
inline

Definition at line 533 of file PartBunch.h.

◆ getPx0() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getPx0 ( int i)
inline

Definition at line 1135 of file #PartBunch.hpp#.

◆ getPx0() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPx0 ( int i)
inline

Definition at line 542 of file PartBunch.h.

◆ getPy() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getPy ( int i)
inline

Definition at line 1128 of file #PartBunch.hpp#.

◆ getPy() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPy ( int i)
inline

Definition at line 536 of file PartBunch.h.

◆ getPy0() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getPy0 ( int i)
inline

Definition at line 1138 of file #PartBunch.hpp#.

◆ getPy0() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPy0 ( int i)
inline

Definition at line 545 of file PartBunch.h.

◆ getPz() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getPz ( int i)
inline

Definition at line 1131 of file #PartBunch.hpp#.

◆ getPz() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getPz ( int i)
inline

Definition at line 539 of file PartBunch.h.

◆ getQ() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getQ ( ) const
inline

Access to reference data.

Definition at line 298 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ getQ() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getQ ( ) const
inline

Definition at line 351 of file PartBunch.h.

◆ getQKs3D()

template<class PLayout, typename T, unsigned Dim = 3>
Quaternion_t PartBunch< PLayout, T, Dim >::getQKs3D ( )

◆ getReference() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
PartData * PartBunch< PLayout, T, Dim >::getReference ( )
inline

Definition at line 372 of file PartBunch.h.

◆ getReference() [2/2]

template<class T, unsigned Dim>
const PartData * PartBunch< T, Dim >::getReference ( ) const
inline

Definition at line 353 of file #PartBunch.hpp#.

◆ getRho() [1/3]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getRho ( int x,
int y,
int z )
inline

Definition at line 701 of file #PartBunch.hpp#.

Referenced by scatterCICPerBin().

Here is the caller graph for this function:

◆ getRho() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getRho ( int x,
int y,
int z )

◆ getRho() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getRho ( int x,
int y,
int z )
inline

Definition at line 433 of file PartBunch.h.

◆ getStepsPerTurn() [1/2]

template<class T, unsigned Dim>
int PartBunch< T, Dim >::getStepsPerTurn ( ) const
inline

Definition at line 1360 of file #PartBunch.hpp#.

◆ getStepsPerTurn() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getStepsPerTurn ( ) const
inline

Definition at line 742 of file PartBunch.h.

◆ getSteptoLastInj() [1/2]

template<class T, unsigned Dim>
int PartBunch< T, Dim >::getSteptoLastInj ( ) const
inline

Definition at line 1412 of file #PartBunch.hpp#.

◆ getSteptoLastInj() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::getSteptoLastInj ( ) const
inline

Definition at line 799 of file PartBunch.h.

◆ getT() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getT ( ) const
inline

Definition at line 1251 of file #PartBunch.hpp#.

Referenced by LBalWriter::write(), MemoryProfiler::write(), StatWriter::write(), DataSink::writeImpactStatistics(), and H5PartWrapperForPT::writeStepHeader().

Here is the caller graph for this function:

◆ getT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getT ( ) const
inline

Definition at line 603 of file PartBunch.h.

◆ getTEmission() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getTEmission ( )
inline

Definition at line 1033 of file #PartBunch.hpp#.

◆ getTEmission() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getTEmission ( )
inline

Definition at line 493 of file PartBunch.h.

◆ getTempEField()

template<class PLayout, typename T, unsigned Dim = 3>
std::shared_ptr< VField_t< T, Dim > > PartBunch< PLayout, T, Dim >::getTempEField ( )
inline

Definition at line 257 of file PartBunch.h.

Referenced by PartBunch().

Here is the caller graph for this function:

◆ getTotalNum() [1/2]

◆ getTotalNum() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
size_t PartBunch< PLayout, T, Dim >::getTotalNum ( ) const
inline

Definition at line 268 of file PartBunch.h.

◆ getUpdateFlag()

template<class T, unsigned Dim>
bool PartBunch< T, Dim >::getUpdateFlag ( UpdateFlags_t f) const

Definition at line 1327 of file .PartBunchBase.hpp.

◆ getX() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getX ( int i)
inline

Definition at line 1142 of file #PartBunch.hpp#.

◆ getX() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getX ( int i)
inline

Definition at line 548 of file PartBunch.h.

◆ getX0() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getX0 ( int i)
inline

Definition at line 1152 of file #PartBunch.hpp#.

◆ getX0() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getX0 ( int i)
inline

Definition at line 557 of file PartBunch.h.

◆ getY() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getY ( int i)
inline

Definition at line 1145 of file #PartBunch.hpp#.

◆ getY() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getY ( int i)
inline

Definition at line 551 of file PartBunch.h.

◆ getY0() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getY0 ( int i)
inline

Definition at line 1155 of file #PartBunch.hpp#.

◆ getY0() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getY0 ( int i)
inline

Definition at line 560 of file PartBunch.h.

◆ getZ() [1/2]

template<class T, unsigned Dim>
double PartBunch< T, Dim >::getZ ( int i)
inline

Definition at line 1148 of file #PartBunch.hpp#.

◆ getZ() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::getZ ( int i)
inline

Definition at line 554 of file PartBunch.h.

◆ ghostDestroy()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::ghostDestroy ( size_t M,
size_t I )

Definition at line 1390 of file .PartBunchBase.hpp.

References M.

◆ globalCreate()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::globalCreate ( size_t np)

Definition at line 1375 of file .PartBunchBase.hpp.

◆ grid2par()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::grid2par ( )
inlineoverride

Definition at line 304 of file PartBunch.h.

◆ hasBinning() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::hasBinning ( )
inline

Definition at line 517 of file PartBunch.h.

◆ hasBinning() [2/2]

template<class T, unsigned Dim>
bool PartBunch< T, Dim >::hasBinning ( ) const
inline

Definition at line 1092 of file #PartBunch.hpp#.

◆ hasFieldSolver() [1/2]

template<class T, unsigned Dim>
bool PartBunch< T, Dim >::hasFieldSolver ( )
inline

Definition at line 838 of file #PartBunch.hpp#.

◆ hasFieldSolver() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::hasFieldSolver ( )
inline

Definition at line 462 of file PartBunch.h.

◆ incrementT() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::incrementT ( )
inline

Definition at line 1247 of file #PartBunch.hpp#.

◆ incrementT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::incrementT ( )
inline

Definition at line 599 of file PartBunch.h.

◆ incTrackSteps() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::incTrackSteps ( )
inline

Definition at line 1378 of file #PartBunch.hpp#.

◆ incTrackSteps() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::incTrackSteps ( )
inline

Definition at line 760 of file PartBunch.h.

◆ initialize() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::initialize ( FieldLayout_t * fLayout)

Definition at line 54 of file .PartBunch.cpp.

References getLayout().

Here is the call graph for this function:

◆ initialize() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::initialize ( FieldLayout_t< Dim > & fl,
Mesh_t< Dim > & mesh )
inline

Definition at line 231 of file #PartBunch.hpp#.

Referenced by setSolver().

Here is the caller graph for this function:

◆ initializeORB()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::initializeORB ( FieldLayout_t< Dim > & fl,
Mesh_t< Dim > & mesh )
inline

Definition at line 385 of file #PartBunch.hpp#.

◆ isGridFixed() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::isGridFixed ( )
inline

Definition at line 401 of file PartBunch.h.

◆ isGridFixed() [2/2]

template<class T, unsigned Dim>
bool PartBunch< T, Dim >::isGridFixed ( ) const
inline

Definition at line 470 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp().

Here is the caller graph for this function:

◆ iterateEmittedBin()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::iterateEmittedBin ( int binNumber)

◆ operator=() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch & PartBunch< PLayout, T, Dim >::operator= ( const PartBunch< PLayout, T, Dim > & )
delete

◆ operator=() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
PartBunch & PartBunch< PLayout, T, Dim >::operator= ( const PartBunch< PLayout, T, Dim > & )
delete

◆ P()

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::P ( size_t i)
inline

Definition at line 280 of file PartBunch.h.

◆ par2grid()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::par2grid ( )
inlineoverride

Definition at line 300 of file PartBunch.h.

◆ performDestroy()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::performDestroy ( bool updateLocalNum = false)

Definition at line 1385 of file .PartBunchBase.hpp.

◆ pre_run()

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::pre_run ( )
override

Definition at line 320 of file PartBunch.cpp.

Referenced by PartBunch().

Here is the caller graph for this function:

◆ print() [1/3]

template<typename T, unsigned Dim>
Inform & PartBunch< T, Dim >::print ( Inform & os)
inline

Definition at line 869 of file #PartBunch.hpp#.

Referenced by operator<<(), and operator<<().

Here is the caller graph for this function:

◆ print() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
Inform & PartBunch< PLayout, T, Dim >::print ( Inform & os)

◆ print() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
Inform & PartBunch< PLayout, T, Dim >::print ( Inform & os)

◆ R()

◆ Rebin() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::Rebin ( )
inline

Definition at line 1020 of file #PartBunch.hpp#.

◆ Rebin() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::Rebin ( )
inline

Definition at line 483 of file PartBunch.h.

◆ rebin() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::rebin ( )
inline

Definition at line 1063 of file #PartBunch.hpp#.

◆ rebin() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::rebin ( )
inline

Definition at line 505 of file PartBunch.h.

◆ repartition()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::repartition ( FieldLayout_t< Dim > & fl,
Mesh_t< Dim > & mesh )
inline

Definition at line 389 of file #PartBunch.hpp#.

◆ resetID()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::resetID ( )

Definition at line 1342 of file .PartBunchBase.hpp.

References resetID().

Referenced by resetID().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetInterpolationCache() [1/3]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::resetInterpolationCache ( bool clearCache = false)
inline

Definition at line 672 of file #PartBunch.hpp#.

◆ resetInterpolationCache() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resetInterpolationCache ( bool clearCache = false)

◆ resetInterpolationCache() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resetInterpolationCache ( bool clearCache = false)
inline

Definition at line 429 of file PartBunch.h.

◆ resetM()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::resetM ( double m)
inline

Definition at line 329 of file #PartBunch.hpp#.

◆ resetPartBinBunch() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinBunch ( )
inline

Definition at line 1116 of file #PartBunch.hpp#.

◆ resetPartBinBunch() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinBunch ( )
inline

Definition at line 530 of file PartBunch.h.

◆ resetPartBinID2() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinID2 ( const double eta)
inline

reset Bin[] for each particle according to the method given in paper PAST-AB(064402) by G. Fubiani et al.

Definition at line 1112 of file #PartBunch.hpp#.

◆ resetPartBinID2() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::resetPartBinID2 ( const double eta)
inline

Definition at line 527 of file PartBunch.h.

◆ resetQ()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::resetQ ( double q)
inline

Set reference data.

Definition at line 326 of file #PartBunch.hpp#.

◆ resizeMesh() [1/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resizeMesh ( )

Definition at line 318 of file .PartBunch.cpp.

◆ resizeMesh() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resizeMesh ( )
private

resize mesh to geometry specified

◆ resizeMesh() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::resizeMesh ( )
inline

Definition at line 386 of file PartBunch.h.

◆ runTests() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::runTests ( )
inline

Definition at line 650 of file #PartBunch.hpp#.

◆ runTests() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::runTests ( )

◆ scatterCIC() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::scatterCIC ( )
inline

Definition at line 310 of file PartBunch.h.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::par2grid().

Here is the caller graph for this function:

◆ scatterCIC() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::scatterCIC ( unsigned int totalP,
int iteration )
inline

Definition at line 962 of file #PartBunch.hpp#.

◆ scatterCICPerBin()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< T, Dim >::scatterCICPerBin ( binIndex_t binIndex)

Scatters only particles in bin binIndex. Scatters all particles if binIndex=-1

Definition at line 547 of file PartBunch.cpp.

References bins_m, getRho(), getTotalNum(), hr_m, it_m, Q, qi_m, R(), rmax_m, rmin_m, and totalP_m.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::scatterCIC().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_meshEnlargement()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::set_meshEnlargement ( double dh)
inline

Definition at line 622 of file #PartBunch.hpp#.

◆ set_sPos() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::set_sPos ( double s)
inline

get the spos of the primary beam

Parameters
none

Definition at line 1262 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::readStepHeader().

Here is the caller graph for this function:

◆ set_sPos() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::set_sPos ( double s)
inline

get the spos of the primary beam

Parameters
none

Definition at line 614 of file PartBunch.h.

◆ setBCAllOpen() [1/3]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setBCAllOpen ( )
inline

Definition at line 632 of file #PartBunch.hpp#.

◆ setBCAllOpen() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllOpen ( )

◆ setBCAllOpen() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllOpen ( )
inline

Definition at line 420 of file PartBunch.h.

◆ setBCAllPeriodic() [1/3]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setBCAllPeriodic ( )
inline

Definition at line 642 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::runTests(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::setupBCs().

Here is the caller graph for this function:

◆ setBCAllPeriodic() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllPeriodic ( )

◆ setBCAllPeriodic() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCAllPeriodic ( )
inline

Definition at line 426 of file PartBunch.h.

◆ setBCForDCBeam() [1/3]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setBCForDCBeam ( )
inline

Definition at line 635 of file #PartBunch.hpp#.

◆ setBCForDCBeam() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCForDCBeam ( )

◆ setBCForDCBeam() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBCForDCBeam ( )
inline

Definition at line 422 of file PartBunch.h.

◆ setBConds()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBConds ( const ParticleBConds< Position_t, Dimension > & bc)
inline

Definition at line 168 of file .PartBunchBase.h.

◆ setBeamFrequency() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setBeamFrequency ( double v)
inline

Definition at line 806 of file #PartBunch.hpp#.

◆ setBeamFrequency() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBeamFrequency ( double v)
inline

Definition at line 450 of file PartBunch.h.

◆ setBinCharge() [1/4]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setBinCharge ( int bin)
inline

Set the charge of all other the ones in bin to zero.

Definition at line 1102 of file #PartBunch.hpp#.

◆ setBinCharge() [2/4]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBinCharge ( int bin)
inline

Definition at line 522 of file PartBunch.h.

◆ setBinCharge() [3/4]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setBinCharge ( int bin,
double q )
inline

Set the charge of one bin to the value of q and all other to zero.

Definition at line 1097 of file #PartBunch.hpp#.

◆ setBinCharge() [4/4]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBinCharge ( int bin,
double q )
inline

Definition at line 520 of file PartBunch.h.

◆ setBins()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setBins ( std::shared_ptr< AdaptBins_t > bins)
inline

Definition at line 262 of file PartBunch.h.

Referenced by PartBunch().

Here is the caller graph for this function:

◆ setCharge() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setCharge ( )
inline

Definition at line 332 of file PartBunch.h.

◆ setCharge() [2/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setCharge ( double q)
inline

Definition at line 257 of file #PartBunch.hpp#.

◆ setChargeZeroPart()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setChargeZeroPart ( double q)
inline

Definition at line 268 of file #PartBunch.hpp#.

◆ setCouplingConstant() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setCouplingConstant ( double c)
inline

Definition at line 245 of file #PartBunch.hpp#.

◆ setCouplingConstant() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setCouplingConstant ( double c)
inline

Definition at line 324 of file PartBunch.h.

◆ setdT() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setdT ( double dt)
inline

Definition at line 1235 of file #PartBunch.hpp#.

◆ setdT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setdT ( double dt)
inline

get 2nd order beam matrix

Definition at line 587 of file PartBunch.h.

◆ setEnergyBins() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setEnergyBins ( int numberOfEnergyBins)
inline

Definition at line 1023 of file #PartBunch.hpp#.

◆ setEnergyBins() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setEnergyBins ( int numberOfEnergyBins)
inline

Definition at line 486 of file PartBunch.h.

◆ setGlobalMeanR() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setGlobalMeanR ( Vector_t< double, Dim > globalMeanR)
inline

Definition at line 779 of file PartBunch.h.

◆ setGlobalMeanR() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setGlobalMeanR ( Vector_t< T, Dim > globalMeanR)
inline

Definition at line 1397 of file #PartBunch.hpp#.

◆ setGlobalToLocalQuaternion()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setGlobalToLocalQuaternion ( Quaternion_t globalToLocalQuaternion)
inline

Definition at line 787 of file PartBunch.h.

◆ setGlobalTrackStep() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setGlobalTrackStep ( long long n)
inline

step in multiple TRACK commands

Definition at line 1365 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::readStepHeader().

Here is the caller graph for this function:

◆ setGlobalTrackStep() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setGlobalTrackStep ( long long n)
inline

step in multiple TRACK commands

Definition at line 747 of file PartBunch.h.

◆ setKs3DRefp()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setKs3DRefp ( Vector_t< double, 3 > p)

◆ setKs3DRefr()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setKs3DRefr ( Vector_t< double, 3 > r)

◆ setLocalBinCount() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setLocalBinCount ( size_t num,
int bin )
inline

Definition at line 1077 of file #PartBunch.hpp#.

◆ setLocalBinCount() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setLocalBinCount ( size_t num,
int bin )
inline

Definition at line 510 of file PartBunch.h.

◆ setLocalNum()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setLocalNum ( size_t n)

Definition at line 1312 of file .PartBunchBase.hpp.

◆ setLocalTrackStep() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setLocalTrackStep ( long long n)
inline

step in a TRACK command

Definition at line 1374 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::readStepHeader().

Here is the caller graph for this function:

◆ setLocalTrackStep() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setLocalTrackStep ( long long n)
inline

step in a TRACK command

Definition at line 756 of file PartBunch.h.

◆ setMass() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setMass ( )
inline

Definition at line 336 of file PartBunch.h.

◆ setMass() [2/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setMass ( double mass)
inline

Definition at line 273 of file #PartBunch.hpp#.

◆ setMassZeroPart()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setMassZeroPart ( double mass)
inline

Definition at line 279 of file #PartBunch.hpp#.

◆ setNumBunch() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setNumBunch ( short n)
inline

Definition at line 1387 of file #PartBunch.hpp#.

◆ setNumBunch() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setNumBunch ( short n)
inline

Definition at line 769 of file PartBunch.h.

◆ setPBins()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setPBins ( PartBins * pbin)
inline

Definition at line 1041 of file #PartBunch.hpp#.

◆ setPType()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setPType ( const std::string & type)
inline

Definition at line 334 of file #PartBunch.hpp#.

◆ setQKs3D()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setQKs3D ( Quaternion_t q)

◆ setSolver()

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::setSolver ( std::string solver)

CAN not re-inizialize ParticleLayout this is an IPPL issue

Definition at line 898 of file .PartBunchBase.hpp.

References OpalData::getInstance(), initialize(), and FieldSolver< T, Dim >::initSolver().

Referenced by PartBunch().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setStepsPerTurn() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setStepsPerTurn ( int n)
inline

Definition at line 1356 of file #PartBunch.hpp#.

◆ setStepsPerTurn() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setStepsPerTurn ( int n)
inline

Definition at line 738 of file PartBunch.h.

◆ setSteptoLastInj() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setSteptoLastInj ( int n)
inline

Definition at line 1408 of file #PartBunch.hpp#.

◆ setSteptoLastInj() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setSteptoLastInj ( int n)
inline

Definition at line 795 of file PartBunch.h.

◆ setT() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setT ( double t)
inline

Definition at line 1243 of file #PartBunch.hpp#.

Referenced by H5PartWrapperForPT::readStepHeader().

Here is the caller graph for this function:

◆ setT() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setT ( double t)
inline

Definition at line 595 of file PartBunch.h.

◆ setTEmission() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setTEmission ( double t)
inline

Definition at line 1030 of file #PartBunch.hpp#.

◆ setTEmission() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setTEmission ( double t)
inline

Definition at line 491 of file PartBunch.h.

◆ setTempEField()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setTempEField ( std::shared_ptr< VField_t< T, Dim > > Etmp)
inline

Definition at line 258 of file PartBunch.h.

Referenced by PartBunch().

Here is the caller graph for this function:

◆ setTotalNum()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setTotalNum ( size_t n)

Definition at line 1307 of file .PartBunchBase.hpp.

◆ setup()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setup ( AbstractParticle< T, Dim > * pb)
private

Definition at line 1251 of file .PartBunchBase.hpp.

References Bf, Bin, bunchNum, dt, Ef, Eftmp, globalPartPerNode_m, M, P, Phi, pmsg_m, and Q.

Referenced by PartBunch().

Here is the caller graph for this function:

◆ setupBCs() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setupBCs ( )
inline

Definition at line 638 of file #PartBunch.hpp#.

◆ setupBCs() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setupBCs ( )
inline

Definition at line 424 of file PartBunch.h.

◆ setUpdateFlag()

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setUpdateFlag ( UpdateFlags_t f,
bool val )

Definition at line 1332 of file .PartBunchBase.hpp.

◆ setZ() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::setZ ( int i,
double zcoo )
inline

Definition at line 1159 of file #PartBunch.hpp#.

◆ setZ() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::setZ ( int i,
double zcoo )
inline

Definition at line 564 of file PartBunch.h.

◆ spaceChargeEFieldCheck()

template<typename T, unsigned Dim>
void PartBunch< T, Dim >::spaceChargeEFieldCheck ( Vector_t< double, 3 > efScale)

Definition at line 150 of file PartBunch.cpp.

References getCouplingConstant(), getLocalNum(), and getTotalNum().

Here is the call graph for this function:

◆ swap() [1/3]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::swap ( unsigned int i,
unsigned int j )
inline

Definition at line 678 of file #PartBunch.hpp#.

◆ swap() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::swap ( unsigned int i,
unsigned int j )

◆ swap() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::swap ( unsigned int i,
unsigned int j )
inline

Definition at line 431 of file PartBunch.h.

◆ switchOffUnitlessPositions() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::switchOffUnitlessPositions ( bool use_dt_per_particle = false)
inline

Definition at line 736 of file #PartBunch.hpp#.

◆ switchOffUnitlessPositions() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::switchOffUnitlessPositions ( bool use_dt_per_particle = false)
inline

Definition at line 439 of file PartBunch.h.

◆ switchToUnitlessPositions() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::switchToUnitlessPositions ( bool use_dt_per_particle = false)
inline

Definition at line 715 of file #PartBunch.hpp#.

◆ switchToUnitlessPositions() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::switchToUnitlessPositions ( bool use_dt_per_particle = false)
inline

Definition at line 437 of file PartBunch.h.

◆ update() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::update ( )

Definition at line 1347 of file .PartBunchBase.hpp.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::updateLayout().

Here is the caller graph for this function:

◆ update() [2/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::update ( const ParticleAttrib< char > & canSwap)

Definition at line 1356 of file .PartBunchBase.hpp.

◆ updateDomainLength() [1/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateDomainLength ( Vector_t< int, 3 > & grid)
inline

Definition at line 370 of file #PartBunch.hpp#.

◆ updateDomainLength() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateDomainLength ( Vektor< int, 3 > & grid)
privatevirtual

Implements PartBunch< PLayout_t< double, 3 >, double, 3 >.

Definition at line 490 of file .PartBunch.cpp.

References Dimension, and getFieldLayout().

Here is the call graph for this function:

◆ updateDomainLength() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
virtual void PartBunch< PLayout, T, Dim >::updateDomainLength ( Vektor< int, 3 > & grid)
privatepure virtual

◆ updateFields() [1/3]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::updateFields ( const Vector_t< double, 3 > & hr,
const Vector_t< double, 3 > & origin )
privatevirtual

Reimplemented from PartBunch< PLayout_t< double, 3 >, double, 3 >.

Definition at line 497 of file .PartBunch.cpp.

References bc_m, eg_m, getFieldLayout(), getMesh(), hr_m, rho_m, and vbc_m.

Here is the call graph for this function:

◆ updateFields() [2/3]

template<class PLayout, typename T, unsigned Dim = 3>
virtual void PartBunch< PLayout, T, Dim >::updateFields ( const Vector_t< double, 3 > & hr,
const Vector_t< double, 3 > & origin )
privatevirtual

◆ updateFields() [3/3]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateFields ( const Vector_t< T, Dim > & ,
const Vector_t< T, Dim > & origin )
inline

Definition at line 376 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp().

Here is the caller graph for this function:

◆ updateLayout()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateLayout ( FieldLayout_t< Dim > & fl,
Mesh_t< Dim > & mesh )
inline

Definition at line 453 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::initialize(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::repartition().

Here is the caller graph for this function:

◆ updateMoments()

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateMoments ( )
inline

Definition at line 264 of file PartBunch.h.

Referenced by bunchUpdate(), and bunchUpdate().

Here is the caller graph for this function:

◆ updateNumTotal() [1/2]

template<class T, unsigned Dim>
void PartBunch< T, Dim >::updateNumTotal ( )
inline

Definition at line 1053 of file #PartBunch.hpp#.

◆ updateNumTotal() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
void PartBunch< PLayout, T, Dim >::updateNumTotal ( )
inline

Definition at line 503 of file PartBunch.h.

◆ weHaveBins() [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::weHaveBins ( )
inline

Definition at line 496 of file PartBunch.h.

◆ weHaveBins() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::weHaveBins ( ) const
inline

Definition at line 1037 of file #PartBunch.hpp#.

◆ weHaveEnergyBins() [1/2]

template<class T, unsigned Dim>
bool PartBunch< T, Dim >::weHaveEnergyBins ( )
inline

Definition at line 1026 of file #PartBunch.hpp#.

Referenced by PartBunch< PLayout_t< double, 3 >, double, 3 >::boundp_destroyT(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::destroyT().

Here is the caller graph for this function:

◆ weHaveEnergyBins() [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::weHaveEnergyBins ( )
inline

Definition at line 488 of file PartBunch.h.

Member Data Documentation

◆ allPeriodic

template<class PLayout, typename T, unsigned Dim = 3>
bc_type PartBunch< PLayout, T, Dim >::allPeriodic

Definition at line 175 of file #PartBunch.hpp#.

◆ alpha_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::alpha_m

Definition at line 132 of file PartBunch.h.

◆ bc_m

template<class PLayout, typename T, unsigned Dim = 3>
BConds<double, 3, Mesh_t, Center_t> PartBunch< PLayout, T, Dim >::bc_m
private

for defining the boundary conditions

Definition at line 107 of file .PartBunch.h.

Referenced by updateFields().

◆ Bext_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::Bext_m

Definition at line 131 of file PartBunch.h.

◆ Bf

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Bf

Definition at line 74 of file #PartBunch.hpp#.

Referenced by setup().

◆ Bin

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<int> PartBunch< PLayout, T, Dim >::Bin

◆ binemitted_m

template<class PLayout, typename T, unsigned Dim = 3>
std::unique_ptr<size_t[]> PartBunch< PLayout, T, Dim >::binemitted_m

Definition at line 116 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ bingamma_m

template<class PLayout, typename T, unsigned Dim = 3>
std::unique_ptr< double[]> PartBunch< PLayout, T, Dim >::bingamma_m

holds the gamma of the bin

Definition at line 111 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ bins_m

template<class PLayout, typename T, unsigned Dim = 3>
std::shared_ptr<AdaptBins_t> PartBunch< PLayout, T, Dim >::bins_m
private

Definition at line 182 of file PartBunch.h.

Referenced by scatterCICPerBin().

◆ bunchLocalNum_m

template<class PLayout, typename T, unsigned Dim = 3>
std::vector< size_t > PartBunch< PLayout, T, Dim >::bunchLocalNum_m

Definition at line 132 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ bunchNum

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<int> PartBunch< PLayout, T, Dim >::bunchNum

Definition at line 70 of file #PartBunch.hpp#.

Referenced by setup().

◆ bunchTotalNum_m

template<class PLayout, typename T, unsigned Dim = 3>
std::vector< size_t > PartBunch< PLayout, T, Dim >::bunchTotalNum_m

number of particles per bunch

Definition at line 131 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ centroid_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::centroid_m[2 *Dim]

holds the centroid of the beam

Definition at line 154 of file #PartBunch.hpp#.

◆ couplingConstant_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::couplingConstant_m

Definition at line 145 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ dcBeam_m

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::dcBeam_m

Definition at line 194 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ decomp_m

template<class PLayout, typename T, unsigned Dim = 3>
std::array<bool, Dim> PartBunch< PLayout, T, Dim >::decomp_m

Definition at line 136 of file PartBunch.h.

Referenced by PartBunch().

◆ dh_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::dh_m

Mesh enlargement.

Definition at line 141 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ Dimension

template<class PLayout, typename T, unsigned Dim = 3>
const unsigned PartBunch< PLayout, T, Dim >::Dimension = Dim
static

Definition at line 64 of file .PartBunchBase.h.

Referenced by updateDomainLength().

◆ domain_m

template<class PLayout, typename T, unsigned Dim = 3>
ippl::NDIndex<Dim> PartBunch< PLayout, T, Dim >::domain_m

Definition at line 135 of file PartBunch.h.

Referenced by PartBunch().

◆ DrInv_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::DrInv_m

Definition at line 133 of file PartBunch.h.

◆ dt

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::dt

◆ dt_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::dt_m

6x6 matrix of the moments of the beam

holds the timestep in seconds

Definition at line 160 of file #PartBunch.hpp#.

Referenced by PartBunch(), and PartBunch().

◆ E

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::E

Definition at line 72 of file #PartBunch.hpp#.

◆ Ef

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Ef

Definition at line 73 of file #PartBunch.hpp#.

Referenced by setup().

◆ EFD_m

template<class PLayout, typename T, unsigned Dim = 3>
VField_t<T, Dim> PartBunch< PLayout, T, Dim >::EFD_m

Definition at line 166 of file #PartBunch.hpp#.

◆ EFDMag_m

template<class PLayout, typename T, unsigned Dim = 3>
Field_t<Dim> PartBunch< PLayout, T, Dim >::EFDMag_m

Definition at line 169 of file #PartBunch.hpp#.

◆ Eftmp

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<Vector_t<T, Dim> > PartBunch< PLayout, T, Dim >::Eftmp

Definition at line 78 of file #PartBunch.hpp#.

Referenced by setup().

◆ eg_m [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
VField_t<T, Dim> PartBunch< PLayout, T, Dim >::eg_m

Definition at line 167 of file #PartBunch.hpp#.

Referenced by updateFields().

◆ eg_m [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
VField_t PartBunch< PLayout, T, Dim >::eg_m

vector field on the grid

Definition at line 94 of file .PartBunch.h.

◆ Etmp_m

template<class PLayout, typename T, unsigned Dim = 3>
std::shared_ptr<VField_t<T, Dim> > PartBunch< PLayout, T, Dim >::Etmp_m
private

Temporary E field container used to store temporary E field during binned solver.

Definition at line 233 of file PartBunch.h.

◆ f_stream

template<class PLayout, typename T, unsigned Dim = 3>
std::unique_ptr<std::ofstream> PartBunch< PLayout, T, Dim >::f_stream

Definition at line 920 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ fixed_grid

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::fixed_grid

Definition at line 139 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ globalMeanR_m [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::globalMeanR_m

Initialize the translation vector and rotation quaternion here. Cyclotron tracker will reset these values each timestep TTracker can just use 0 translation and 0 rotation (quat[1 0 0 0]).

Definition at line 98 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ globalMeanR_m [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::globalMeanR_m
private

Initialize the translation vector and rotation quaternion here. Cyclotron tracker will reset these values each timestep TTracker can just use 0 translation and 0 rotation (quat[1 0 0 0]).

Definition at line 163 of file PartBunch.h.

◆ globalPartPerNode_m

template<class PLayout, typename T, unsigned Dim = 3>
std::unique_ptr< size_t[]> PartBunch< PLayout, T, Dim >::globalPartPerNode_m

Definition at line 183 of file #PartBunch.hpp#.

Referenced by PartBunch(), PartBunch(), and setup().

◆ globalToLocalQuaternion_m

template<class PLayout, typename T, unsigned Dim = 3>
Quaternion_t PartBunch< PLayout, T, Dim >::globalToLocalQuaternion_m
private

Definition at line 164 of file PartBunch.h.

Referenced by PartBunch().

◆ globalTrackStep_m

template<class PLayout, typename T, unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::globalTrackStep_m

if multiple TRACK commands

Definition at line 125 of file #PartBunch.hpp#.

Referenced by PartBunch(), and PartBunch().

◆ hr_m

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::hr_m

mesh size [m]

Definition at line 189 of file #PartBunch.hpp#.

Referenced by bunchUpdate(), bunchUpdate(), PartBunch(), PartBunch(), scatterCICPerBin(), and updateFields().

◆ integration_method_m

template<class PLayout, typename T, unsigned Dim = 3>
std::string PartBunch< PLayout, T, Dim >::integration_method_m

Definition at line 106 of file PartBunch.h.

Referenced by PartBunch().

◆ interpolationCache_m

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<CacheDataCIC<double, 3U> > PartBunch< PLayout, T, Dim >::interpolationCache_m
private

Definition at line 112 of file .PartBunch.h.

◆ interpolationCacheSet_m

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::interpolationCacheSet_m
private

Definition at line 110 of file .PartBunch.h.

Referenced by PartBunch().

◆ isFirstRepartition_m

template<class PLayout, typename T, unsigned Dim = 3>
bool PartBunch< PLayout, T, Dim >::isFirstRepartition_m

Definition at line 110 of file PartBunch.h.

Referenced by bunchUpdate(), bunchUpdate(), and PartBunch().

◆ isParallel_m

template<class PLayout, typename T, unsigned Dim = 3>
std::array<bool, Dim> PartBunch< PLayout, T, Dim >::isParallel_m

Definition at line 187 of file #PartBunch.hpp#.

◆ it_m

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::it_m

Definition at line 104 of file PartBunch.h.

Referenced by PartBunch(), and scatterCICPerBin().

◆ lbt_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::lbt_m

Definition at line 100 of file PartBunch.h.

Referenced by PartBunch().

◆ localTrackStep_m

template<class PLayout, typename T, unsigned Dim = 3>
long long PartBunch< PLayout, T, Dim >::localTrackStep_m

step in a TRACK command

Definition at line 122 of file #PartBunch.hpp#.

Referenced by PartBunch(), and PartBunch().

◆ M

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::M

◆ massPerParticle_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::massPerParticle_m

Definition at line 147 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ mi_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::mi_m
private

Definition at line 115 of file PartBunch.h.

Referenced by PartBunch().

◆ nr_m [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::nr_m

Definition at line 185 of file #PartBunch.hpp#.

Referenced by bunchUpdate(), bunchUpdate(), PartBunch(), and PartBunch().

◆ nr_m [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<int, Dim> PartBunch< PLayout, T, Dim >::nr_m

Definition at line 121 of file PartBunch.h.

◆ nt_m

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::nt_m

Definition at line 98 of file PartBunch.h.

Referenced by PartBunch().

◆ numBunch_m

template<class PLayout, typename T, unsigned Dim = 3>
short PartBunch< PLayout, T, Dim >::numBunch_m

current bunch number

Definition at line 128 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ OPALdist_m

template<class PLayout, typename T, unsigned Dim = 3>
std::shared_ptr<Distribution> PartBunch< PLayout, T, Dim >::OPALdist_m
private

Definition at line 212 of file PartBunch.h.

Referenced by PartBunch().

◆ OPALFieldSolver_m

template<class PLayout, typename T, unsigned Dim = 3>
std::shared_ptr<FieldSolverCmd> PartBunch< PLayout, T, Dim >::OPALFieldSolver_m
private

Definition at line 214 of file PartBunch.h.

Referenced by bunchUpdate(), bunchUpdate(), and PartBunch().

◆ orb

template<class PLayout, typename T, unsigned Dim = 3>
ORB<T, Dim> PartBunch< PLayout, T, Dim >::orb

Definition at line 181 of file #PartBunch.hpp#.

◆ origin_m

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::origin_m

Definition at line 123 of file PartBunch.h.

Referenced by PartBunch().

◆ P

◆ pbin_m

template<class PLayout, typename T, unsigned Dim = 3>
PartBins* PartBunch< PLayout, T, Dim >::pbin_m

The structure for particle binning

Definition at line 105 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ periodLength_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::periodLength_m

Definition at line 195 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ Phi

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::Phi

Definition at line 77 of file #PartBunch.hpp#.

Referenced by setup(), and PartBunch< PLayout_t< double, 3 >, double, 3 >::swap().

◆ phi_m

template<class PLayout, typename T, unsigned Dim = 3>
Field<T, Dim> PartBunch< PLayout, T, Dim >::phi_m

Definition at line 172 of file #PartBunch.hpp#.

◆ pmsg_m

template<class PLayout, typename T, unsigned Dim = 3>
std::unique_ptr<Inform> PartBunch< PLayout, T, Dim >::pmsg_m

Definition at line 919 of file #PartBunch.hpp#.

Referenced by PartBunch(), and setup().

◆ Q

template<class PLayout, typename T, unsigned Dim = 3>
ParticleAttrib<double> PartBunch< PLayout, T, Dim >::Q

◆ Q_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::Q_m

Definition at line 197 of file #PartBunch.hpp#.

◆ qi_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::qi_m

Definition at line 146 of file #PartBunch.hpp#.

Referenced by PartBunch(), PartBunch(), and scatterCICPerBin().

◆ reference

template<class PLayout, typename T, unsigned Dim = 3>
const PartData* PartBunch< PLayout, T, Dim >::reference

relative enlargement of the mesh

Definition at line 143 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ reference_m

template<class PLayout, typename T, unsigned Dim = 3>
PartData* PartBunch< PLayout, T, Dim >::reference_m
private

Definition at line 201 of file PartBunch.h.

◆ RefPartP_m [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::RefPartP_m

◆ RefPartP_m [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::RefPartP_m

Definition at line 147 of file PartBunch.h.

◆ RefPartR_m [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<T, Dim> PartBunch< PLayout, T, Dim >::RefPartR_m

Reference particle structures

Definition at line 85 of file #PartBunch.hpp#.

Referenced by PartBunch(), H5PartWrapperForPT::readStepHeader(), StatWriter::write(), and H5PartWrapperForPT::writeStepHeader().

◆ RefPartR_m [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t<double, Dim> PartBunch< PLayout, T, Dim >::RefPartR_m

Reference particle structures

Definition at line 146 of file PartBunch.h.

◆ rho_m [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
Field_t<Dim> PartBunch< PLayout, T, Dim >::rho_m

Definition at line 170 of file #PartBunch.hpp#.

Referenced by updateFields().

◆ rho_m [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
Field_t PartBunch< PLayout, T, Dim >::rho_m

scalar potential

Definition at line 91 of file .PartBunch.h.

◆ rmax_m

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::rmax_m

Definition at line 191 of file #PartBunch.hpp#.

Referenced by PartBunch(), PartBunch(), and scatterCICPerBin().

◆ rmin_m

template<class PLayout, typename T, unsigned Dim = 3>
Vector_t< double, Dim > PartBunch< PLayout, T, Dim >::rmin_m

Definition at line 190 of file #PartBunch.hpp#.

Referenced by PartBunch(), PartBunch(), and scatterCICPerBin().

◆ rmsDensity_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::rmsDensity_m
private

Definition at line 117 of file PartBunch.h.

Referenced by PartBunch().

◆ solver_m [1/2]

template<class PLayout, typename T, unsigned Dim = 3>
Solver_t<T, Dim> PartBunch< PLayout, T, Dim >::solver_m

Definition at line 66 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ solver_m [2/2]

template<class PLayout, typename T, unsigned Dim = 3>
std::string PartBunch< PLayout, T, Dim >::solver_m

Definition at line 108 of file PartBunch.h.

◆ spos_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::spos_m

the position along design trajectory

Definition at line 164 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ stateOfLastBoundP_m

template<class PLayout, typename T, unsigned Dim = 3>
UnitState_t PartBunch< PLayout, T, Dim >::stateOfLastBoundP_m

Definition at line 151 of file #PartBunch.hpp#.

◆ stepsPerTurn_m

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::stepsPerTurn_m

steps per turn for OPAL-cycl

Definition at line 119 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ SteptoLastInj_m

template<class PLayout, typename T, unsigned Dim = 3>
int PartBunch< PLayout, T, Dim >::SteptoLastInj_m

this parameter records the current steps since last bunch injection it helps to inject new bunches correctly in the restart run of OPAL-cycl it is stored during phase space dump.

Definition at line 137 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ t_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::t_m

holds the actual time of the integration

Definition at line 162 of file #PartBunch.hpp#.

Referenced by PartBunch().

◆ tEmission_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::tEmission_m

if larger than 0, emitt particles for tEmission_m [s]

The structure for particle binning

Definition at line 108 of file #PartBunch.hpp#.

◆ time_m

template<class PLayout, typename T, unsigned Dim = 3>
double PartBunch< PLayout, T, Dim >::time_m

Definition at line 94 of file PartBunch.h.

Referenced by PartBunch().

◆ toLabTrafo_m

template<class PLayout, typename T, unsigned Dim = 3>
CoordinateSystemTrafo PartBunch< PLayout, T, Dim >::toLabTrafo_m

Definition at line 88 of file #PartBunch.hpp#.

◆ totalP_m

template<class PLayout, typename T, unsigned Dim = 3>
size_type PartBunch< PLayout, T, Dim >::totalP_m

Definition at line 96 of file PartBunch.h.

Referenced by PartBunch(), and scatterCICPerBin().

◆ unit_state_m

template<class PLayout, typename T, unsigned Dim = 3>
UnitState_t PartBunch< PLayout, T, Dim >::unit_state_m

Definition at line 150 of file #PartBunch.hpp#.

◆ vbc_m

template<class PLayout, typename T, unsigned Dim = 3>
BConds<Vector_t<double, 3>, 3, Mesh_t, Center_t> PartBunch< PLayout, T, Dim >::vbc_m
private

Definition at line 108 of file .PartBunch.h.

Referenced by updateFields().


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