OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
PartBunchBase< T, Dim > Class Template Referenceabstract

#include <OpalData.h>

Inherits enable_shared_from_this< PartBunchBase< T, Dim > >.

Collaboration diagram for PartBunchBase< T, Dim >:
Collaboration graph
[legend]

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_t
VectorPair_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. More...
 
void updateNumTotal ()
 
void rebin ()
 
int getLastemittedBin ()
 
void setLocalBinCount (size_t num, int bin)
 
void calcGammas ()
 Compute the gammas of all bins. More...
 
void calcGammas_cycl ()
 
void calcDebyeLength ()
 Compute the (global) Debye length for the beam. More...
 
double getBinGamma (int bin)
 Get gamma of one bin. More...
 
virtual void setBinCharge (int bin, double q)
 Set the charge of one bin to the value of q and all other to zero. More...
 
virtual void setBinCharge (int bin)
 Set the charge of all other the ones in bin to zero. More...
 
size_t calcNumPartsOutside (Vector_t x)
 returns the number of particles outside of a box defined by x More...
 
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. More...
 
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. More...
 
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 More...
 
double getChargePerParticle () const
 get the macro particle charge More...
 
double getMassPerParticle () const
 
virtual void setSolver (FieldSolver *fs)
 
bool hasFieldSolver ()
 
FieldSolverType getFieldSolverType () const
 Return the fieldsolver type if we have a fieldsolver. More...
 
void setStepsPerTurn (int n)
 
int getStepsPerTurn () const
 
void setGlobalTrackStep (long long n)
 step in multiple TRACK commands More...
 
long long getGlobalTrackStep () const
 
void setLocalTrackStep (long long n)
 step in a TRACK command More...
 
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 More...
 
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. More...
 
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. More...
 
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)
 
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 More...
 
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 More...
 

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 More...
 
const PartDatareference
 
UnitState_t unit_state_
 
UnitState_t stateOfLastBoundP_
 
double centroid_m [2 *Dim]
 holds the centroid of the beam More...
 
double dt_m
 holds the timestep in seconds More...
 
double t_m
 holds the actual time of the integration More...
 
double spos_m
 the position along design trajectory More...
 
Vector_t globalMeanR_m
 
Quaternion_t globalToLocalQuaternion_m
 
Vector_t rmax_m
 maximal extend of particles More...
 
Vector_t rmin_m
 minimal extend of particles More...
 
double rmsDensity_m
 
Vector_t hr_m
 meshspacing of cartesian mesh More...
 
Vektor< int, 3 > nr_m
 meshsize of cartesian mesh More...
 
FieldSolverfs_m
 stores the used field solver More...
 
double couplingConstant_m
 
double qi_m
 
double massPerParticle_m
 
int distDump_m
 counter to store the distribution dump More...
 
double dh_m
 Mesh enlargement. More...
 
double tEmission_m
 relative enlargement of the mesh More...
 
std::unique_ptr< double[]> bingamma_m
 holds the gamma of the bin More...
 
std::unique_ptr< size_t[]> binemitted_m
 
int stepsPerTurn_m
 steps per turn for OPAL-cycl More...
 
long long localTrackStep_m
 step in a TRACK command More...
 
long long globalTrackStep_m
 if multiple TRACK commands More...
 
short numBunch_m
 current bunch number More...
 
std::vector< size_t > bunchTotalNum_m
 number of particles per bunch More...
 
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 More...
 

Detailed Description

template<class T = double, unsigned Dim = 3>
class PartBunchBase< T, Dim >

H5PartWrapper: a class that manages calls to H5Part

Definition at line 34 of file OpalData.h.

Member Typedef Documentation

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

Definition at line 53 of file PartBunchBase.h.

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

Definition at line 52 of file PartBunchBase.h.

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

Definition at line 55 of file PartBunchBase.h.

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

Definition at line 54 of file PartBunchBase.h.

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

Definition at line 57 of file PartBunchBase.h.

Member Enumeration Documentation

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

Definition at line 61 of file PartBunchBase.h.

Constructor & Destructor Documentation

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

Definition at line 64 of file PartBunchBase.h.

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

Definition at line 41 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::setup().

Here is the call graph for this function:

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

Member Function Documentation

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

Definition at line 1730 of file PartBunchBase.hpp.

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

Definition at line 279 of file PartBunchBase.h.

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

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.

References abs(), PartBunchBase< T, Dim >::boundpBoundsTimer_m, PartBunchBase< T, Dim >::boundpTimer_m, PartBunchBase< T, Dim >::boundpUpdateTimer_m, PartBunchBase< T, Dim >::dcBeam_m, PartBunchBase< T, Dim >::dh_m, PartBunchBase< T, Dim >::dist_m, Physics::e, ParticleSpatialLayout< T, Dim, Mesh, CachingPolicy >::enableCaching(), endl(), PartBunchBase< T, Dim >::fs_m, PartBunchBase< T, Dim >::get_bounds(), FieldSolver::getFieldSolverType(), PartBunchBase< T, Dim >::getIfBeamEmitting(), PoissonSolver::getinteractionRadius(), PartBunchBase< T, Dim >::getLayout(), Distribution::getPercentageEmitted(), PartBunchBase< T, Dim >::getTotalNum(), PartBunchBase< T, Dim >::hr_m, PartBunchBase< T, Dim >::ID, ParticleAttrib< T >::isDirty(), PartBunchBase< T, Dim >::isGridFixed(), level1(), max(), PartBunchBase< T, Dim >::nr_m, PartBunchBase< T, Dim >::P, P3M, PartBunchBase< T, Dim >::periodLength_m, PartBunchBase< T, Dim >::Q, Attrib::Distribution::R, PartBunchBase< T, Dim >::rmax_m, PartBunchBase< T, Dim >::rmin_m, FieldSolver::solver_m, sqrt(), IpplTimings::startTimer(), PartBunchBase< T, Dim >::stateOfLastBoundP_, IpplTimings::stopTimer(), sum(), PartBunchBase< T, Dim >::unit_state_, PyOpal::PyOpalObjectNS::update(), PartBunchBase< T, Dim >::updateDomainLength(), PartBunchBase< T, Dim >::updateFields(), and WARNMSG.

Referenced by PartBunchBase< T, Dim >::boundp_destroyT(), ParallelTTracker::computeParticleMatterInteraction(), ParallelTTracker::computeSpaceChargeFields(), ParallelCyclotronTracker::computeSpaceChargeFields_m(), ParallelCyclotronTracker::deleteParticle(), Distribution::doRestartOpalCycl(), Distribution::doRestartOpalT(), ParallelCyclotronTracker::initDistInGlobalFrame(), Distribution::injectBeam(), and MultiBunchHandler::readBunch().

