OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
PartBunchBase< T, Dim > Class Template Referenceabstract

#include <PartBunchBase.h>

Inheritance diagram for PartBunchBase< T, Dim >:
Collaboration diagram for PartBunchBase< T, Dim >:

Classes

class  ConstIterator

Public Types

enum  UnitState_t { units = 0 , unitless = 1 }
typedef AbstractParticle< T, Dim >::ParticlePos_t ParticlePos_t
typedef AbstractParticle< T, Dim >::ParticleIndex_t ParticleIndex_t
typedef AbstractParticle< T, Dim >::UpdateFlags UpdateFlags_t
typedef AbstractParticle< T, Dim >::Position_t Position_t
typedef std::pair< Vector_t, Vector_tVectorPair_t

Public Member Functions

virtual ~PartBunchBase ()
 PartBunchBase (AbstractParticle< T, Dim > *pb, const PartData *ref)
 PartBunchBase (const PartBunchBase &rhs)=delete
virtual void initialize (FieldLayout_t *fLayout)=0
bool getIfBeamEmitting ()
int getLastEmittedEnergyBin ()
size_t getNumberOfEmissionSteps ()
int getNumberOfEnergyBins ()
void Rebin ()
void setEnergyBins (int numberOfEnergyBins)
bool weHaveEnergyBins ()
void switchToUnitlessPositions (bool use_dt_per_particle=false)
void switchOffUnitlessPositions (bool use_dt_per_particle=false)
void setDistribution (Distribution *d, std::vector< Distribution * > addedDistributions, size_t &np)
void setDistribution (Distribution *d, size_t numberOfParticles, double current, const Beamline &bl)
bool isGridFixed () const
bool hasBinning () const
void setTEmission (double t)
double getTEmission ()
bool doEmission ()
bool weHaveBins () const
void setPBins (PartBins *pbin)
void setPBins (PartBinsCyc *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.
void calcGammas_cycl ()
void calcDebyeLength ()
 Compute the (global) Debye length for the beam.
double getBinGamma (int bin)
 Get gamma of one bin.
virtual void setBinCharge (int bin, double q)
 Set the charge of one bin to the value of q and all other to zero.
virtual void setBinCharge (int bin)
 Set the charge of all other the ones in bin to zero.
size_t calcNumPartsOutside (Vector_t 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)
virtual void boundp ()
void boundp_destroyCycl ()
size_t boundp_destroyT ()
size_t destroyT ()
virtual double getPx (int i)
virtual double getPy (int i)
virtual double getPz (int i)
virtual double getPx0 (int i)
virtual double getPy0 (int i)
virtual double getX (int i)
virtual double getY (int i)
virtual double getZ (int i)
virtual double getX0 (int i)
virtual double getY0 (int i)
virtual void setZ (int i, double zcoo)
void get_bounds (Vector_t &rmin, Vector_t &rmax) const
void getLocalBounds (Vector_t &rmin, Vector_t &rmax) const
std::pair< Vector_t, double > getBoundingSphere ()
std::pair< Vector_t, double > getLocalBoundingSphere ()
void push_back (OpalParticle const &p)
void setParticle (FVector< double, 6 > z, int ii)
void setParticle (OpalParticle const &p, int ii)
OpalParticle getParticle (int ii)
ConstIterator begin () const
ConstIterator end () const
void maximumAmplitudes (const FMatrix< double, 6, 6 > &D, double &axmax, double &aymax)
 Return maximum amplitudes.
void setdT (double dt)
double getdT () const
void setT (double t)
void incrementT ()
double getT () const
double get_sPos () const
void set_sPos (double s)
double get_gamma () const
double get_meanKineticEnergy () const
double get_temperature () const
double get_debyeLength () const
double get_plasmaParameter () const
double get_rmsDensity () const
Vector_t get_origin () const
Vector_t get_maxExtent () const
Vector_t get_centroid () const
Vector_t get_rrms () const
Vector_t get_rprms () const
Vector_t get_rmean () const
Vector_t get_prms () const
Vector_t get_pmean () const
Vector_t get_pmean_Distribution () const
Vector_t get_emit () const
Vector_t get_norm_emit () const
Vector_t get_halo () const
Vector_t get_68Percentile () const
Vector_t get_95Percentile () const
Vector_t get_99Percentile () const
Vector_t get_99_99Percentile () const
Vector_t get_normalizedEps_68Percentile () const
Vector_t get_normalizedEps_95Percentile () const
Vector_t get_normalizedEps_99Percentile () const
Vector_t get_normalizedEps_99_99Percentile () const
virtual Vector_t get_hr () const
double get_Dx () const
double get_Dy () const
double get_DDx () const
double get_DDy () const
virtual void set_meshEnlargement (double dh)
void gatherLoadBalanceStatistics ()
size_t getLoadBalance (int p) const
void get_PBounds (Vector_t &min, Vector_t &max) const
void calcBeamParameters ()
void calcBeamParametersInitial ()
double getCouplingConstant () const
void setCouplingConstant (double c)
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
virtual void setSolver (FieldSolver *fs)
bool hasFieldSolver ()
FieldSolverType getFieldSolverType () const
 Return the fieldsolver type if we have a fieldsolver.
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 setTotalNumPerBunch (size_t numpart, short n)
size_t getTotalNumPerBunch (short n) const
void setLocalNumPerBunch (size_t numpart, short n)
size_t getLocalNumPerBunch (short n) const
void countTotalNumPerBunch ()
void setGlobalMeanR (Vector_t globalMeanR)
Vector_t getGlobalMeanR ()
void setGlobalToLocalQuaternion (Quaternion_t globalToLocalQuaternion)
Quaternion_t getGlobalToLocalQuaternion ()
void setSteptoLastInj (int n)
int getSteptoLastInj () const
double calcMeanPhi ()
 calculate average angle of longitudinal direction of bins
bool resetPartBinID2 (const double eta)
 reset Bin[] for each particle according to the method given in paper PAST-AB(064402) by G. Fubiani et al.
bool resetPartBinBunch ()
double getdE () const
virtual double getGamma (int i)
virtual double getBeta (int i)
virtual void actT ()
const PartDatagetReference () const
double getEmissionDeltaT ()
DistributionType getDistType () const
double getMomentumTolerance () const
Quaternion_t getQKs3D ()
void setQKs3D (Quaternion_t q)
Vector_t getKs3DRefr ()
void setKs3DRefr (Vector_t r)
Vector_t getKs3DRefp ()
void setKs3DRefp (Vector_t p)
void iterateEmittedBin (int binNumber)
void calcEMean ()
Informprint (Inform &os)
virtual void runTests ()
virtual void do_binaryRepart ()
virtual void resetInterpolationCache (bool clearCache=false)
virtual VectorPair_t getEExtrema ()=0
virtual double getRho (int x, int y, int z)=0
virtual void computeSelfFields ()=0
virtual void computeSelfFields (int bin)=0
virtual void computeSelfFields_cycl (double gamma)=0
virtual void computeSelfFields_cycl (int bin)=0
virtual void swap (unsigned int i, unsigned int j)
virtual void setBCAllPeriodic ()
virtual void setBCAllOpen ()
virtual void setBCForDCBeam ()
virtual FieldLayout_tgetFieldLayout ()=0
virtual void resizeMesh ()
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
ParticleLayout< T, Dim > & getLayout ()
const ParticleLayout< T, Dim > & getLayout () 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)
bool singleInitNode () const
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)
FMatrix< double, 2 *Dim, 2 *DimgetSigmaMatrix () const
double getQ () const
 Access to reference data.
double getM () const
double getP () const
double getE () const
ParticleOrigin getPOrigin () const
ParticleType getPType () const
double getInitialBeta () const
double getInitialGamma () const
void resetQ (double q)
 Set reference data.
void resetM (double m)
void setPOrigin (ParticleOrigin)
void setPType (const std::string &type)

Public Attributes

ParticlePos_tR
ParticleIndex_tID
ParticleAttrib< Vector_tP
ParticleAttrib< double > Q
ParticleAttrib< double > M
ParticleAttrib< double > Phi
ParticleAttrib< Vector_tEf
ParticleAttrib< Vector_tEftmp
ParticleAttrib< Vector_tBf
ParticleAttrib< int > Bin
ParticleAttrib< double > dt
ParticleAttrib< ParticleTypePType
ParticleAttrib< ParticleOriginPOrigin
ParticleAttrib< int > TriID
ParticleAttrib< short > cavityGapCrossed
ParticleAttrib< short > bunchNum
Vector_t RefPartR_m
Vector_t RefPartP_m
CoordinateSystemTrafo toLabTrafo_m
ParticleOrigin refPOrigin_m
ParticleType refPType_m
PartBinspbin_m
IpplTimings::TimerRef distrReload_m
 timer for IC, can not be in Distribution.h
IpplTimings::TimerRef distrCreate_m
double dtScInit_m
double deltaTau_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

Protected Attributes

IpplTimings::TimerRef boundpTimer_m
IpplTimings::TimerRef boundpBoundsTimer_m
IpplTimings::TimerRef boundpUpdateTimer_m
IpplTimings::TimerRef statParamTimer_m
IpplTimings::TimerRef histoTimer_m
IpplTimings::TimerRef selfFieldTimer_m
 timer for selfField calculation
const PartDatareference
UnitState_t unit_state_
UnitState_t stateOfLastBoundP_
double centroid_m [2 *Dim]
 holds the centroid of the beam
double dt_m
 holds the timestep in seconds
double t_m
 holds the actual time of the integration
double spos_m
 the position along design trajectory
Vector_t globalMeanR_m
Quaternion_t globalToLocalQuaternion_m
Vector_t rmax_m
 maximal extend of particles
Vector_t rmin_m
 minimal extend of particles
double rmsDensity_m
Vector_t hr_m
 meshspacing of cartesian mesh
Vektor< int, 3 > nr_m
 meshsize of cartesian mesh
FieldSolverfs_m
 stores the used field solver
double couplingConstant_m
double qi_m
double massPerParticle_m
int distDump_m
 counter to store the distribution dump
double dh_m
 Mesh enlargement.
double tEmission_m
 relative enlargement of the mesh
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
std::unique_ptr< size_t[]> globalPartPerNode_m
Distributiondist_m
DistributionMoments momentsComputer_m
bool dcBeam_m
double periodLength_m
std::shared_ptr< AbstractParticle< T, Dim > > pbase_m

Private Member Functions

virtual void updateDomainLength (Vektor< int, 3 > &grid)=0
virtual void updateFields (const Vector_t &hr, const Vector_t &origin)
void setup (AbstractParticle< T, Dim > *pb)

Private Attributes

std::unique_ptr< Informpmsg_m
std::unique_ptr< std::ofstream > f_stream
bool fixed_grid
 if the grid does not have to adapt

Detailed Description

template<class T, unsigned Dim>
class PartBunchBase< T, Dim >

H5PartWrapper: a class that manages calls to H5Part

Definition at line 49 of file PartBunchBase.h.

Member Typedef Documentation

◆ ParticleIndex_t

template<class T, unsigned Dim>
typedef AbstractParticle<T,Dim>::ParticleIndex_t PartBunchBase< T, Dim >::ParticleIndex_t

Definition at line 53 of file PartBunchBase.h.

◆ ParticlePos_t

template<class T, unsigned Dim>
typedef AbstractParticle<T,Dim>::ParticlePos_t PartBunchBase< T, Dim >::ParticlePos_t

Definition at line 52 of file PartBunchBase.h.

◆ Position_t

template<class T, unsigned Dim>
typedef AbstractParticle<T,Dim>::Position_t PartBunchBase< T, Dim >::Position_t

Definition at line 55 of file PartBunchBase.h.

◆ UpdateFlags_t

template<class T, unsigned Dim>
typedef AbstractParticle<T,Dim>::UpdateFlags PartBunchBase< T, Dim >::UpdateFlags_t

Definition at line 54 of file PartBunchBase.h.

◆ VectorPair_t

template<class T, unsigned Dim>
typedef std::pair<Vector_t, Vector_t> PartBunchBase< T, Dim >::VectorPair_t

Definition at line 57 of file PartBunchBase.h.

Member Enumeration Documentation

◆ UnitState_t

template<class T, unsigned Dim>
enum PartBunchBase::UnitState_t
Enumerator
units 
unitless 

Definition at line 61 of file PartBunchBase.h.

Constructor & Destructor Documentation

◆ ~PartBunchBase()

template<class T, unsigned Dim>
virtual PartBunchBase< T, Dim >::~PartBunchBase ( )
inlinevirtual

Definition at line 64 of file PartBunchBase.h.

◆ PartBunchBase() [1/2]

◆ PartBunchBase() [2/2]

template<class T, unsigned Dim>
PartBunchBase< T, Dim >::PartBunchBase ( const PartBunchBase< T, Dim > & rhs)
delete

References PartBunchBase().

Here is the call graph for this function:

Member Function Documentation

◆ actT()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::actT ( )
virtual

Definition at line 1730 of file PartBunchBase.hpp.

◆ begin()

template<class T, unsigned Dim>
ConstIterator PartBunchBase< T, Dim >::begin ( ) const
inline

Definition at line 279 of file PartBunchBase.h.

Referenced by begin(), and DistributionMoments::compute().

◆ boundp()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::boundp ( )
virtual

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.

Reimplemented in AmrPartBunch.

Definition at line 510 of file PartBunchBase.hpp.

Referenced by boundp_destroyT(), Distribution::doRestartOpalCycl(), Distribution::doRestartOpalT(), Distribution::injectBeam(), and MultiBunchHandler::readBunch().

◆ boundp_destroyCycl()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::boundp_destroyCycl ( )

delete particles which are too far away from the center of beam

Definition at line 611 of file PartBunchBase.hpp.

References Bin, boundpBoundsTimer_m, boundpTimer_m, boundpUpdateTimer_m, calcBeamParameters(), countTotalNumPerBunch(), destroy(), dh_m, get_bounds(), getLocalNum(), hr_m, momentsComputer_m, nr_m, pbin_m, R, Options::remotePartDel, rmax_m, rmin_m, IpplTimings::startTimer(), IpplTimings::stopTimer(), update(), updateDomainLength(), updateFields(), and weHaveBins().

Here is the call graph for this function:

◆ boundp_destroyT()

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

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

Definition at line 719 of file PartBunchBase.hpp.

References Bin, binemitted_m, boundp(), calcBeamParameters(), destroy(), dist_m, gatherLoadBalanceStatistics(), getLocalNum(), getNumberOfEnergyBins(), momentsComputer_m, ne(), nr_m, R, reduce(), Options::remotePartDel, updateDomainLength(), and weHaveEnergyBins().

Here is the call graph for this function:

◆ calcBeamParameters()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::calcBeamParameters ( )

Definition at line 1267 of file PartBunchBase.hpp.

References get_bounds(), momentsComputer_m, rmax_m, rmin_m, IpplTimings::startTimer(), statParamTimer_m, and IpplTimings::stopTimer().

Referenced by GreenWakeFunction::apply(), Undulator::apply(), boundp_destroyCycl(), boundp_destroyT(), destroyT(), DataSink::dumpSDDS(), MultiBunchHandler::injectBunch(), H5PartWrapperForPT::writeStep(), and H5PartWrapperForPC::writeStepHeader().

Here is the call graph for this function:

◆ calcBeamParametersInitial()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::calcBeamParametersInitial ( )

References c.

◆ calcDebyeLength()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::calcDebyeLength ( )

Compute the (global) Debye length for the beam.

Definition at line 413 of file PartBunchBase.hpp.

References momentsComputer_m, and rmsDensity_m.

◆ calcEMean()

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

Definition at line 1754 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by Distribution::injectBeam().

◆ calcGammas()

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

Compute the gammas of all bins.

Definition at line 339 of file PartBunchBase.hpp.

◆ calcGammas_cycl()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::calcGammas_cycl ( )

Definition at line 386 of file PartBunchBase.hpp.

Referenced by resetPartBinBunch(), and resetPartBinID2().

◆ calcLineDensity()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::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.

\method calcLineDensity()

See also
ParallelTTracker
Warning
none yet

DETAILED TODO

Definition at line 471 of file PartBunchBase.hpp.

Referenced by GreenWakeFunction::apply(), CSRIGFWakeFunction::calculateLineDensity(), and CSRWakeFunction::calculateLineDensity().

◆ calcMeanPhi()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::calcMeanPhi ( )

calculate average angle of longitudinal direction of bins

Definition at line 1518 of file PartBunchBase.hpp.

References Bin, calculateAngle(), endl(), getLocalNum(), INFOMSG, P, pbin_m, Units::rad2deg, and reduce().

Here is the call graph for this function:

◆ calcMoments()

template<class T, unsigned Dim>
size_t PartBunchBase< T, Dim >::calcMoments ( )
protected

◆ calcMomentsInitial()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::calcMomentsInitial ( )
protected

◆ calcNumPartsOutside()

template<class T, unsigned Dim>
size_t PartBunchBase< T, Dim >::calcNumPartsOutside ( Vector_t x)

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

Definition at line 438 of file PartBunchBase.hpp.

Referenced by DataSink::dumpSDDS().

◆ calculateAngle()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::calculateAngle ( double x,
double y )
protected

angle range [0~2PI) degree

Definition at line 1797 of file PartBunchBase.hpp.

References atan2(), and Physics::two_pi.

Referenced by calcMeanPhi().

Here is the call graph for this function:

◆ computeSelfFields() [1/2]

template<class T, unsigned Dim>
virtual void PartBunchBase< T, Dim >::computeSelfFields ( )
pure virtual

Implemented in AmrPartBunch, and PartBunch.

◆ computeSelfFields() [2/2]

template<class T, unsigned Dim>
virtual void PartBunchBase< T, Dim >::computeSelfFields ( int bin)
pure virtual

◆ computeSelfFields_cycl() [1/2]

template<class T, unsigned Dim>
virtual void PartBunchBase< T, Dim >::computeSelfFields_cycl ( double gamma)
pure virtual

Implemented in AmrPartBunch, and PartBunch.

◆ computeSelfFields_cycl() [2/2]

template<class T, unsigned Dim>
virtual void PartBunchBase< T, Dim >::computeSelfFields_cycl ( int bin)
pure virtual

◆ countTotalNumPerBunch()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::countTotalNumPerBunch ( )

Definition at line 1455 of file PartBunchBase.hpp.

References allreduce(), bunchLocalNum_m, bunchNum, bunchTotalNum_m, getLocalNum(), getTotalNum(), numBunch_m, and PAssert_LT.

Referenced by boundp_destroyCycl().

Here is the call graph for this function:

◆ create()

◆ createWithID()

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

Definition at line 1985 of file PartBunchBase.hpp.

References pbase_m.

Referenced by ScatteringPhysics::addParticleBackToBunch().

◆ destroy()

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

◆ destroyT()

template<class T, unsigned Dim>
size_t PartBunchBase< T, Dim >::destroyT ( )

Definition at line 762 of file PartBunchBase.hpp.

References Bin, binemitted_m, calcBeamParameters(), destroy(), dist_m, gatherLoadBalanceStatistics(), getLocalNum(), getNumberOfEnergyBins(), getTotalNum(), INFORM_ALL_NODES, ne(), performDestroy(), reduce(), setTotalNum(), and weHaveEnergyBins().

Referenced by BeamStrippingPhysics::apply().

Here is the call graph for this function:

◆ do_binaryRepart()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::do_binaryRepart ( )
virtual

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 212 of file PartBunchBase.hpp.

◆ doEmission()

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::doEmission ( )

Definition at line 266 of file PartBunchBase.hpp.

References dist_m.

◆ emitParticles()

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

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

Definition at line 299 of file PartBunchBase.hpp.

References dist_m.

◆ end()

template<class T, unsigned Dim>
ConstIterator PartBunchBase< T, Dim >::end ( ) const
inline

Definition at line 283 of file PartBunchBase.h.

References getLocalNum().

Referenced by DistributionMoments::compute(), and end().

Here is the call graph for this function:

◆ gatherLoadBalanceStatistics()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::gatherLoadBalanceStatistics ( )

Definition at line 1244 of file PartBunchBase.hpp.

References gather(), getLocalNum(), IpplInfo::getNodes(), and globalPartPerNode_m.

Referenced by boundp_destroyT(), destroyT(), and DataSink::dumpSDDS().

Here is the call graph for this function:

◆ get_68Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_68Percentile ( ) const

Definition at line 1168 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_95Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_95Percentile ( ) const

Definition at line 1173 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_99_99Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_99_99Percentile ( ) const

Definition at line 1183 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_99Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_99Percentile ( ) const

Definition at line 1178 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_bounds()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::get_bounds ( Vector_t & rmin,
Vector_t & rmax ) const

Definition at line 876 of file PartBunchBase.hpp.

References allreduce(), Dim, getLocalBounds(), and min().

Referenced by CSRIGFWakeFunction::apply(), CSRWakeFunction::apply(), GreenWakeFunction::apply(), boundp_destroyCycl(), calcBeamParameters(), Vacuum::checkVacuum(), CCollimator::doFinaliseCheck(), CCollimator::doPreCheck(), Probe::doPreCheck(), Septum::doPreCheck(), Stripper::doPreCheck(), and getBoundingSphere().

Here is the call graph for this function:

◆ get_centroid()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_centroid ( ) const

◆ get_DDx()

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

Definition at line 1220 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_DDy()

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

Definition at line 1226 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_debyeLength()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::get_debyeLength ( ) const

Definition at line 1078 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_Dx()

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

Definition at line 1208 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_Dy()

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

Definition at line 1214 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_emit()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_emit ( ) const

◆ get_gamma()

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

◆ get_halo()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_halo ( ) const

Definition at line 1163 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_hr()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_hr ( ) const
virtual

Reimplemented in AmrPartBunch.

Definition at line 1232 of file PartBunchBase.hpp.

References hr_m.

Referenced by print(), H5PartWrapperForPC::writeStepData(), and H5PartWrapperForPT::writeStepData().