Here is the call graph for this function:

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::boundp_destroyCycl ( )
template<class T , unsigned Dim>
size_t PartBunchBase< T, Dim >::boundp_destroyT ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::calcBeamParameters ( )
template<class T = double, unsigned Dim = 3>
void PartBunchBase< T, Dim >::calcBeamParametersInitial ( )
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 DistributionMoments::computeDebyeLength(), PartBunchBase< T, Dim >::momentsComputer_m, and PartBunchBase< T, Dim >::rmsDensity_m.

Here is the call graph for this function:

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::calcEMean ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::calcGammas ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::calcGammas_cycl ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::calcLineDensity ( unsigned int  nBins,
std::vector< double > &  lineDensity,
std::pair< double, double > &  meshInfo 
)
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 PartBunchBase< T, Dim >::Bin, PartBunchBase< T, Dim >::calculateAngle(), endl(), PartBins::getLastemittedBin(), PartBunchBase< T, Dim >::getLocalNum(), INFOMSG, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::pbin_m, Units::rad2deg, and reduce().

Here is the call graph for this function:

template<class T = double, unsigned Dim = 3>
size_t PartBunchBase< T, Dim >::calcMoments ( )
protected
template<class T = double, unsigned Dim = 3>
void PartBunchBase< T, Dim >::calcMomentsInitial ( )
protected
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.

References abs(), gather(), PartBunchBase< T, Dim >::get_rmean(), PartBunchBase< T, Dim >::getLocalNum(), IpplInfo::getNodes(), PartBunchBase< T, Dim >::globalPartPerNode_m, and Attrib::Distribution::R.

Referenced by DataSink::dumpSDDS().

Here is the call graph for this function:

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 PartBunchBase< T, Dim >::calcMeanPhi().

Here is the call graph for this function:

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

Implemented in PartBunch, and AmrPartBunch.

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

Implemented in PartBunch, and AmrPartBunch.

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::countTotalNumPerBunch ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::create ( size_t  M)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::createWithID ( unsigned  id)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::destroy ( size_t  M,
size_t  I,
bool  doNow = false 
)
template<class T , unsigned Dim>
size_t PartBunchBase< T, Dim >::destroyT ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::do_binaryRepart ( )
virtual
template<class T , unsigned Dim>
bool PartBunchBase< T, Dim >::doEmission ( )

Definition at line 266 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::dist_m, and Distribution::getIfDistEmitting().

Referenced by ParallelTTracker::prepareEmission().

Here is the call graph for this function:

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 PartBunchBase< T, Dim >::dist_m, and Distribution::emitParticles().

Referenced by ParallelTTracker::emitParticles().

Here is the call graph for this function:

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

Definition at line 283 of file PartBunchBase.h.

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

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

Definition at line 1168 of file PartBunchBase.hpp.

References DistributionMoments::get68Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1173 of file PartBunchBase.hpp.

References DistributionMoments::get95Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1183 of file PartBunchBase.hpp.

References DistributionMoments::get99_99Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1178 of file PartBunchBase.hpp.

References DistributionMoments::get99Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1220 of file PartBunchBase.hpp.