◆ get_maxExtent()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_maxExtent ( ) const

◆ get_meanKineticEnergy()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::get_meanKineticEnergy ( ) const

◆ get_norm_emit()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_norm_emit ( ) const

◆ get_normalizedEps_68Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_normalizedEps_68Percentile ( ) const

Definition at line 1188 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_normalizedEps_95Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_normalizedEps_95Percentile ( ) const

Definition at line 1193 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_normalizedEps_99_99Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_normalizedEps_99_99Percentile ( ) const

Definition at line 1203 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_normalizedEps_99Percentile()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_normalizedEps_99Percentile ( ) const

Definition at line 1198 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_origin()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_origin ( ) const

◆ get_PBounds()

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

Definition at line 1261 of file PartBunchBase.hpp.

References bounds(), max(), min(), and P.

Referenced by H5PartWrapperForPC::writeStepHeader(), and H5PartWrapperForPT::writeStepHeader().

Here is the call graph for this function:

◆ get_plasmaParameter()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::get_plasmaParameter ( ) const

Definition at line 1083 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ get_pmean()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_pmean ( ) const

◆ get_pmean_Distribution()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_pmean_Distribution ( ) const

Definition at line 1141 of file PartBunchBase.hpp.

References dist_m, and getM().

Here is the call graph for this function:

◆ get_prms()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_prms ( ) const

◆ get_rmean()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_rmean ( ) const

◆ get_rmsDensity()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::get_rmsDensity ( ) const

Definition at line 1088 of file PartBunchBase.hpp.

References rmsDensity_m.

Referenced by StatWriter::write().

◆ get_rprms()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_rprms ( ) const

Definition at line 1117 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by print(), and StatWriter::write().

◆ get_rrms()

◆ get_sPos()

◆ get_temperature()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::get_temperature ( ) const

Definition at line 1073 of file PartBunchBase.hpp.

References momentsComputer_m.

Referenced by StatWriter::write().

◆ getBConds()

template<class T, unsigned Dim>
ParticleBConds< Position_t, Dimension > & PartBunchBase< T, Dim >::getBConds ( )
inline

Definition at line 527 of file PartBunchBase.h.

References pbase_m.

◆ getBeta()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getBeta ( int i)
virtual

Definition at line 1724 of file PartBunchBase.hpp.

◆ getBinGamma()

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

Get gamma of one bin.

Definition at line 420 of file PartBunchBase.hpp.

◆ getBoundingSphere()

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

Definition at line 918 of file PartBunchBase.hpp.

References dot(), and get_bounds().

Here is the call graph for this function:

◆ getCharge()

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

get the total charge per simulation particle

Definition at line 1317 of file PartBunchBase.hpp.

References Q, and sum().

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

Here is the call graph for this function:

◆ getChargePerParticle()

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

◆ getCouplingConstant()

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

Definition at line 1276 of file PartBunchBase.hpp.

References couplingConstant_m.

◆ getdE()

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

◆ getDestroyNum()

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

Definition at line 1917 of file PartBunchBase.hpp.

References pbase_m.

◆ getDistType()

template<class T, unsigned Dim>
DistributionType PartBunchBase< T, Dim >::getDistType ( ) const

Definition at line 1676 of file PartBunchBase.hpp.

References dist_m.

◆ getdT()

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

◆ getE()

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

Definition at line 1648 of file PartBunchBase.hpp.

References reference.

◆ getEExtrema()

template<class T, unsigned Dim>
virtual VectorPair_t PartBunchBase< T, Dim >::getEExtrema ( )
pure virtual

Implemented in AmrPartBunch, and PartBunch.

◆ getEmissionDeltaT()

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

Definition at line 1742 of file PartBunchBase.hpp.

References dist_m.

◆ getFieldLayout()

template<class T, unsigned Dim>
virtual FieldLayout_t & PartBunchBase< T, Dim >::getFieldLayout ( )
pure virtual

◆ getFieldSolverType()

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

Return the fieldsolver type if we have a fieldsolver.

Definition at line 1361 of file PartBunchBase.hpp.

References fs_m, and NONE.

◆ getGamma()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getGamma ( int i)
virtual

Definition at line 1718 of file PartBunchBase.hpp.

◆ getGhostNum()

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

Definition at line 1922 of file PartBunchBase.hpp.

References pbase_m.

Referenced by P3MPoissonSolver::calculatePairForces().

◆ getGlobalMeanR()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::getGlobalMeanR ( )

Definition at line 1487 of file PartBunchBase.hpp.

References globalMeanR_m.

◆ getGlobalToLocalQuaternion()

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

Definition at line 1500 of file PartBunchBase.hpp.

References globalToLocalQuaternion_m.

◆ getGlobalTrackStep()

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

◆ getIfBeamEmitting()

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::getIfBeamEmitting ( )

Definition at line 91 of file PartBunchBase.hpp.

◆ getInitialBeta()

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

Definition at line 1706 of file PartBunchBase.hpp.

References reference.

◆ getInitialGamma()

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

Definition at line 1712 of file PartBunchBase.hpp.

References reference.

Referenced by Distribution::createOpalCycl().

◆ getKs3DRefp()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::getKs3DRefp ( )

◆ getKs3DRefr()

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::getKs3DRefr ( )

◆ getLastemittedBin()

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

Definition at line 322 of file PartBunchBase.hpp.

◆ getLastEmittedEnergyBin()

template<class T, unsigned Dim>
int PartBunchBase< T, Dim >::getLastEmittedEnergyBin ( )

Definition at line 105 of file PartBunchBase.hpp.

◆ getLayout() [1/2]

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

◆ getLayout() [2/2]

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

Definition at line 1942 of file PartBunchBase.hpp.

References pbase_m.

◆ getLoadBalance()

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

Definition at line 1255 of file PartBunchBase.hpp.

References globalPartPerNode_m.

Referenced by LBalWriter::write().

◆ getLocalBoundingSphere()

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

Definition at line 931 of file PartBunchBase.hpp.

References dot(), and getLocalBounds().

Here is the call graph for this function:

◆ getLocalBounds()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::getLocalBounds ( Vector_t & rmin,
Vector_t & rmax ) const

Definition at line 897 of file PartBunchBase.hpp.

References getLocalNum(), and R.

Referenced by get_bounds(), and getLocalBoundingSphere().

Here is the call graph for this function:

◆ getLocalNum()

◆ getLocalNumPerBunch()

template<class T, unsigned Dim>
size_t PartBunchBase< T, Dim >::getLocalNumPerBunch ( short n) const

Definition at line 1448 of file PartBunchBase.hpp.

References bunchLocalNum_m, and PAssert_LT.

◆ getLocalTrackStep()

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

◆ getM()

◆ getMassPerParticle()

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

Definition at line 1328 of file PartBunchBase.hpp.

References massPerParticle_m.

Referenced by Distribution::emitParticles(), and Distribution::injectBeam().

◆ getMomentumTolerance()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getMomentumTolerance ( ) const

Definition at line 1682 of file PartBunchBase.hpp.

References reference.

Referenced by Distribution::createOpalT().

◆ getNumberOfEmissionSteps()

template<class T, unsigned Dim>
size_t PartBunchBase< T, Dim >::getNumberOfEmissionSteps ( )

Definition at line 116 of file PartBunchBase.hpp.

◆ getNumberOfEnergyBins()

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

Definition at line 122 of file PartBunchBase.hpp.