References DistributionMoments::getDDx(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1226 of file PartBunchBase.hpp.

References DistributionMoments::getDDy(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1078 of file PartBunchBase.hpp.

References DistributionMoments::getDebyeLength(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1208 of file PartBunchBase.hpp.

References DistributionMoments::getDx(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1214 of file PartBunchBase.hpp.

References DistributionMoments::getDy(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1163 of file PartBunchBase.hpp.

References DistributionMoments::getHalo(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

template<class T , unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_hr ( ) const
virtual
template<class T , unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_maxExtent ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::get_meanKineticEnergy ( ) const
template<class T , unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_norm_emit ( ) const
template<class T , unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_normalizedEps_68Percentile ( ) const

Definition at line 1188 of file PartBunchBase.hpp.

References DistributionMoments::getNormalizedEmittance68Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1193 of file PartBunchBase.hpp.

References DistributionMoments::getNormalizedEmittance95Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1203 of file PartBunchBase.hpp.

References DistributionMoments::getNormalizedEmittance99_99Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1198 of file PartBunchBase.hpp.

References DistributionMoments::getNormalizedEmittance99Percentile(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

template<class T , unsigned Dim>
Vector_t PartBunchBase< T, Dim >::get_origin ( ) const
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(), and PartBunchBase< T, Dim >::P.

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

Here is the call graph for this function:

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

Definition at line 1083 of file PartBunchBase.hpp.

References DistributionMoments::getPlasmaParameter(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1141 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::dist_m, Distribution::get_pmean(), PartBunchBase< T, Dim >::getM(), pow(), and sqrt().

Referenced by ParallelTTracker::execute(), and ThickTracker::execute().

Here is the call graph for this function:

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

Definition at line 1088 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::rmsDensity_m.

Referenced by StatWriter::write().

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

Definition at line 1117 of file PartBunchBase.hpp.

References DistributionMoments::getStandardDeviationRP(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by PartBunchBase< T, Dim >::print(), and StatWriter::write().

Here is the call graph for this function:

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

Definition at line 1073 of file PartBunchBase.hpp.

References DistributionMoments::getTemperature(), and PartBunchBase< T, Dim >::momentsComputer_m.

Referenced by StatWriter::write().

Here is the call graph for this function:

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

Definition at line 527 of file PartBunchBase.h.

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

Definition at line 1724 of file PartBunchBase.hpp.

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.

References PartBunchBase< T, Dim >::bingamma_m.

Referenced by AmrBoxLib::computeSelfFields_cycl().

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

Definition at line 918 of file PartBunchBase.hpp.

References dot(), PartBunchBase< T, Dim >::get_bounds(), and sqrt().

Here is the call graph for this function:

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 PartBunchBase< T, Dim >::Q, and sum().

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

Here is the call graph for this function:

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

Definition at line 1276 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::couplingConstant_m.

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

Definition at line 1917 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

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

Definition at line 1676 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::dist_m, and Distribution::getType().

Referenced by ParallelCyclotronTracker::initDistInGlobalFrame().

Here is the call graph for this function:

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

Definition at line 1648 of file PartBunchBase.hpp.

References PartData::getE(), and PartBunchBase< T, Dim >::reference.

Here is the call graph for this function:

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

Implemented in PartBunch, and AmrPartBunch.

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

Definition at line 1742 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::dist_m, and Distribution::getEmissionDeltaT().

Referenced by ParallelTTracker::prepareEmission(), and ParallelTTracker::selectDT().

Here is the call graph for this function:

template<class T = double, unsigned Dim = 3>
virtual FieldLayout_t& PartBunchBase< T, Dim >::getFieldLayout ( )
pure virtual
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 PartBunchBase< T, Dim >::fs_m, FieldSolver::getFieldSolverType(), and NONE.

Referenced by ParallelCyclotronTracker::computeSpaceChargeFields_m().

Here is the call graph for this function:

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

Definition at line 1718 of file PartBunchBase.hpp.

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

Definition at line 1487 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::globalMeanR_m.

template<class T , unsigned Dim>
Quaternion_t PartBunchBase< T, Dim >::getGlobalToLocalQuaternion ( )
template<class T , unsigned Dim>
long long PartBunchBase< T, Dim >::getGlobalTrackStep ( ) const
template<class T , unsigned Dim>
bool PartBunchBase< T, Dim >::getIfBeamEmitting ( )
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getInitialBeta ( ) const

Definition at line 1706 of file PartBunchBase.hpp.

References PartData::getBeta(), and PartBunchBase< T, Dim >::reference.

Referenced by ThickTracker::advanceDispersion_m(), and ThickTracker::updateParticle_m().

Here is the call graph for this function:

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

Definition at line 1712 of file PartBunchBase.hpp.

References PartData::getGamma(), and PartBunchBase< T, Dim >::reference.

Referenced by Distribution::createOpalCycl(), and ThickTracker::updateParticle_m().

Here is the call graph for this function:

template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::getKs3DRefp ( )
template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::getKs3DRefr ( )
template<class T , unsigned Dim>
int PartBunchBase< T, Dim >::getLastemittedBin ( )
template<class T , unsigned Dim>
int PartBunchBase< T, Dim >::getLastEmittedEnergyBin ( )

Definition at line 105 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::dist_m, Distribution::getLastEmittedEnergyBin(), and reduce().

Referenced by ParallelTTracker::computeSpaceChargeFields().

Here is the call graph for this function:

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

Definition at line 1942 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

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

Definition at line 1255 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::globalPartPerNode_m.

Referenced by LBalWriter::write().

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

Definition at line 931 of file PartBunchBase.hpp.

References dot(), PartBunchBase< T, Dim >::getLocalBounds(), and sqrt().

Referenced by ParallelTTracker::computeParticleMatterInteraction().

Here is the call graph for this function:

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 PartBunchBase< T, Dim >::getLocalNum(), and Attrib::Distribution::R.

Referenced by PartBunchBase< T, Dim >::get_bounds(), and PartBunchBase< T, Dim >::getLocalBoundingSphere().

Here is the call graph for this function:

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

Definition at line 1911 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

Referenced by ScatteringPhysics::addParticleBackToBunch(), ThickTracker::advanceParticles_m(), CSRIGFWakeFunction::apply(), CSRWakeFunction::apply(), Undulator::apply(), GreenWakeFunction::apply(), Tracker::applyDrift(), Tracker::applyTransform(), ParallelCyclotronTracker::bgf_main_collision_test(), ParallelCyclotronTracker::borisExternalFields(), PartBunchBase< T, Dim >::boundp_destroyCycl(), PartBunchBase< T, Dim >::boundp_destroyT(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), ParallelCyclotronTracker::bunchDumpStatData(), ParallelCyclotronTracker::bunchMode_m(), MultiBunchHandler::calcBunchBeamParameters(), PartBunchBase< T, Dim >::calcGammas(), PartBunchBase< T, Dim >::calcGammas_cycl(), PartBunchBase< T, Dim >::calcLineDensity(), ParallelCyclotronTracker::calcMeanP(), PartBunchBase< T, Dim >::calcMeanPhi(), ParallelCyclotronTracker::calcMeanR(), PartBunchBase< T, Dim >::calcNumPartsOutside(), P3MPoissonSolver::calculatePairForces(), ParallelTTracker::changeDT(), ParallelCyclotronTracker::checkNumPart(), Vacuum::checkVacuum(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelCyclotronTracker::computePathLengthUpdate(), ParallelTTracker::computeSpaceChargeFields(), ParallelTTracker::computeWakefield(), ScatteringPhysics::copyFromBunch(), PartBunchBase< T, Dim >::countTotalNumPerBunch(), Distribution::createOpalCycl(), ParallelCyclotronTracker::deleteParticle(), PartBunchBase< T, Dim >::destroyT(), Septum::doCheck(), Probe::doCheck(), Stripper::doCheck(), CCollimator::doCheck(), OutputPlane::doCheck(), CCollimator::doFinaliseCheck(), BeamStrippingPhysics::doPhysics(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), PartBunchBase< double, 3 >::end(), ParallelTTracker::evenlyDistributeParticles(), ParallelCyclotronTracker::finalizeTracking_m(), PartBunchBase< T, Dim >::gatherLoadBalanceStatistics(), PartBunchBase< T, Dim >::getLocalBounds(), ParallelCyclotronTracker::globalToLocal(), Degrader::goOnline(), MultiBunchHandler::injectBunch(), ParallelCyclotronTracker::kick(), ParallelTTracker::kickParticles(), ParallelCyclotronTracker::localToGlobal(), PartBunchBase< T, Dim >::maximumAmplitudes(), PartBunchBase< T, Dim >::ConstIterator::operator*(), AmrBoxLib::postRegrid_m(), ParallelCyclotronTracker::push(), PartBunchBase< T, Dim >::push_back(), ParallelTTracker::pushParticles(), MultiBunchHandler::readBunch(), PartBunchBase< T, Dim >::resetPartBinBunch(), PartBunchBase< T, Dim >::resetPartBinID2(), ParallelCyclotronTracker::rotateAroundX(), ParallelCyclotronTracker::rotateAroundZ(), ParallelCyclotronTracker::rotateWithQuaternion(), MultiBunchHandler::saveBunch(), ParallelCyclotronTracker::seoMode_m(), ParallelTTracker::setTime(), ParallelCyclotronTracker::singleMode_m(), ParallelCyclotronTracker::singleParticleDump(), PartBunchBase< T, Dim >::swap(), PartBunchBase< T, Dim >::switchOffUnitlessPositions(), PartBunchBase< T, Dim >::switchToUnitlessPositions(), ParallelTTracker::timeIntegration2(), ParallelTTracker::transformBunch(), ThickTracker::update_m(), PartBunchBase< T, Dim >::updateNumTotal(), Vacuum::updateParticleAttributes(), StatWriter::write(), ParallelTTracker::writePhaseSpace(), H5PartWrapperForPT::writeStepData(), and H5PartWrapperForPC::writeStepData().

template<class T , unsigned Dim>
size_t PartBunchBase< T, Dim >::getLocalNumPerBunch ( short  n) const
template<class T , unsigned Dim>
long long PartBunchBase< T, Dim >::getLocalTrackStep ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getM ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getMassPerParticle ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getMomentumTolerance ( ) const

Definition at line 1682 of file PartBunchBase.hpp.

References PartData::getMomentumTolerance(), and PartBunchBase< T, Dim >::reference.

Referenced by ParallelCyclotronTracker::checkFileMomentum(), and Distribution::createOpalT().

Here is the call graph for this function:

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

Definition at line 116 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::dist_m, and Distribution::getNumberOfEmissionSteps().

Referenced by ParallelTTracker::prepareEmission().

Here is the call graph for this function:

template<class T , unsigned Dim>
int PartBunchBase< T, Dim >::getNumberOfEnergyBins ( )
template<class T , unsigned Dim>
short PartBunchBase< T, Dim >::getNumBunch ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getP ( ) const

Definition at line 1642 of file PartBunchBase.hpp.

References PartData::getP(), and PartBunchBase< T, Dim >::reference.

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

Here is the call graph for this function:

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

Definition at line 1654 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::refPOrigin_m.

Referenced by Stripper::doFinaliseCheck().

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

Definition at line 815 of file PartBunchBase.hpp.

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

Definition at line 830 of file PartBunchBase.hpp.

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

Definition at line 820 of file PartBunchBase.hpp.

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

Definition at line 835 of file PartBunchBase.hpp.

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

Definition at line 825 of file PartBunchBase.hpp.

template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getQ ( ) const
template<class T = double, unsigned Dim = 3>
Quaternion_t PartBunchBase< T, Dim >::getQKs3D ( )
template<class T , unsigned Dim>
const PartData * PartBunchBase< T, Dim >::getReference ( ) const
template<class T = double, unsigned Dim = 3>
virtual double PartBunchBase< T, Dim >::getRho ( int  x,
int  y,
int  z 
)
pure virtual
template<class T , unsigned Dim>
FMatrix< double, 2 *Dim, 2 *Dim > PartBunchBase< T, Dim >::getSigmaMatrix ( ) const
template<class T , unsigned Dim>
int PartBunchBase< T, Dim >::getStepsPerTurn ( ) const
template<class T , unsigned Dim>
int PartBunchBase< T, Dim >::getSteptoLastInj ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getT ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getTEmission ( )
template<class T , unsigned Dim>
size_t PartBunchBase< T, Dim >::getTotalNum ( ) const

Definition at line 1906 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

Referenced by Undulator::apply(), ParallelCyclotronTracker::applyPluginElements(), PartBunchBase< T, Dim >::boundp(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), ParallelCyclotronTracker::bunchMode_m(), PartBunchBase< T, Dim >::calcGammas(), ParallelCyclotronTracker::calcMeanP(), ParallelCyclotronTracker::calcMeanR(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelCyclotronTracker::computePathLengthUpdate(), PartBunchBase< T, Dim >::countTotalNumPerBunch(), Distribution::createOpalCycl(), PartBunchBase< T, Dim >::destroyT(), Probe::doInitialise(), Distribution::doRestartOpalCycl(), Distribution::doRestartOpalT(), ThickTracker::dump_m(), ParallelTTracker::emitParticles(), ParallelTTracker::evenlyDistributeParticles(), ParallelTTracker::execute(), ParallelCyclotronTracker::finalizeTracking_m(), ParallelCyclotronTracker::GenericTracker(), Monitor::initialise(), MultiBunchHandler::injectBunch(), ParallelCyclotronTracker::MtsTracker(), MultiBunchHandler::MultiBunchHandler(), PartBunchBase< T, Dim >::print(), PartBunchBase< T, Dim >::setCharge(), PartBunchBase< T, Dim >::setMass(), ParallelCyclotronTracker::update_m(), StatWriter::write(), AmrYtWriter::writeBunch(), DataSink::writeImpactStatistics(), H5Writer::writePhaseSpace(), ParallelTTracker::writePhaseSpace(), H5PartWrapperForPC::writeStep(), and H5PartWrapperForPT::writeStep().

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

Definition at line 1947 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

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

Definition at line 841 of file PartBunchBase.hpp.

References Attrib::Distribution::R.

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

Definition at line 859 of file PartBunchBase.hpp.

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

Definition at line 847 of file PartBunchBase.hpp.

References Attrib::Distribution::R.

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

Definition at line 865 of file PartBunchBase.hpp.

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

Definition at line 853 of file PartBunchBase.hpp.

References Attrib::Distribution::R.

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 PartBunchBase< T, Dim >::pbase_m.

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

Definition at line 1995 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

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

Definition at line 248 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbin_m.

Referenced by H5PartWrapperForPC::writeStepData().

template<class T , unsigned Dim>
bool PartBunchBase< T, Dim >::hasFieldSolver ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::incrementT ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::incTrackSteps ( )
template<class T = double, unsigned Dim = 3>
virtual void PartBunchBase< T, Dim >::initialize ( FieldLayout_t fLayout)
pure virtual

Implemented in PartBunch, and AmrPartBunch.

Referenced by PartBunchBase< T, Dim >::setSolver().

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

Definition at line 242 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::fixed_grid.

Referenced by PartBunchBase< T, Dim >::boundp().

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::iterateEmittedBin ( int  binNumber)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::maximumAmplitudes ( const FMatrix< double, 6, 6 > &  D,
double &  axmax,
double &  aymax 
)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::performDestroy ( bool  updateLocalNum = false)
template<class T , unsigned Dim>
Inform & PartBunchBase< T, Dim >::print ( Inform os)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::push_back ( OpalParticle const &  p)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::Rebin ( )
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::rebin ( )

Definition at line 313 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::Bin, PartBunchBase< T, Dim >::pbin_m, and PartBins::resetBins().

Here is the call graph for this function:

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

Definition at line 1962 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

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.

Referenced by ParallelTTracker::computeSpaceChargeFields(), and ParallelTTracker::emitParticles().

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

Definition at line 1694 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::reference.

Referenced by Stripper::doFinaliseCheck().

template<class T , unsigned Dim>
bool PartBunchBase< T, Dim >::resetPartBinBunch ( )
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 PartBunchBase< T, Dim >::Bin, PartBunchBase< T, Dim >::calcGammas_cycl(), endl(), ERRORMSG, floor(), PartBunchBase< T, Dim >::getLocalNum(), PartBins::getNBins(), INFOMSG, Hypervolume::n, PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::pbin_m, pow(), reduce(), PartBins::resetPartInBin_cyc(), and sqrt().

Referenced by MultiBunchHandler::updateParticleBins().

Here is the call graph for this function:

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

Set reference data

Definition at line 1688 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::reference.

Referenced by Stripper::doFinaliseCheck().

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

Reimplemented in PartBunch.

Definition at line 506 of file PartBunchBase.h.

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

Definition at line 1815 of file PartBunchBase.hpp.

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

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 1854 of file PartBunchBase.hpp.

Referenced by TrackRun::setupFieldsolver().

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

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 1848 of file PartBunchBase.hpp.

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

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 1860 of file PartBunchBase.hpp.

Referenced by TrackRun::setupFieldsolver().

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

Definition at line 531 of file PartBunchBase.h.

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

Definition at line 2015 of file PartBunchBase.hpp.

References Physics::c, and PartBunchBase< T, Dim >::periodLength_m.

Referenced by TrackRun::setupTTracker().

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.

References PartBunchBase< T, Dim >::Bin, cmp_diff::eq(), PartBunchBase< T, Dim >::Q, and where().

Referenced by ParallelTTracker::computeSpaceChargeFields(), and ParallelCyclotronTracker::computeSpaceChargeFields_m().

Here is the call graph for this function:

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.

Reimplemented in AmrPartBunch.

Definition at line 432 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::Bin, cmp_diff::eq(), PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::qi_m, and where().

Here is the call graph for this function:

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setCharge ( double  q)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setChargeZeroPart ( double  q)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setCouplingConstant ( double  c)
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 Distribution::createOpalT(), and PartBunchBase< T, Dim >::dist_m.

Referenced by TrackRun::setDistributionParallelT(), and TrackRun::setupCyclotronTracker().

Here is the call graph for this function:

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 Distribution::createOpalCycl(), and PartBunchBase< T, Dim >::dist_m.

Here is the call graph for this function:

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setdT ( double  dt)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setEnergyBins ( int  numberOfEnergyBins)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setGlobalMeanR ( Vector_t  globalMeanR)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setGlobalToLocalQuaternion ( Quaternion_t  globalToLocalQuaternion)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setGlobalTrackStep ( long long  n)
template<class T = double, unsigned Dim = 3>
void PartBunchBase< T, Dim >::setKs3DRefp ( Vector_t  p)
template<class T = double, unsigned Dim = 3>
void PartBunchBase< T, Dim >::setKs3DRefr ( Vector_t  r)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setLocalBinCount ( size_t  num,
int  bin 
)

Definition at line 331 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbin_m, and PartBins::setPartNum().

Referenced by ParallelCyclotronTracker::deleteParticle().

Here is the call graph for this function:

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

Definition at line 1932 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setLocalNumPerBunch ( size_t  numpart,
short  n 
)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setLocalTrackStep ( long long  n)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setMass ( double  mass)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setMassZeroPart ( double  mass)

Definition at line 1311 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::massPerParticle_m.

Referenced by TrackRun::setupTTracker().

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setNumBunch ( short  n)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setParticle ( FVector< double, 6 >  z,
int  ii 
)
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(), PartBunchBase< T, Dim >::P, and Attrib::Distribution::R.

Here is the call graph for this function:

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

Definition at line 292 of file PartBunchBase.hpp.

References PartBins::getNBins(), PartBunchBase< T, Dim >::pbin_m, and PartBunchBase< T, Dim >::setEnergyBins().

Here is the call graph for this function:

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

Definition at line 1659 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::refPOrigin_m.

Referenced by Stripper::doCheck().

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 PartBunchBase< T, Dim >::refPType_m.

Referenced by TrackRun::setupCyclotronTracker(), and TrackRun::setupTTracker().

Here is the call graph for this function:

template<class T = double, unsigned Dim = 3>
void PartBunchBase< T, Dim >::setQKs3D ( Quaternion_t  q)
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 Hypervolume::fs, PartBunchBase< T, Dim >::fs_m, FieldSolver::getFieldLayout(), OpalData::getInstance(), PartBunchBase< T, Dim >::initialize(), and FieldSolver::initSolver().

Referenced by AmrPartBunch::setSolver(), and TrackRun::setupFieldsolver().

Here is the call graph for this function:

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setStepsPerTurn ( int  n)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setSteptoLastInj ( int  n)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setT ( double  t)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setTEmission ( double  t)

Definition at line 254 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::tEmission_m.

Referenced by Distribution::initializeBeam().

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setTotalNum ( size_t  n)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setTotalNumPerBunch ( size_t  numpart,
short  n 
)
template<class T, unsigned Dim>
void PartBunchBase< T, Dim >::setup ( AbstractParticle< T, Dim > *  pb)
private
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setUpdateFlag ( UpdateFlags_t  f,
bool  val 
)

Definition at line 1952 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

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

Definition at line 871 of file PartBunchBase.hpp.

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

Definition at line 1957 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m.

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::swap ( unsigned int  i,
unsigned int  j 
)
virtual
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::switchOffUnitlessPositions ( bool  use_dt_per_particle = false)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::switchToUnitlessPositions ( bool  use_dt_per_particle = false)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::update ( )

Definition at line 1967 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m, IpplException::what(), and IpplException::where().

Here is the call graph for this function:

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

Definition at line 1976 of file PartBunchBase.hpp.

References PartBunchBase< T, Dim >::pbase_m, IpplException::what(), and IpplException::where().

Here is the call graph for this function:

template<class T = double, unsigned Dim = 3>
virtual void PartBunchBase< T, Dim >::updateDomainLength ( Vektor< int, 3 > &  grid)
privatepure virtual
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::updateFields ( const Vector_t hr,
const Vector_t origin 
)
privatevirtual
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::updateNumTotal ( )
template<class T , unsigned Dim>
bool PartBunchBase< T, Dim >::weHaveBins ( ) const
template<class T , unsigned Dim>
bool PartBunchBase< T, Dim >::weHaveEnergyBins ( )

Member Data Documentation

template<class T = double, unsigned Dim = 3>
ParticleAttrib< Vector_t > PartBunchBase< T, Dim >::Bf
template<class T = double, unsigned Dim = 3>
ParticleAttrib< int > PartBunchBase< T, Dim >::Bin

Definition at line 584 of file PartBunchBase.h.

Referenced by ScatteringPhysics::addParticleBackToBunch(), Stepper< FieldFunction, Arguments...>::advance(), Degrader::apply(), Ring::apply(), Cyclotron::apply(), ParallelCyclotronTracker::bgf_main_collision_test(), PartBunchBase< T, Dim >::boundp_destroyCycl(), PartBunchBase< T, Dim >::boundp_destroyT(), ParallelCyclotronTracker::bunchMode_m(), PartBunchBase< T, Dim >::calcGammas(), PartBunchBase< T, Dim >::calcGammas_cycl(), PartBunchBase< T, Dim >::calcMeanPhi(), Vacuum::checkVacuum(), ParallelTTracker::computeExternalFields(), AmrBoxLib::computeSelfFields_cycl(), ScatteringPhysics::copyFromBunch(), ParallelCyclotronTracker::deleteParticle(), PartBunchBase< T, Dim >::destroyT(), Septum::doCheck(), Stripper::doCheck(), CCollimator::doCheck(), BeamStrippingPhysics::doPhysics(), Distribution::emitParticles(), ParallelCyclotronTracker::initDistInGlobalFrame(), Distribution::injectBeam(), ParallelCyclotronTracker::kick(), ParallelCyclotronTracker::push(), MultiBunchHandler::readBunch(), H5PartWrapperForPC::readStepData(), H5PartWrapperForPT::readStepData(), PartBunchBase< T, Dim >::Rebin(), PartBunchBase< T, Dim >::rebin(), PartBunchBase< T, Dim >::resetPartBinBunch(), PartBunchBase< T, Dim >::resetPartBinID2(), PartBunchBase< T, Dim >::setBinCharge(), PartBunchBase< T, Dim >::setup(), ParallelCyclotronTracker::singleMode_m(), AmrBoxLib::solvePoisson_m(), PartBunchBase< T, Dim >::swap(), AmrBoxLib::tagForChargeDensity_m(), AmrYtWriter::writeParticles_m(), and H5PartWrapperForPC::writeStepData().

template<class T = double, unsigned Dim = 3>
std::unique_ptr<size_t[]> PartBunchBase< T, Dim >::binemitted_m
protected
template<class T = double, unsigned Dim = 3>
std::unique_ptr<double[]> PartBunchBase< T, Dim >::bingamma_m
protected
template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::boundpBoundsTimer_m
protected
template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::boundpTimer_m
protected
template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::boundpUpdateTimer_m
protected
template<class T = double, unsigned Dim = 3>
std::vector<size_t> PartBunchBase< T, Dim >::bunchLocalNum_m
protected
template<class T = double, unsigned Dim = 3>
ParticleAttrib< short > PartBunchBase< T, Dim >::bunchNum
template<class T = double, unsigned Dim = 3>
std::vector<size_t> PartBunchBase< T, Dim >::bunchTotalNum_m
protected
template<class T = double, unsigned Dim = 3>
ParticleAttrib< short > PartBunchBase< T, Dim >::cavityGapCrossed
template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::centroid_m[2 *Dim]
protected

holds the centroid of the beam

Definition at line 641 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::couplingConstant_m
protected
template<class T = double, unsigned Dim = 3>
bool PartBunchBase< T, Dim >::dcBeam_m
protected

Definition at line 727 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::boundp().

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

Definition at line 608 of file PartBunchBase.h.

Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().

template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::dh_m
protected
template<class T = double, unsigned Dim = 3>
const unsigned PartBunchBase< T, Dim >::Dimension = Dim
static

Definition at line 59 of file PartBunchBase.h.

Referenced by AmrBoxLib::getEExtrema().

template<class T = double, unsigned Dim = 3>
Distribution* PartBunchBase< T, Dim >::dist_m
protected
template<class T = double, unsigned Dim = 3>
int PartBunchBase< T, Dim >::distDump_m
protected

counter to store the distribution dump

Definition at line 680 of file PartBunchBase.h.

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

Definition at line 605 of file PartBunchBase.h.

Referenced by Distribution::createOpalT(), and PartBunchBase< T, Dim >::setup().

template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::distrReload_m
template<class T = double, unsigned Dim = 3>
ParticleAttrib< double > PartBunchBase< T, Dim >::dt
template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::dt_m
protected

holds the timestep in seconds

Definition at line 644 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::getdT(), PartBunchBase< T, Dim >::incrementT(), and PartBunchBase< T, Dim >::setdT().

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

Definition at line 608 of file PartBunchBase.h.

Referenced by TrackRun::setupThickTracker(), and TrackRun::setupTTracker().

template<class T = double, unsigned Dim = 3>
ParticleAttrib< Vector_t > PartBunchBase< T, Dim >::Ef
template<class T = double, unsigned Dim = 3>
ParticleAttrib< Vector_t > PartBunchBase< T, Dim >::Eftmp
template<class T = double, unsigned Dim = 3>
std::unique_ptr<std::ofstream> PartBunchBase< T, Dim >::f_stream
private

Definition at line 616 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
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 PartBunchBase< T, Dim >::isGridFixed().

template<class T = double, unsigned Dim = 3>
FieldSolver* PartBunchBase< T, Dim >::fs_m
protected
template<class T = double, unsigned Dim = 3>
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 PartBunchBase< T, Dim >::getGlobalMeanR(), and PartBunchBase< T, Dim >::setGlobalMeanR().

template<class T = double, unsigned Dim = 3>
std::unique_ptr<size_t[]> PartBunchBase< T, Dim >::globalPartPerNode_m
protected
template<class T = double, unsigned Dim = 3>
Quaternion_t PartBunchBase< T, Dim >::globalToLocalQuaternion_m
protected
template<class T = double, unsigned Dim = 3>
long long PartBunchBase< T, Dim >::globalTrackStep_m
protected
template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::histoTimer_m
protected

Definition at line 626 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::setup().

template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::hr_m
protected
template<class T = double, unsigned Dim = 3>
ParticleIndex_t& PartBunchBase< T, Dim >::ID
template<class T = double, unsigned Dim = 3>
long long PartBunchBase< T, Dim >::localTrackStep_m
protected
template<class T = double, unsigned Dim = 3>
ParticleAttrib< double > PartBunchBase< T, Dim >::M
template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::massPerParticle_m
protected
template<class T = double, unsigned Dim = 3>
DistributionMoments PartBunchBase< T, Dim >::momentsComputer_m
protected
template<class T = double, unsigned Dim = 3>
Vektor<int, 3> PartBunchBase< T, Dim >::nr_m
protected
template<class T = double, unsigned Dim = 3>
short PartBunchBase< T, Dim >::numBunch_m
protected
template<class T = double, unsigned Dim = 3>
ParticleAttrib< Vector_t > PartBunchBase< T, Dim >::P

Definition at line 576 of file PartBunchBase.h.

Referenced by ScatteringPhysics::addParticleBackToBunch(), Stepper< FieldFunction, Arguments...>::advance(), ThickTracker::advanceParticles_m(), Source::apply(), FlexibleCollimator::apply(), Undulator::apply(), Degrader::apply(), Solenoid::apply(), TravelingWave::apply(), VerticalFFAMagnet::apply(), ScalingFFAMagnet::apply(), Monitor::apply(), RBend3D::apply(), VariableRFCavity::apply(), SBend3D::apply(), Corrector::apply(), Ring::apply(), VariableRFCavityFringeField::apply(), RFCavity::apply(), MultipoleTBase::apply(), MultipoleT::apply(), Cyclotron::apply(), ParallelCyclotronTracker::bgf_main_collision_test(), PartBunchBase< T, Dim >::boundp(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), ParallelCyclotronTracker::bunchDumpStatData(), ParallelCyclotronTracker::bunchMode_m(), MultiBunchHandler::calcBunchBeamParameters(), PartBunchBase< T, Dim >::calcGammas(), PartBunchBase< T, Dim >::calcGammas_cycl(), ParallelCyclotronTracker::calcMeanP(), PartBunchBase< T, Dim >::calcMeanPhi(), PluginElement::changeWidth(), ParallelCyclotronTracker::checkFileMomentum(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelCyclotronTracker::computePathLengthUpdate(), ParallelTTracker::computeWakefield(), ScatteringPhysics::copyFromBunch(), ParallelCyclotronTracker::deleteParticle(), LF2< FieldFunction, Arguments >::doAdvance_m(), RK4< FieldFunction, Arguments >::doAdvance_m(), Septum::doCheck(), Probe::doCheck(), Stripper::doCheck(), CCollimator::doCheck(), OutputPlane::doCheck(), BeamStrippingPhysics::doPhysics(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), ParallelTTracker::evenlyDistributeParticles(), ParallelCyclotronTracker::finalizeTracking_m(), ParallelCyclotronTracker::gapCrossKick_m(), PartBunchBase< T, Dim >::get_PBounds(), PartBunchBase< T, Dim >::getParticle(), ParallelCyclotronTracker::initDistInGlobalFrame(), Distribution::injectBeam(), ParallelCyclotronTracker::kick(), LF2< FieldFunction, Arguments >::kick_m(), ParallelTTracker::kickParticles(), ParallelCyclotronTracker::MtsTracker(), PartBunchBase< T, Dim >::ConstIterator::operator*(), ParallelCyclotronTracker::push(), PartBunchBase< T, Dim >::push_back(), ParallelTTracker::pushParticles(), MultiBunchHandler::readBunch(), H5PartWrapperForPC::readStepData(), H5PartWrapperForPT::readStepData(), PartBunchBase< T, Dim >::resetPartBinID2(), ParallelCyclotronTracker::RFkick(), MultiBunchHandler::saveBunch(), ParallelCyclotronTracker::seoMode_m(), PartBunchBase< T, Dim >::setParticle(), PartBunchBase< T, Dim >::setup(), ParallelCyclotronTracker::singleMode_m(), ParallelCyclotronTracker::singleParticleDump(), PartBunchBase< T, Dim >::swap(), AmrBoxLib::tagForMomenta_m(), ParallelTTracker::transformBunch(), StatWriter::write(), AmrYtWriter::writeParticles_m(), ParallelTTracker::writePhaseSpace(), H5PartWrapperForPT::writeStepData(), and H5PartWrapperForPC::writeStepData().

template<class T = double, unsigned Dim = 3>
std::shared_ptr<AbstractParticle<T, Dim> > PartBunchBase< T, Dim >::pbase_m
protected
template<class T = double, unsigned Dim = 3>
PartBins* PartBunchBase< T, Dim >::pbin_m
template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::periodLength_m
protected
template<class T = double, unsigned Dim = 3>
ParticleAttrib< double > PartBunchBase< T, Dim >::Phi
template<class T = double, unsigned Dim = 3>
std::unique_ptr<Inform> PartBunchBase< T, Dim >::pmsg_m
private

Definition at line 615 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::setup().

template<class T = double, unsigned Dim = 3>
ParticleAttrib< ParticleOrigin > PartBunchBase< T, Dim >::POrigin
template<class T = double, unsigned Dim = 3>
ParticleAttrib< ParticleType > PartBunchBase< T, Dim >::PType
template<class T = double, unsigned Dim = 3>
ParticleAttrib< double > PartBunchBase< T, Dim >::Q

Definition at line 577 of file PartBunchBase.h.

Referenced by ScatteringPhysics::addParticleBackToBunch(), Source::apply(), FlexibleCollimator::apply(), Undulator::apply(), Monitor::apply(), Ring::apply(), Cyclotron::apply(), ParallelCyclotronTracker::bgf_main_collision_test(), PartBunchBase< T, Dim >::boundp(), PartBunchBase< T, Dim >::calcLineDensity(), AmrBoxLib::computeSelfFields_cycl(), ParallelTTracker::computeSpaceChargeFields(), ParallelCyclotronTracker::computeSpaceChargeFields_m(), ScatteringPhysics::copyFromBunch(), RK4< FieldFunction, Arguments >::derivate_m(), Septum::doCheck(), Probe::doCheck(), Stripper::doCheck(), CCollimator::doCheck(), OutputPlane::doCheck(), BeamStrippingPhysics::doPhysics(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), ParallelTTracker::evenlyDistributeParticles(), PartBunchBase< T, Dim >::getCharge(), PartBunchBase< T, Dim >::getParticle(), Distribution::injectBeam(), ParallelCyclotronTracker::kick(), LF2< FieldFunction, Arguments >::kick_m(), ApplyField< T >::operator()(), PartBunchBase< T, Dim >::ConstIterator::operator*(), PartBunchBase< T, Dim >::print(), MultiBunchHandler::readBunch(), H5PartWrapperForPC::readStepData(), H5PartWrapperForPT::readStepData(), MultiBunchHandler::saveBunch(), PartBunchBase< T, Dim >::setBinCharge(), PartBunchBase< T, Dim >::setCharge(), PartBunchBase< T, Dim >::setup(), AmrBoxLib::solvePoisson_m(), PartBunchBase< T, Dim >::swap(), AmrBoxLib::tagForChargeDensity_m(), BeamStrippingPhysics::transformToSecondary(), Vacuum::updateParticleAttributes(), AmrYtWriter::writeParticles_m(), H5PartWrapperForPC::writeStepData(), and H5PartWrapperForPT::writeStepData().

template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::qi_m
protected
template<class T = double, unsigned Dim = 3>
ParticlePos_t& PartBunchBase< T, Dim >::R

Definition at line 572 of file PartBunchBase.h.

Referenced by ScatteringPhysics::addParticleBackToBunch(), Stepper< FieldFunction, Arguments...>::advance(), ThickTracker::advanceParticles_m(), CSRIGFWakeFunction::apply(), CSRWakeFunction::apply(), Source::apply(), FlexibleCollimator::apply(), Undulator::apply(), Degrader::apply(), Solenoid::apply(), TravelingWave::apply(), GreenWakeFunction::apply(), VerticalFFAMagnet::apply(), ScalingFFAMagnet::apply(), Monitor::apply(), RBend3D::apply(), Bend2D::apply(), VariableRFCavity::apply(), SBend3D::apply(), Corrector::apply(), Ring::apply(), VariableRFCavityFringeField::apply(), Component::apply(), RFCavity::apply(), Multipole::apply(), MultipoleTBase::apply(), MultipoleT::apply(), Cyclotron::apply(), ParallelCyclotronTracker::bgf_main_collision_test(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), ParallelCyclotronTracker::bunchDumpStatData(), ParallelCyclotronTracker::bunchMode_m(), MultiBunchHandler::calcBunchBeamParameters(), ParallelCyclotronTracker::calcMeanR(), P3MPoissonSolver::calculatePairForces(), Vacuum::checkVacuum(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), AmrBoxLib::computeSelfFields_cycl(), ParallelTTracker::computeSpaceChargeFields(), ParallelCyclotronTracker::computeSpaceChargeFields_m(), ParallelTTracker::computeWakefield(), ScatteringPhysics::copyFromBunch(), ParallelCyclotronTracker::deleteParticle(), RK4< FieldFunction, Arguments >::derivate_m(), LF2< FieldFunction, Arguments >::doAdvance_m(), RK4< FieldFunction, Arguments >::doAdvance_m(), Septum::doCheck(), Probe::doCheck(), Stripper::doCheck(), CCollimator::doCheck(), OutputPlane::doCheck(), BeamStrippingPhysics::doPhysics(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), ParallelTTracker::evenlyDistributeParticles(), ParallelCyclotronTracker::gapCrossKick_m(), ParallelCyclotronTracker::initDistInGlobalFrame(), Distribution::injectBeam(), ParallelCyclotronTracker::kick(), LF2< FieldFunction, Arguments >::kick_m(), ParallelTTracker::kickParticles(), ParallelCyclotronTracker::MtsTracker(), ApplyField< T >::operator()(), PartBunchBase< T, Dim >::ConstIterator::operator*(), ParallelCyclotronTracker::push(), ParallelTTracker::pushParticles(), MultiBunchHandler::readBunch(), H5PartWrapperForPT::readStepData(), H5PartWrapperForPC::readStepData(), ParallelCyclotronTracker::RFkick(), MultiBunchHandler::saveBunch(), ParallelCyclotronTracker::seoMode_m(), ParallelCyclotronTracker::singleMode_m(), ParallelCyclotronTracker::singleParticleDump(), AmrBoxLib::solvePoisson_m(), AmrBoxLib::tagForChargeDensity_m(), AmrBoxLib::tagForMaxNumParticles_m(), AmrBoxLib::tagForMinNumParticles_m(), AmrBoxLib::tagForMomenta_m(), ParallelTTracker::transformBunch(), StatWriter::write(), AmrYtWriter::writeParticles_m(), ParallelTTracker::writePhaseSpace(), H5PartWrapperForPT::writeStepData(), and H5PartWrapperForPC::writeStepData().

template<class T = double, unsigned Dim = 3>
const PartData* PartBunchBase< T, Dim >::reference
protected
template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::RefPartP_m
template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::RefPartR_m
template<class T = double, unsigned Dim = 3>
ParticleOrigin PartBunchBase< T, Dim >::refPOrigin_m
template<class T = double, unsigned Dim = 3>
ParticleType PartBunchBase< T, Dim >::refPType_m
template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::rmax_m
protected
template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::rmin_m
protected
template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::rmsDensity_m
protected
template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::selfFieldTimer_m
protected

timer for selfField calculation

Definition at line 628 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::setup().

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

the position along design trajectory

Definition at line 648 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::get_sPos(), and PartBunchBase< T, Dim >::set_sPos().

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

Definition at line 638 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::boundp().

template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::statParamTimer_m
protected
template<class T = double, unsigned Dim = 3>
int PartBunchBase< T, Dim >::stepsPerTurn_m
protected

steps per turn for OPAL-cycl

Definition at line 697 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::getStepsPerTurn(), and PartBunchBase< T, Dim >::setStepsPerTurn().

template<class T = double, unsigned Dim = 3>
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 PartBunchBase< T, Dim >::getSteptoLastInj(), and PartBunchBase< T, Dim >::setSteptoLastInj().

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

holds the actual time of the integration

Definition at line 646 of file PartBunchBase.h.

Referenced by PartBunchBase< T, Dim >::getT(), PartBunchBase< T, Dim >::incrementT(), and PartBunchBase< T, Dim >::setT().

template<class T = double, unsigned Dim = 3>
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 PartBunchBase< T, Dim >::getTEmission(), and PartBunchBase< T, Dim >::setTEmission().

template<class T = double, unsigned Dim = 3>
CoordinateSystemTrafo PartBunchBase< T, Dim >::toLabTrafo_m
template<class T = double, unsigned Dim = 3>
ParticleAttrib< int > PartBunchBase< T, Dim >::TriID
template<class T = double, unsigned Dim = 3>
UnitState_t PartBunchBase< T, Dim >::unit_state_
protected

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