References dist_m.

Referenced by boundp_destroyT(), and destroyT().

◆ getNumBunch()

◆ getP()

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

Definition at line 1642 of file PartBunchBase.hpp.

References reference.

Referenced by Distribution::createOpalT(), and Distribution::setupParticleBins().

◆ getParticle()

template<class T, unsigned Dim>
OpalParticle PartBunchBase< T, Dim >::getParticle ( int ii)

Definition at line 977 of file PartBunchBase.hpp.

References ID, M, P, Q, and R.

Referenced by maximumAmplitudes().

◆ getPOrigin()

template<class T, unsigned Dim>
ParticleOrigin PartBunchBase< T, Dim >::getPOrigin ( ) const

Definition at line 1654 of file PartBunchBase.hpp.

References refPOrigin_m.

Referenced by Stripper::doFinaliseCheck().

◆ getPType()

◆ getPx()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getPx ( int i)
virtual

Definition at line 815 of file PartBunchBase.hpp.

◆ getPx0()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getPx0 ( int i)
virtual

Definition at line 830 of file PartBunchBase.hpp.

◆ getPy()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getPy ( int i)
virtual

Definition at line 820 of file PartBunchBase.hpp.

◆ getPy0()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getPy0 ( int i)
virtual

Definition at line 835 of file PartBunchBase.hpp.

◆ getPz()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getPz ( int i)
virtual

Definition at line 825 of file PartBunchBase.hpp.

◆ getQ()

◆ getQKs3D()

template<class T, unsigned Dim>
Quaternion_t PartBunchBase< T, Dim >::getQKs3D ( )

◆ getReference()

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

Definition at line 1736 of file PartBunchBase.hpp.

References reference.

Referenced by Bend2D::setupPusher().

◆ getRho()

template<class T, unsigned Dim>
virtual double PartBunchBase< T, Dim >::getRho ( int x,
int y,
int z )
pure virtual

◆ getSigmaMatrix()

template<class T, unsigned Dim>
FMatrix< double, 2 *Dim, 2 *Dim > PartBunchBase< T, Dim >::getSigmaMatrix ( ) const

Definition at line 2020 of file PartBunchBase.hpp.

References Dim, get_pmean(), get_rmean(), and momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

◆ getStepsPerTurn()

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

Definition at line 1377 of file PartBunchBase.hpp.

References stepsPerTurn_m.

◆ getSteptoLastInj()

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

◆ getT()

◆ getTEmission()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getTEmission ( )

Definition at line 260 of file PartBunchBase.hpp.

References tEmission_m.

◆ getTotalNum()

◆ getTotalNumPerBunch()

template<class T, unsigned Dim>
size_t PartBunchBase< T, Dim >::getTotalNumPerBunch ( short n) const

Definition at line 1434 of file PartBunchBase.hpp.

References bunchTotalNum_m, and PAssert_LT.

◆ getUpdateFlag()

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

Definition at line 1947 of file PartBunchBase.hpp.

References pbase_m.

◆ getX()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getX ( int i)
virtual

Definition at line 841 of file PartBunchBase.hpp.

References R.

◆ getX0()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getX0 ( int i)
virtual

Definition at line 859 of file PartBunchBase.hpp.

◆ getY()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getY ( int i)
virtual

Definition at line 847 of file PartBunchBase.hpp.

References R.

◆ getY0()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getY0 ( int i)
virtual

Definition at line 865 of file PartBunchBase.hpp.

◆ getZ()

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::getZ ( int i)
virtual

Definition at line 853 of file PartBunchBase.hpp.

References R.

◆ ghostDestroy()

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

Definition at line 2010 of file PartBunchBase.hpp.

References M, and pbase_m.

◆ globalCreate()

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

Definition at line 1995 of file PartBunchBase.hpp.

References pbase_m.

◆ hasBinning()

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

Definition at line 248 of file PartBunchBase.hpp.

References pbin_m.

Referenced by H5PartWrapperForPC::writeStepData().

◆ hasFieldSolver()

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

Definition at line 1351 of file PartBunchBase.hpp.

References fs_m.

◆ incrementT()

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

Definition at line 1037 of file PartBunchBase.hpp.

References dt_m, and t_m.

◆ incTrackSteps()

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

Definition at line 1401 of file PartBunchBase.hpp.

References globalTrackStep_m, and localTrackStep_m.

◆ initialize()

template<class T, unsigned Dim>
virtual void PartBunchBase< T, Dim >::initialize ( FieldLayout_t * fLayout)
pure virtual

Implemented in AmrPartBunch, and PartBunch.

Referenced by setSolver().

◆ isGridFixed()

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

Definition at line 242 of file PartBunchBase.hpp.

References fixed_grid.

◆ iterateEmittedBin()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::iterateEmittedBin ( int binNumber)

Definition at line 1748 of file PartBunchBase.hpp.

References binemitted_m.

Referenced by Distribution::emitParticles(), and Distribution::injectBeam().

◆ maximumAmplitudes()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::maximumAmplitudes ( const FMatrix< double, 6, 6 > & D,
double & axmax,
double & aymax )

Return maximum amplitudes.

Definition at line 986 of file PartBunchBase.hpp.

References getLocalNum(), getParticle(), OpalParticle::getPx(), OpalParticle::getPy(), OpalParticle::getPz(), OpalParticle::getX(), OpalParticle::getY(), and OpalParticle::getZ().

Here is the call graph for this function:

◆ performDestroy()

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

Definition at line 2005 of file PartBunchBase.hpp.

References pbase_m.

Referenced by ScatteringPhysics::copyFromBunch(), and destroyT().

◆ print()

template<class T, unsigned Dim>
Inform & PartBunchBase< T, Dim >::print ( Inform & os)

Definition at line 1759 of file PartBunchBase.hpp.

References dh_m, endl(), Inform::flags(), get_emit(), get_hr(), get_meanKineticEnergy(), get_pmean(), get_prms(), get_rmean(), get_rprms(), get_rrms(), get_sPos(), Util::getChargeString(), getdE(), getdT(), Util::getEnergyString(), Util::getLengthString(), getT(), Util::getTimeString(), getTotalNum(), level1(), Q, qi_m, rmax_m, rmin_m, and sum().

Referenced by Undulator::apply(), operator<<(), and PartBunch::print().

Here is the call graph for this function:

◆ push_back()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::push_back ( OpalParticle const & p)

Definition at line 944 of file PartBunchBase.hpp.

References create(), endl(), getLocalNum(), OpalParticle::getP(), OpalParticle::getR(), P, R, and update().

Here is the call graph for this function:

◆ Rebin()

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

Definition at line 128 of file PartBunchBase.hpp.

◆ rebin()

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

Definition at line 313 of file PartBunchBase.hpp.

◆ resetID()

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

Definition at line 1962 of file PartBunchBase.hpp.

References pbase_m.

◆ resetInterpolationCache()

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

Reimplemented in PartBunch.

Definition at line 1821 of file PartBunchBase.hpp.

◆ resetM()

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

Definition at line 1694 of file PartBunchBase.hpp.

References reference.

Referenced by Stripper::doFinaliseCheck().

◆ resetPartBinBunch()

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::resetPartBinBunch ( )

Definition at line 1608 of file PartBunchBase.hpp.

References Bin, calcGammas_cycl(), getLocalNum(), numBunch_m, and pbin_m.

Referenced by MultiBunchHandler::updateParticleBins().

Here is the call graph for this function:

◆ resetPartBinID2()

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::resetPartBinID2 ( const double eta)

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

Definition at line 1557 of file PartBunchBase.hpp.

References Bin, calcGammas_cycl(), endl(), ERRORMSG, getLocalNum(), INFOMSG, P, pbin_m, and reduce().

Referenced by MultiBunchHandler::updateParticleBins().

Here is the call graph for this function:

◆ resetQ()

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

Set reference data.

Definition at line 1688 of file PartBunchBase.hpp.

References reference.

Referenced by Stripper::doFinaliseCheck().

◆ resizeMesh()

template<class T, unsigned Dim>
virtual void PartBunchBase< T, Dim >::resizeMesh ( )
inlinevirtual

Reimplemented in PartBunch.

Definition at line 506 of file PartBunchBase.h.

◆ runTests()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::runTests ( )
virtual

Definition at line 1815 of file PartBunchBase.hpp.

◆ set_meshEnlargement()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::set_meshEnlargement ( double dh)
virtual

Reimplemented in AmrPartBunch.

Definition at line 1238 of file PartBunchBase.hpp.

References dh_m.

Referenced by AmrPartBunch::set_meshEnlargement().

◆ set_sPos()

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

Definition at line 1055 of file PartBunchBase.hpp.

References spos_m.

Referenced by H5PartWrapperForPC::readStepHeader(), and H5PartWrapperForPT::readStepHeader().

◆ setBCAllOpen()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setBCAllOpen ( )
virtual

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 1854 of file PartBunchBase.hpp.

◆ setBCAllPeriodic()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setBCAllPeriodic ( )
virtual

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 1848 of file PartBunchBase.hpp.

◆ setBCForDCBeam()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setBCForDCBeam ( )
virtual

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 1860 of file PartBunchBase.hpp.

◆ setBConds()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setBConds ( const ParticleBConds< Position_t, Dimension > & bc)
inline

Definition at line 531 of file PartBunchBase.h.

References pbase_m.

◆ setBeamFrequency()

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

Definition at line 2015 of file PartBunchBase.hpp.

References Physics::c, and periodLength_m.

◆ setBinCharge() [1/2]

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setBinCharge ( int bin)
virtual

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

Definition at line 432 of file PartBunchBase.hpp.

References Bin, eq(), Q, qi_m, and where().

Here is the call graph for this function:

◆ setBinCharge() [2/2]

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

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

Reimplemented in AmrPartBunch.

Definition at line 426 of file PartBunchBase.hpp.

◆ setCharge()

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

Definition at line 1288 of file PartBunchBase.hpp.

References endl(), getTotalNum(), Q, qi_m, and WARNMSG.

Here is the call graph for this function:

◆ setChargeZeroPart()

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

Definition at line 1298 of file PartBunchBase.hpp.

References qi_m.

◆ setCouplingConstant()

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

Definition at line 1282 of file PartBunchBase.hpp.

References c, and couplingConstant_m.

◆ setDistribution() [1/2]

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setDistribution ( Distribution * d,
size_t numberOfParticles,
double current,
const Beamline & bl )

Definition at line 232 of file PartBunchBase.hpp.

References dist_m.

◆ setDistribution() [2/2]

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setDistribution ( Distribution * d,
std::vector< Distribution * > addedDistributions,
size_t & np )

Definition at line 218 of file PartBunchBase.hpp.

References dist_m.

◆ setdT()

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

Definition at line 1019 of file PartBunchBase.hpp.

References dt, and dt_m.

◆ setEnergyBins()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setEnergyBins ( int numberOfEnergyBins)

Definition at line 145 of file PartBunchBase.hpp.

Referenced by Distribution::initializeBeam(), and setPBins().

◆ setGlobalMeanR()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setGlobalMeanR ( Vector_t globalMeanR)

Definition at line 1481 of file PartBunchBase.hpp.

References globalMeanR_m.

◆ setGlobalToLocalQuaternion()

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

Definition at line 1493 of file PartBunchBase.hpp.

References globalToLocalQuaternion_m.

◆ setGlobalTrackStep()

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

step in multiple TRACK commands

Definition at line 1383 of file PartBunchBase.hpp.

References globalTrackStep_m.

Referenced by H5PartWrapperForPC::readStepHeader(), and H5PartWrapperForPT::readStepHeader().

◆ setKs3DRefp()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setKs3DRefp ( Vector_t p)

◆ setKs3DRefr()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setKs3DRefr ( Vector_t r)

◆ setLocalBinCount()

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

Definition at line 331 of file PartBunchBase.hpp.

◆ setLocalNum()

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

Definition at line 1932 of file PartBunchBase.hpp.

References pbase_m.

◆ setLocalNumPerBunch()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setLocalNumPerBunch ( size_t numpart,
short n )

◆ setLocalTrackStep()

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

step in a TRACK command

Definition at line 1395 of file PartBunchBase.hpp.

References localTrackStep_m.

Referenced by H5PartWrapperForPC::readStepHeader(), and H5PartWrapperForPT::readStepHeader().

◆ setMass()

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

Definition at line 1304 of file PartBunchBase.hpp.

References getTotalNum(), M, and massPerParticle_m.

Here is the call graph for this function:

◆ setMassZeroPart()

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

Definition at line 1311 of file PartBunchBase.hpp.

References massPerParticle_m.

◆ setNumBunch()

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

◆ setParticle() [1/2]

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setParticle ( FVector< double, 6 > z,
int ii )

Definition at line 959 of file PartBunchBase.hpp.

References P, and R.

◆ setParticle() [2/2]

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setParticle ( OpalParticle const & p,
int ii )

Definition at line 970 of file PartBunchBase.hpp.

References OpalParticle::getP(), OpalParticle::getR(), P, and R.

Here is the call graph for this function:

◆ setPBins() [1/2]

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setPBins ( PartBins * pbin)

Definition at line 284 of file PartBunchBase.hpp.

References endl(), gmsg, pbin_m, and setEnergyBins().

Referenced by Distribution::createOpalCycl(), Distribution::doRestartOpalCycl(), and MultiBunchHandler::MultiBunchHandler().

Here is the call graph for this function:

◆ setPBins() [2/2]

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setPBins ( PartBinsCyc * pbin)

Definition at line 292 of file PartBunchBase.hpp.

References pbin_m.

◆ setPOrigin()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setPOrigin ( ParticleOrigin origin)

Definition at line 1659 of file PartBunchBase.hpp.

References refPOrigin_m.

Referenced by Stripper::doCheck().

◆ setPType()

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

Definition at line 1670 of file PartBunchBase.hpp.

References ParticleProperties::getParticleType(), and refPType_m.

Here is the call graph for this function:

◆ setQKs3D()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setQKs3D ( Quaternion_t q)

◆ setSolver()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setSolver ( FieldSolver * fs)
virtual

CAN not re-inizialize ParticleLayout this is an IPPL issue

Reimplemented in AmrPartBunch.

Definition at line 1333 of file PartBunchBase.hpp.

References fs_m, OpalData::getInstance(), and initialize().

Referenced by AmrPartBunch::setSolver().

Here is the call graph for this function:

◆ setStepsPerTurn()

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

Definition at line 1371 of file PartBunchBase.hpp.

References stepsPerTurn_m.

◆ setSteptoLastInj()

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

Definition at line 1506 of file PartBunchBase.hpp.

References SteptoLastInj_m.

Referenced by H5PartWrapperForPC::readStepHeader().

◆ setT()

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

◆ setTEmission()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setTEmission ( double t)

Definition at line 254 of file PartBunchBase.hpp.

References tEmission_m.

Referenced by Distribution::initializeBeam().

◆ setTotalNum()

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

Definition at line 1927 of file PartBunchBase.hpp.

References pbase_m.

Referenced by destroyT().

◆ setTotalNumPerBunch()

template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setTotalNumPerBunch ( size_t numpart,
short n )

◆ setup()

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

Definition at line 1871 of file PartBunchBase.hpp.

References AbstractParticle< T, Dim >::addAttribute(), Bf, Bin, boundpBoundsTimer_m, boundpTimer_m, boundpUpdateTimer_m, bunchNum, cavityGapCrossed, distrCreate_m, distrReload_m, dt, Ef, Eftmp, IpplInfo::getNodes(), IpplTimings::getTimer(), globalPartPerNode_m, histoTimer_m, M, P, Phi, pmsg_m, POrigin, PType, Q, selfFieldTimer_m, statParamTimer_m, and TriID.

Here is the call graph for this function:

◆ setUpdateFlag()

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

Definition at line 1952 of file PartBunchBase.hpp.

References pbase_m.

◆ setZ()

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

Definition at line 871 of file PartBunchBase.hpp.

◆ singleInitNode()

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::singleInitNode ( ) const

Definition at line 1957 of file PartBunchBase.hpp.

References pbase_m.

◆ swap()

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

Reimplemented in PartBunch.

Definition at line 1826 of file PartBunchBase.hpp.

References Bf, Bin, bunchNum, cavityGapCrossed, dt, Ef, Eftmp, getLocalNum(), M, P, Phi, POrigin, PType, Q, R, and TriID.

Referenced by PartBunch::swap().

Here is the call graph for this function:

◆ switchOffUnitlessPositions()

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

Definition at line 188 of file PartBunchBase.hpp.

◆ switchToUnitlessPositions()

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

Definition at line 164 of file PartBunchBase.hpp.

References unit_state_, and unitless.

◆ update() [1/2]

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

Definition at line 1967 of file PartBunchBase.hpp.

References pbase_m, IpplException::what(), and IpplException::where().

Referenced by boundp_destroyCycl(), and push_back().

Here is the call graph for this function:

◆ update() [2/2]

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

Definition at line 1976 of file PartBunchBase.hpp.

References pbase_m, IpplException::what(), and IpplException::where().

Here is the call graph for this function:

◆ updateDomainLength()

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

Implemented in AmrPartBunch, and PartBunch.

Referenced by boundp_destroyCycl(), and boundp_destroyT().

◆ updateFields()

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

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 1866 of file PartBunchBase.hpp.

Referenced by boundp_destroyCycl().

◆ updateNumTotal()

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

Definition at line 305 of file PartBunchBase.hpp.

References getLocalNum().

Here is the call graph for this function:

◆ weHaveBins()

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::weHaveBins ( ) const

Definition at line 275 of file PartBunchBase.hpp.

References pbin_m.

Referenced by boundp_destroyCycl(), and Stripper::doCheck().

◆ weHaveEnergyBins()

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

Definition at line 154 of file PartBunchBase.hpp.

References dist_m.

Referenced by boundp_destroyT(), and destroyT().

Member Data Documentation

◆ Bf

◆ Bin

◆ binemitted_m

template<class T, unsigned Dim>
std::unique_ptr<size_t[]> PartBunchBase< T, Dim >::binemitted_m
protected

Definition at line 694 of file PartBunchBase.h.

Referenced by boundp_destroyT(), destroyT(), and iterateEmittedBin().

◆ bingamma_m

template<class T, unsigned Dim>
std::unique_ptr<double[]> PartBunchBase< T, Dim >::bingamma_m
protected

holds the gamma of the bin

Definition at line 689 of file PartBunchBase.h.

◆ boundpBoundsTimer_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::boundpBoundsTimer_m
protected

Definition at line 622 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), and setup().

◆ boundpTimer_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::boundpTimer_m
protected

Definition at line 621 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), and setup().

◆ boundpUpdateTimer_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::boundpUpdateTimer_m
protected

Definition at line 623 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), and setup().

◆ bunchLocalNum_m

template<class T, unsigned Dim>
std::vector<size_t> PartBunchBase< T, Dim >::bunchLocalNum_m
protected

◆ bunchNum

◆ bunchTotalNum_m

template<class T, unsigned Dim>
std::vector<size_t> PartBunchBase< T, Dim >::bunchTotalNum_m
protected

number of particles per bunch

Definition at line 709 of file PartBunchBase.h.

Referenced by countTotalNumPerBunch(), getTotalNumPerBunch(), setNumBunch(), and setTotalNumPerBunch().

◆ cavityGapCrossed

template<class T, unsigned Dim>
ParticleAttrib< short > PartBunchBase< T, Dim >::cavityGapCrossed

Definition at line 589 of file PartBunchBase.h.

Referenced by setup(), and swap().

◆ centroid_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::centroid_m[2 *Dim]
protected

holds the centroid of the beam

Definition at line 641 of file PartBunchBase.h.

◆ couplingConstant_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::couplingConstant_m
protected

Definition at line 674 of file PartBunchBase.h.

Referenced by getCouplingConstant(), PartBunchBase(), and setCouplingConstant().

◆ dcBeam_m

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::dcBeam_m
protected

Definition at line 727 of file PartBunchBase.h.

◆ deltaTau_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::deltaTau_m

Definition at line 608 of file PartBunchBase.h.

◆ dh_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::dh_m
protected

Mesh enlargement.

Definition at line 683 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), print(), and set_meshEnlargement().

◆ Dimension

template<class T, unsigned Dim>
const unsigned PartBunchBase< T, Dim >::Dimension = Dim
static

Definition at line 59 of file PartBunchBase.h.

Referenced by MultiBunchHandler::calcBunchBeamParameters().

◆ dist_m

◆ distDump_m

template<class T, unsigned Dim>
int PartBunchBase< T, Dim >::distDump_m
protected

counter to store the distribution dump

Definition at line 680 of file PartBunchBase.h.

Referenced by PartBunchBase().

◆ distrCreate_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::distrCreate_m

Definition at line 605 of file PartBunchBase.h.

Referenced by Distribution::createOpalT(), and setup().

◆ distrReload_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::distrReload_m

timer for IC, can not be in Distribution.h

Definition at line 604 of file PartBunchBase.h.

Referenced by Distribution::doRestartOpalCycl(), Distribution::doRestartOpalT(), and setup().

◆ dt

◆ dt_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::dt_m
protected

holds the timestep in seconds

Definition at line 644 of file PartBunchBase.h.

Referenced by getdT(), incrementT(), PartBunchBase(), and setdT().

◆ dtScInit_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::dtScInit_m

Definition at line 608 of file PartBunchBase.h.

◆ Ef

◆ Eftmp

template<class T, unsigned Dim>
ParticleAttrib< Vector_t > PartBunchBase< T, Dim >::Eftmp

Definition at line 581 of file PartBunchBase.h.

Referenced by setup(), and swap().

◆ f_stream

template<class T, unsigned Dim>
std::unique_ptr<std::ofstream> PartBunchBase< T, Dim >::f_stream
private

Definition at line 616 of file PartBunchBase.h.

Referenced by PartBunchBase().

◆ fixed_grid

template<class T, unsigned Dim>
bool PartBunchBase< T, Dim >::fixed_grid
private

if the grid does not have to adapt

Definition at line 618 of file PartBunchBase.h.

Referenced by isGridFixed(), and PartBunchBase().

◆ fs_m

template<class T, unsigned Dim>
FieldSolver* PartBunchBase< T, Dim >::fs_m
protected

stores the used field solver

Definition at line 672 of file PartBunchBase.h.

Referenced by getFieldSolverType(), hasFieldSolver(), PartBunchBase(), and setSolver().

◆ globalMeanR_m

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::globalMeanR_m
protected

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 655 of file PartBunchBase.h.

Referenced by getGlobalMeanR(), PartBunchBase(), and setGlobalMeanR().

◆ globalPartPerNode_m

template<class T, unsigned Dim>
std::unique_ptr<size_t[]> PartBunchBase< T, Dim >::globalPartPerNode_m
protected

Definition at line 721 of file PartBunchBase.h.

Referenced by gatherLoadBalanceStatistics(), getLoadBalance(), and setup().

◆ globalToLocalQuaternion_m

template<class T, unsigned Dim>
Quaternion_t PartBunchBase< T, Dim >::globalToLocalQuaternion_m
protected

◆ globalTrackStep_m

template<class T, unsigned Dim>
long long PartBunchBase< T, Dim >::globalTrackStep_m
protected

if multiple TRACK commands

Definition at line 703 of file PartBunchBase.h.

Referenced by getGlobalTrackStep(), incTrackSteps(), and setGlobalTrackStep().

◆ histoTimer_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::histoTimer_m
protected

Definition at line 626 of file PartBunchBase.h.

Referenced by setup().

◆ hr_m

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::hr_m
protected

meshspacing of cartesian mesh

Definition at line 667 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), get_hr(), and PartBunchBase().

◆ ID

◆ localTrackStep_m

template<class T, unsigned Dim>
long long PartBunchBase< T, Dim >::localTrackStep_m
protected

step in a TRACK command

Definition at line 700 of file PartBunchBase.h.

Referenced by getLocalTrackStep(), incTrackSteps(), and setLocalTrackStep().

◆ M

◆ massPerParticle_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::massPerParticle_m
protected

Definition at line 677 of file PartBunchBase.h.

Referenced by getMassPerParticle(), PartBunchBase(), setMass(), and setMassZeroPart().

◆ momentsComputer_m

◆ nr_m

template<class T, unsigned Dim>
Vektor<int, 3> PartBunchBase< T, Dim >::nr_m
protected

meshsize of cartesian mesh

Definition at line 669 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), boundp_destroyT(), and PartBunchBase().

◆ numBunch_m

template<class T, unsigned Dim>
short PartBunchBase< T, Dim >::numBunch_m
protected

current bunch number

Definition at line 706 of file PartBunchBase.h.

Referenced by countTotalNumPerBunch(), getNumBunch(), resetPartBinBunch(), and setNumBunch().

◆ P

◆ pbase_m

◆ pbin_m

◆ periodLength_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::periodLength_m
protected

Definition at line 728 of file PartBunchBase.h.

Referenced by setBeamFrequency().

◆ Phi

template<class T, unsigned Dim>
ParticleAttrib< double > PartBunchBase< T, Dim >::Phi

Definition at line 579 of file PartBunchBase.h.

Referenced by setup(), and swap().

◆ pmsg_m

template<class T, unsigned Dim>
std::unique_ptr<Inform> PartBunchBase< T, Dim >::pmsg_m
private

Definition at line 615 of file PartBunchBase.h.

Referenced by PartBunchBase(), and setup().

◆ POrigin

◆ PType

◆ Q

◆ qi_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::qi_m
protected

◆ R

◆ reference

template<class T, unsigned Dim>
const PartData* PartBunchBase< T, Dim >::reference
protected

◆ RefPartP_m

◆ RefPartR_m

◆ refPOrigin_m

template<class T, unsigned Dim>
ParticleOrigin PartBunchBase< T, Dim >::refPOrigin_m

Definition at line 597 of file PartBunchBase.h.

Referenced by getPOrigin(), and setPOrigin().

◆ refPType_m

template<class T, unsigned Dim>
ParticleType PartBunchBase< T, Dim >::refPType_m

Definition at line 598 of file PartBunchBase.h.

Referenced by getPType(), and setPType().

◆ rmax_m

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::rmax_m
protected

maximal extend of particles

Definition at line 659 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), calcBeamParameters(), get_maxExtent(), PartBunchBase(), and print().

◆ rmin_m

template<class T, unsigned Dim>
Vector_t PartBunchBase< T, Dim >::rmin_m
protected

minimal extend of particles

Definition at line 661 of file PartBunchBase.h.

Referenced by boundp_destroyCycl(), calcBeamParameters(), get_origin(), PartBunchBase(), and print().

◆ rmsDensity_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::rmsDensity_m
protected

Definition at line 664 of file PartBunchBase.h.

Referenced by calcDebyeLength(), get_rmsDensity(), and PartBunchBase().

◆ selfFieldTimer_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::selfFieldTimer_m
protected

timer for selfField calculation

Definition at line 628 of file PartBunchBase.h.

Referenced by setup().

◆ spos_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::spos_m
protected

the position along design trajectory

Definition at line 648 of file PartBunchBase.h.

Referenced by get_sPos(), PartBunchBase(), and set_sPos().

◆ stateOfLastBoundP_

template<class T, unsigned Dim>
UnitState_t PartBunchBase< T, Dim >::stateOfLastBoundP_
protected

Definition at line 638 of file PartBunchBase.h.

Referenced by PartBunchBase().

◆ statParamTimer_m

template<class T, unsigned Dim>
IpplTimings::TimerRef PartBunchBase< T, Dim >::statParamTimer_m
protected

Definition at line 624 of file PartBunchBase.h.

Referenced by calcBeamParameters(), and setup().

◆ stepsPerTurn_m

template<class T, unsigned Dim>
int PartBunchBase< T, Dim >::stepsPerTurn_m
protected

steps per turn for OPAL-cycl

Definition at line 697 of file PartBunchBase.h.

Referenced by getStepsPerTurn(), and setStepsPerTurn().

◆ SteptoLastInj_m

template<class T, unsigned Dim>
int PartBunchBase< T, Dim >::SteptoLastInj_m
protected

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 715 of file PartBunchBase.h.

Referenced by getSteptoLastInj(), and setSteptoLastInj().

◆ t_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::t_m
protected

holds the actual time of the integration

Definition at line 646 of file PartBunchBase.h.

Referenced by getT(), incrementT(), PartBunchBase(), and setT().

◆ tEmission_m

template<class T, unsigned Dim>
double PartBunchBase< T, Dim >::tEmission_m
protected

relative enlargement of the mesh

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

Definition at line 686 of file PartBunchBase.h.

Referenced by getTEmission(), and setTEmission().

◆ toLabTrafo_m

template<class T, unsigned Dim>
CoordinateSystemTrafo PartBunchBase< T, Dim >::toLabTrafo_m

◆ TriID

template<class T, unsigned Dim>
ParticleAttrib< int > PartBunchBase< T, Dim >::TriID

◆ unit_state_

template<class T, unsigned Dim>
UnitState_t PartBunchBase< T, Dim >::unit_state_
protected

Definition at line 637 of file PartBunchBase.h.

Referenced by PartBunchBase(), and switchToUnitlessPositions().


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