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

Class: DataSink. More...

#include <OpalData.h>

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

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

 PartBunchBase (AbstractParticle< T, Dim > *pb)
 
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)
 
bool isGridFixed ()
 
bool hasBinning ()
 
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 getNumBins ()
 
int getLastemittedBin ()
 
void setLocalBinCount (size_t num, int bin)
 
void calcGammas ()
 Compute the gammas of all bins. More...
 
void calcGammas_cycl ()
 
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_destroy ()
 
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)
 
void getLocalBounds (Vector_t &rmin, Vector_t &rmax)
 
std::pair< Vector_t, double > getBoundingSphere ()
 
std::pair< Vector_t, double > getLocalBoundingSphere ()
 
void push_back (OpalParticle p)
 
void set_part (FVector< double, 6 > z, int ii)
 
void set_part (OpalParticle p, int ii)
 
OpalParticle get_part (int ii)
 
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 ()
 
void set_sPos (double s)
 
double get_gamma () const
 
double get_meanKineticEnergy () 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
 
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)
 
double getEkin () const
 Need Ek for the Schottky effect calculation (eV) More...
 
double getWorkFunctionRf () const
 Need the work function for the Schottky effect calculation (eV) More...
 
double getLaserEnergy () const
 Need the laser energy for the Schottky effect calculation (eV) More...
 
double getCharge () const
 get the total charge per simulation particle More...
 
double getChargePerParticle () const
 get the macro particle charge More...
 
virtual void setSolver (FieldSolver *fs)
 
bool hasFieldSolver ()
 
std::string 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 ()
 
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 ()
 
virtual double getGamma (int i)
 
virtual double getBeta (int i)
 
virtual void actT ()
 
const PartDatagetReference () const
 
double getEmissionDeltaT ()
 
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 ()
 
void correctEnergy (double avrgp)
 
Informprint (Inform &os)
 
virtual void runTests ()
 
virtual void do_binaryRepart ()
 
virtual void resetInterpolationCache (bool clearCache=false)
 
virtual VectorPair_t getEExtrema ()=0
 calculates back the max/min of the efield on the grid More...
 
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
 
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
 
unsigned int getMinimumNumberOfParticlesPerCore () const
 
void setMinimumNumberOfParticlesPerCore (unsigned int n)
 
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 ()
 
double getQ () const
 Access to reference data. More...
 
double getM () const
 
double getP () const
 
double getE () const
 
ParticleType::type getPType () const
 
double getInitialBeta () const
 
double getInitialGamma () const
 
void resetQ (double q)
 
void resetM (double m)
 
void setPType (ParticleType::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< short > PType
 
ParticleAttrib< int > TriID
 
ParticleAttrib< short > cavityGapCrossed
 particle just crossed cavity gap (for ParallelCyclotronTracker) More...
 
ParticleAttrib< short > bunchNum
 
Vector_t RefPartR_m
 
Vector_t RefPartP_m
 
ParticleType::type refPType_m
 
CoordinateSystemTrafo toLabTrafo_m
 
int myNode_m
 avoid calls to Ippl::myNode() More...
 
int nodes_m
 avoid calls to Ippl::getNodes() More...
 
bool fixed_grid
 if the grid does not have to adapt More...
 
PartBinspbin_m
 
std::unique_ptr< LossDataSinklossDs_m
 
std::unique_ptr< Informpmsg_m
 
std::unique_ptr< std::ofstream > f_stream
 
IpplTimings::TimerRef distrReload_m
 timer for IC, can not be in Distribution.h More...
 
IpplTimings::TimerRef distrCreate_m
 
double dtScInit_m
 
double deltaTau_m
 
bool lowParticleCount_m
 if a local node has less than 2 particles lowParticleCount_m == true More...
 
IpplTimings::TimerRef selfFieldTimer_m
 timer for selfField calculation More...
 

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
 
const PartDatareference
 
UnitState_t unit_state_
 
UnitState_t stateOfLastBoundP_
 
double centroid_m [2 *Dim]
 holds the centroid of the beam More...
 
FMatrix< double, 2 *Dim, 2 *Dimmoments_m
 6x6 matrix of the moments 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 eKin_m
 mean energy of the bunch (MeV) More...
 
double dE_m
 energy spread of the beam in MeV 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...
 
Vector_t rrms_m
 rms beam size (m) More...
 
Vector_t prms_m
 rms momenta More...
 
Vector_t rmean_m
 mean position (m) More...
 
Vector_t pmean_m
 mean momenta More...
 
Vector_t eps_m
 rms emittance (not normalized) More...
 
Vector_t eps_norm_m
 rms normalized emittance More...
 
Vector_t halo_m
 
Vector_t rprms_m
 rms correlation More...
 
double Dx_m
 dispersion x & y More...
 
double Dy_m
 
double DDx_m
 derivative of the dispersion More...
 
double DDy_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
 
int distDump_m
 counter to store the distribution dump More...
 
int fieldDBGStep_m
 
double dh_m
 Mesh enlargement. More...
 
double tEmission_m
 in % how much the mesh is enlarged 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
 
bool dcBeam_m
 
double periodLength_m
 
std::shared_ptr
< AbstractParticle< T, Dim > > 
pbase
 

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)
 

Detailed Description

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

Class: DataSink.

This class acts as an observer during the calculation. It generates diagnostic output of the accelerated beam such as statistical beam descriptors of particle positions, momenta, beam phase space (emittance) etc. These are written to file at periodic time steps during the calculation.

This class also writes the full beam phase space to an H5 file at periodic time steps in the calculation (this period is different from that of the statistical numbers).

Class also writes processor load balancing data to file to track parallel calculation efficiency.

Definition at line 29 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 33 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 32 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 35 of file PartBunchBase.h.

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

Definition at line 34 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 37 of file PartBunchBase.h.

Member Enumeration Documentation

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

Definition at line 41 of file PartBunchBase.h.

Constructor & Destructor Documentation

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

Definition at line 47 of file PartBunchBase.h.

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

Definition at line 108 of file PartBunchBase.hpp.

References Hypervolume::ref, and PartBunchBase< T, Dim >::reference.

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 1841 of file PartBunchBase.hpp.

Referenced by RFCavity::addKT().

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

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

Definition at line 622 of file PartBunchBase.hpp.

References abs(), INFORM_ALL_NODES, Attrib::Distribution::R, Options::remotePartDel, IpplTimings::startTimer(), and IpplTimings::stopTimer().

Referenced by ParallelCyclotronTracker::computeSpaceChargeFields_m().

Here is the call graph for this function:

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 731 of file PartBunchBase.hpp.

References endl(), INFORM_ALL_NODES, level3(), ne(), and reduce().

Referenced by ParallelTTracker::computeExternalFields().

Here is the call graph for this function:

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

Definition at line 1346 of file PartBunchBase.hpp.

References Physics::c, Dim, max(), IpplInfo::myNode(), and sqrt().

Referenced by TrackRun::setupTTracker().

Here is the call graph for this function:

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

Definition at line 1866 of file PartBunchBase.hpp.

References dot(), reduce(), and sqrt().

Referenced by ParallelTTracker::dumpStats(), Distribution::injectBeam(), and ThickTracker::update_m().

Here is the call graph for this function:

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

Compute the gammas of all bins.

Definition at line 371 of file PartBunchBase.hpp.

References abs(), dot(), endl(), ERRORMSG, OpalData::getInstance(), INFOMSG, level2(), Hypervolume::n, reduce(), and sqrt().

Referenced by ParallelTTracker::computeSpaceChargeFields().

Here is the call graph for this function:

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

Definition at line 418 of file PartBunchBase.hpp.

References allreduce(), dot(), endl(), INFOMSG, Hypervolume::n, and sqrt().

Referenced by ParallelCyclotronTracker::computeSpaceChargeFields_m().

Here is the call graph for this function:

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.

calcLineDensity()

See Also
ParallelTTracker
Warning
none yet

DETAILED TODO

Definition at line 496 of file PartBunchBase.hpp.

References Attrib::Distribution::R, and reduce().

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

Here is the call graph for this function:

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

calculate average angle of longitudinal direction of bins

Definition at line 1651 of file PartBunchBase.hpp.

References endl(), INFOMSG, Physics::pi, and reduce().

Here is the call graph for this function:

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

Definition at line 1943 of file PartBunchBase.hpp.

References allreduce(), Dim, OpalData::getInstance(), Options::haloShift, and Attrib::Distribution::R.

Here is the call graph for this function:

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

Definition at line 2057 of file PartBunchBase.hpp.

References Dim.

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 463 of file PartBunchBase.hpp.

References abs(), gather(), IpplInfo::getNodes(), and Attrib::Distribution::R.

Referenced by StatWriter::write().

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 2101 of file PartBunchBase.hpp.

References atan2(), and Physics::two_pi.

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

/brief used for self fields with binned distribution

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 >::correctEnergy ( double  avrgp)

Definition at line 1887 of file PartBunchBase.hpp.

References dot(), reduce(), and sqrt().

Here is the call graph for this function:

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

Definition at line 1588 of file PartBunchBase.hpp.

References allreduce(), and PAssert_LT.

Referenced by ParallelCyclotronTracker::initDistInGlobalFrame().

Here is the call graph for this function:

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)

Definition at line 2314 of file PartBunchBase.hpp.

Referenced by CollimatorPhysics::addBackToBunch().

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 ( )

Definition at line 789 of file PartBunchBase.hpp.

References INFORM_ALL_NODES, ne(), and reduce().

Referenced by ParallelTTracker::computeExternalFields().

Here is the call graph for this function:

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::do_binaryRepart ( )
virtual
template<class T , unsigned Dim>
bool PartBunchBase< T, Dim >::doEmission ( )
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 322 of file PartBunchBase.hpp.

Referenced by ParallelTTracker::emitParticles().

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

Definition at line 1236 of file PartBunchBase.hpp.

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

Referenced by LBalWriter::write(), and 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 
)
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 1218 of file PartBunchBase.hpp.

Referenced by StatWriter::write().

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

Definition at line 1224 of file PartBunchBase.hpp.

Referenced by StatWriter::write().

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

Definition at line 1206 of file PartBunchBase.hpp.

Referenced by StatWriter::write().

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

Definition at line 1212 of file PartBunchBase.hpp.

Referenced by StatWriter::write().

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 1194 of file PartBunchBase.hpp.

Referenced by StatWriter::write().

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

Reimplemented in AmrPartBunch.

Definition at line 1200 of file PartBunchBase.hpp.

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

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_origin ( ) const
template<class T , unsigned Dim>
OpalParticle PartBunchBase< T, Dim >::get_part ( int  ii)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::get_PBounds ( Vector_t min,
Vector_t max 
) const

Definition at line 1253 of file PartBunchBase.hpp.

References bounds().

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

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 1172 of file PartBunchBase.hpp.

References pow(), and sqrt().

Referenced by ParallelSliceTracker::execute(), 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>
Vector_t PartBunchBase< T, Dim >::get_rprms ( ) const

Definition at line 1148 of file PartBunchBase.hpp.

Referenced by StatWriter::write().

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

Definition at line 432 of file PartBunchBase.h.

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

Get gamma of one bin.

Definition at line 445 of file PartBunchBase.hpp.

Referenced by AmrBoxLib::computeSelfFields_cycl().

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

Definition at line 960 of file PartBunchBase.hpp.

References dot(), 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 1456 of file PartBunchBase.hpp.

References sum().

Referenced by StatWriter::write(), DataSink::writeImpactStatistics(), H5PartWrapperForPT::writeStepHeader(), H5PartWrapperForPC::writeStepHeader(), and H5PartWrapperForPS::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 1395 of file PartBunchBase.hpp.

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

Definition at line 2236 of file PartBunchBase.hpp.

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

Definition at line 1076 of file PartBunchBase.hpp.

Referenced by BeamStrippingPhysics::apply(), Corrector::apply(), CollimatorPhysics::apply(), Degrader::applyToReferenceParticle(), Monitor::applyToReferenceParticle(), ParallelSliceTracker::autophaseCavities(), ParallelTTracker::autophaseCavities(), ParallelCyclotronTracker::bgf_main_collision_test(), Bend2D::calculateBendAngle(), Bend2D::calculateRefTrajectory(), ParallelSliceTracker::changeDT(), ParallelTTracker::changeDT(), ParallelSliceTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), Distribution::createBoundaryGeometry(), BoundaryGeometry::createParticlesOnSurface(), BoundaryGeometry::createPriPart(), Distribution::createPriPart(), ThickTracker::dump_m(), Distribution::emitParticles(), ParallelTTracker::emitParticles(), ParallelSliceTracker::execute(), ParallelTTracker::execute(), ParallelSliceTracker::findStartPosition(), ParallelTTracker::findStartPosition(), Corrector::goOnline(), RBend3D::initialise(), ParallelCyclotronTracker::initializeTracking_m(), SecondaryEmissionPhysics::nSec(), ParallelTTracker::prepareEmission(), ParallelTTracker::selectDT(), ParallelTTracker::setTime(), P3MPoissonSolver::test(), ParallelSliceTracker::timeIntegration(), ParallelTTracker::timeIntegration2(), ParallelSliceTracker::updateReferenceParticle(), ParallelTTracker::updateReferenceParticle(), ParallelTTracker::updateRefToLabCSTrafo(), StatWriter::write(), ParallelSliceTracker::writePhaseSpace(), and ParallelTTracker::writePhaseSpace().

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

Definition at line 1783 of file PartBunchBase.hpp.

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

calculates back the max/min of the efield on the grid

Implemented in PartBunch, and AmrPartBunch.

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

Need Ek for the Schottky effect calculation (eV)

Definition at line 1430 of file PartBunchBase.hpp.

template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getEmissionDeltaT ( )
template<class T = double, unsigned Dim = 3>
virtual FieldLayout_t& PartBunchBase< T, Dim >::getFieldLayout ( )
pure virtual
template<class T , unsigned Dim>
std::string PartBunchBase< T, Dim >::getFieldSolverType ( ) const

Return the fieldsolver type if we have a fieldsolver.

Definition at line 1495 of file PartBunchBase.hpp.

Referenced by ParallelCyclotronTracker::computeSpaceChargeFields_m().

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

Definition at line 2241 of file PartBunchBase.hpp.

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

Definition at line 1620 of file PartBunchBase.hpp.

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

Definition at line 1633 of file PartBunchBase.hpp.

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

Definition at line 119 of file PartBunchBase.hpp.

References reduce().

Referenced by ParallelTTracker::emitParticles(), ParallelSliceTracker::selectDT(), and ParallelTTracker::selectDT().

Here is the call graph for this function:

template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getInitialBeta ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getInitialGamma ( ) const
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>
double PartBunchBase< T, Dim >::getLaserEnergy ( ) const

Need the laser energy for the Schottky effect calculation (eV)

Definition at line 1447 of file PartBunchBase.hpp.

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

Definition at line 133 of file PartBunchBase.hpp.

References 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 2271 of file PartBunchBase.hpp.

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

Definition at line 1247 of file PartBunchBase.hpp.

Referenced by LBalWriter::write().

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

Definition at line 973 of file PartBunchBase.hpp.

References dot(), 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 
)

Definition at line 939 of file PartBunchBase.hpp.

References Attrib::Distribution::R.

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

Definition at line 2230 of file PartBunchBase.hpp.

Referenced by CollimatorPhysics::addBackToBunch(), ThickTracker::advanceParticles_m(), CSRIGFWakeFunction::apply(), CSRWakeFunction::apply(), GreenWakeFunction::apply(), P3MPoissonSolver::applyConstantFocusing(), ThinTracker::applyDrift(), Tracker::applyDrift(), Monitor::applyToReferenceParticle(), Tracker::applyTransform(), ParallelCyclotronTracker::bgf_main_collision_test(), ParallelCyclotronTracker::borisExternalFields(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), ParallelCyclotronTracker::bunchDumpStatData(), ParallelCyclotronTracker::bunchMode_m(), MultiBunchHandler::calcBunchBeamParameters(), ParallelCyclotronTracker::calcMeanP(), ParallelCyclotronTracker::calcMeanR(), ParallelTTracker::changeDT(), BeamStripping::checkBeamStripping(), ParallelCyclotronTracker::checkNumPart(), P3MPoissonSolver::compute_temperature(), P3MPoissonSolver::computeAvgSpaceChargeForces(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelCyclotronTracker::computePathLengthUpdate(), ParallelTTracker::computeSpaceChargeFields(), ParallelTTracker::computeWakefield(), CollimatorPhysics::copyFromBunch(), Distribution::createBoundaryGeometry(), Distribution::createOpalCycl(), Distribution::createPriPart(), ParallelCyclotronTracker::deleteParticle(), Septum::doCheck(), Stripper::doCheck(), Probe::doCheck(), CCollimator::doCheck(), BeamStrippingPhysics::doPhysics(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), ParallelTTracker::evenlyDistributeParticles(), TrackSave::execute(), ParallelCyclotronTracker::finalizeTracking_m(), ParallelCyclotronTracker::globalToLocal(), Degrader::goOnline(), BeamStripping::initialise(), MultiBunchHandler::injectBunch(), ParallelCyclotronTracker::kick(), ParallelTTracker::kickParticles(), ParallelCyclotronTracker::localToGlobal(), SecondaryEmissionPhysics::nSec(), AmrBoxLib::postRegrid_m(), ParallelCyclotronTracker::push(), ParallelTTracker::pushParticles(), MultiBunchHandler::readBunch(), ParallelCyclotronTracker::rotateAroundX(), ParallelCyclotronTracker::rotateAroundZ(), ParallelCyclotronTracker::rotateWithQuaternion(), MultiBunchHandler::saveBunch(), BeamStrippingPhysics::secondaryParticles(), ParallelCyclotronTracker::seoMode_m(), ParallelTTracker::setTime(), ParallelCyclotronTracker::singleMode_m(), ParallelCyclotronTracker::singleParticleDump(), ParallelTTracker::timeIntegration2(), MapIntegrator::trackBunch(), MPSplitIntegrator::trackBunch(), ParallelTTracker::transformBunch(), ThickTracker::update_m(), ThinTracker::visitBeamBeam(), ThinTracker::visitCorrector(), ThinTracker::visitRBend(), ThinTracker::visitRFCavity(), ThinTracker::visitSBend(), ThinTracker::visitSeparator(), ThinTracker::visitSolenoid(), StatWriter::write(), ParallelTTracker::writePhaseSpace(), H5PartWrapperForPT::writeStepData(), and H5PartWrapperForPC::writeStepData().

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

Definition at line 1581 of file PartBunchBase.hpp.

References Hypervolume::n, and PAssert_LT.

Referenced by ParallelCyclotronTracker::deleteParticle().

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>
unsigned int PartBunchBase< T, Dim >::getMinimumNumberOfParticlesPerCore ( ) const

Definition at line 2256 of file PartBunchBase.hpp.

Referenced by CollimatorPhysics::copyFromBunch().

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

Definition at line 144 of file PartBunchBase.hpp.

Referenced by ParallelTTracker::prepareEmission().

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

Definition at line 345 of file PartBunchBase.hpp.

template<class T , unsigned Dim>
short PartBunchBase< T, Dim >::getNumBunch ( ) const
template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getP ( ) const
template<class T , unsigned Dim>
ParticleType::type PartBunchBase< T, Dim >::getPType ( ) const

Definition at line 1789 of file PartBunchBase.hpp.

Referenced by Stripper::doFinaliseCheck().

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

Reimplemented in EnvelopeBunch.

Definition at line 846 of file PartBunchBase.hpp.

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

Reimplemented in EnvelopeBunch.

Definition at line 864 of file PartBunchBase.hpp.

Referenced by Solenoid::addKT().

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

Reimplemented in EnvelopeBunch.

Definition at line 852 of file PartBunchBase.hpp.

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

Reimplemented in EnvelopeBunch.

Definition at line 870 of file PartBunchBase.hpp.

Referenced by Solenoid::addKT().

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

Reimplemented in EnvelopeBunch.

Definition at line 858 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 ( )

Definition at line 2349 of file PartBunchBase.hpp.

References Dim.

Referenced by ThickTracker::track_m().

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

Definition at line 1510 of file PartBunchBase.hpp.

Referenced by ParallelCyclotronTracker::initializeTracking_m().

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

Definition at line 282 of file PartBunchBase.hpp.

Referenced by ParallelTTracker::prepareEmission().

template<class T , unsigned Dim>
size_t PartBunchBase< T, Dim >::getTotalNum ( ) const
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 2276 of file PartBunchBase.hpp.

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

Need the work function for the Schottky effect calculation (eV)

Definition at line 1439 of file PartBunchBase.hpp.

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

Reimplemented in EnvelopeBunch.

Definition at line 898 of file PartBunchBase.hpp.

Referenced by Solenoid::addKT(), TravelingWave::addKT(), RFCavity::addKT(), and Multipole::addKT().

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

Reimplemented in EnvelopeBunch.

Definition at line 905 of file PartBunchBase.hpp.

Referenced by Solenoid::addKT(), TravelingWave::addKT(), RFCavity::addKT(), and Multipole::addKT().

template<class T , unsigned Dim>
double PartBunchBase< T, Dim >::getZ ( int  i)
virtual
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::ghostDestroy ( size_t  M,
size_t  I 
)

Definition at line 2339 of file PartBunchBase.hpp.

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

Definition at line 2324 of file PartBunchBase.hpp.

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

Definition at line 270 of file PartBunchBase.hpp.

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 ( )

Definition at line 1534 of file PartBunchBase.hpp.

Referenced by ParallelTTracker::execute().

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

Implemented in PartBunch, and AmrPartBunch.

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

Definition at line 264 of file PartBunchBase.hpp.

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

Definition at line 1860 of file PartBunchBase.hpp.

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

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 1041 of file PartBunchBase.hpp.

References max(), OpalParticle::pt(), OpalParticle::px(), OpalParticle::py(), OpalParticle::t(), OpalParticle::x(), and OpalParticle::y().

Here is the call graph for this function:

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)

Definition at line 1905 of file PartBunchBase.hpp.

References abs(), endl(), Inform::flags(), Util::getChargeString(), Util::getEnergyString(), Util::getLengthString(), Util::getTimeString(), level1(), and sum().

Referenced by PartBunch::print().

Here is the call graph for this function:

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

Definition at line 986 of file PartBunchBase.hpp.

References endl(), and Attrib::Distribution::R.

Referenced by Tracker::addToBunch(), and TrackStart::execute().

Here is the call graph for this function:

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

Definition at line 156 of file PartBunchBase.hpp.

References endl(), and reduce().

Referenced by ParallelTTracker::emitParticles().

Here is the call graph for this function:

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

Definition at line 336 of file PartBunchBase.hpp.

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

Definition at line 2291 of file PartBunchBase.hpp.

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

Reimplemented in PartBunch.

Definition at line 2125 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 1805 of file PartBunchBase.hpp.

Referenced by Stripper::doFinaliseCheck().

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

Definition at line 1743 of file PartBunchBase.hpp.

Referenced by MultiBunchHandler::updateParticleBins().

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 1691 of file PartBunchBase.hpp.

References endl(), ERRORMSG, floor(), INFOMSG, Hypervolume::n, pow(), reduce(), 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 1799 of file PartBunchBase.hpp.

Referenced by Stripper::doFinaliseCheck().

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

Reimplemented in PartBunch.

Definition at line 2119 of file PartBunchBase.hpp.

Referenced by TrackRun::setupTTracker().

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::set_meshEnlargement ( double  dh)
virtual
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::set_part ( FVector< double, 6 >  z,
int  ii 
)
template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::set_part ( OpalParticle  p,
int  ii 
)

Definition at line 1017 of file PartBunchBase.hpp.

References Attrib::Distribution::R.

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 2157 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 2151 of file PartBunchBase.hpp.

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

Reimplemented in AmrPartBunch, and PartBunch.

Definition at line 2163 of file PartBunchBase.hpp.

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

Definition at line 436 of file PartBunchBase.h.

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

Definition at line 2344 of file PartBunchBase.hpp.

References Physics::c.

Referenced by TrackRun::setupSliceTracker(), and 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 451 of file PartBunchBase.hpp.

References eq(), 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 457 of file PartBunchBase.hpp.

References eq(), and where().

Here is the call graph for this function:

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

Definition at line 1407 of file PartBunchBase.hpp.

References endl(), and WARNMSG.

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

Here is the call graph for this function:

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

Definition at line 1417 of file PartBunchBase.hpp.

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

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 247 of file PartBunchBase.hpp.

References Distribution::createOpalT().

Referenced by TrackRun::setDistributionParallelT().

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)

Definition at line 173 of file PartBunchBase.hpp.

Referenced by Distribution::initializeBeam().

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)

step in multiple TRACK commands

Definition at line 1516 of file PartBunchBase.hpp.

References Hypervolume::n.

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

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 363 of file PartBunchBase.hpp.

Referenced by ParallelCyclotronTracker::deleteParticle().

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

Definition at line 2251 of file PartBunchBase.hpp.

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)

Definition at line 1423 of file PartBunchBase.hpp.

Referenced by TrackRun::setupCyclotronTracker().

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

Definition at line 2261 of file PartBunchBase.hpp.

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

Definition at line 307 of file PartBunchBase.hpp.

References endl().

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

Here is the call graph for this function:

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

Definition at line 315 of file PartBunchBase.hpp.

template<class T , unsigned Dim>
void PartBunchBase< T, Dim >::setPType ( ParticleType::type  type)

Definition at line 1794 of file PartBunchBase.hpp.

Referenced by Stripper::doCheck().

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 1468 of file PartBunchBase.hpp.

References Hypervolume::fs, and OpalData::getInstance().

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)

Definition at line 1504 of file PartBunchBase.hpp.

References Hypervolume::n.

Referenced by TrackRun::setupCyclotronTracker().

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

Definition at line 1639 of file PartBunchBase.hpp.

References Hypervolume::n.

Referenced by H5PartWrapperForPC::readStepHeader().

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 276 of file PartBunchBase.hpp.

Referenced by Distribution::initializeBeam().

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

Definition at line 2246 of file PartBunchBase.hpp.

Referenced by ParallelCyclotronTracker::deleteParticle().

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

Definition at line 2176 of file PartBunchBase.hpp.

References AbstractParticle< T, Dim >::addAttribute(), Options::asciidump, IpplInfo::getNodes(), and IpplTimings::getTimer().

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

Here is the call graph for this function:

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

Definition at line 2281 of file PartBunchBase.hpp.

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

Reimplemented in EnvelopeBunch.

Definition at line 911 of file PartBunchBase.hpp.

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

Definition at line 2286 of file PartBunchBase.hpp.

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

Reimplemented in PartBunch.

Definition at line 2130 of file PartBunchBase.hpp.

References Attrib::Distribution::R.

Referenced by PartBunch::swap().

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 2296 of file PartBunchBase.hpp.

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

Referenced by P3MPoissonSolver::test().

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 2305 of file PartBunchBase.hpp.

References 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

Implemented in AmrPartBunch, and PartBunch.

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 2169 of file PartBunchBase.hpp.

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
template<class T = double, unsigned Dim = 3>
std::unique_ptr<size_t[]> PartBunchBase< T, Dim >::binemitted_m
protected

Definition at line 650 of file PartBunchBase.h.

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

holds the gamma of the bin

Definition at line 645 of file PartBunchBase.h.

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

Definition at line 544 of file PartBunchBase.h.

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

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

Definition at line 543 of file PartBunchBase.h.

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

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

Definition at line 545 of file PartBunchBase.h.

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

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

Definition at line 666 of file PartBunchBase.h.

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

number of particles per bunch

Definition at line 665 of file PartBunchBase.h.

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

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

Definition at line 628 of file PartBunchBase.h.

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

Definition at line 683 of file PartBunchBase.h.

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

derivative of the dispersion

Definition at line 617 of file PartBunchBase.h.

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

Definition at line 618 of file PartBunchBase.h.

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

energy spread of the beam in MeV

Definition at line 575 of file PartBunchBase.h.

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

Definition at line 531 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

Mesh enlargement.

Definition at line 639 of file PartBunchBase.h.

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

Definition at line 39 of file PartBunchBase.h.

Referenced by AmrBoxLib::getEExtrema().

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

Definition at line 680 of file PartBunchBase.h.

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

counter to store the distribution dump

Definition at line 633 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
IpplTimings::TimerRef PartBunchBase< T, Dim >::distrCreate_m
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 569 of file PartBunchBase.h.

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

Definition at line 531 of file PartBunchBase.h.

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

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

dispersion x & y

Definition at line 613 of file PartBunchBase.h.

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

Definition at line 614 of file PartBunchBase.h.

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

Definition at line 489 of file PartBunchBase.h.

Referenced by AmrBoxLib::computeSelfFields_cycl().

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

mean energy of the bunch (MeV)

Definition at line 573 of file PartBunchBase.h.

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

rms emittance (not normalized)

Definition at line 602 of file PartBunchBase.h.

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

rms normalized emittance

Definition at line 605 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
std::unique_ptr<std::ofstream> PartBunchBase< T, Dim >::f_stream

Definition at line 524 of file PartBunchBase.h.

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

Definition at line 636 of file PartBunchBase.h.

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

if the grid does not have to adapt

Definition at line 515 of file PartBunchBase.h.

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

stores the used field solver

Definition at line 626 of file PartBunchBase.h.

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

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

Definition at line 677 of file PartBunchBase.h.

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

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

Definition at line 585 of file PartBunchBase.h.

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

if multiple TRACK commands

Definition at line 659 of file PartBunchBase.h.

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

Definition at line 607 of file PartBunchBase.h.

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

Definition at line 548 of file PartBunchBase.h.

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

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

meshspacing of cartesian mesh

Definition at line 621 of file PartBunchBase.h.

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

step in a TRACK command

Definition at line 656 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
std::unique_ptr<LossDataSink> PartBunchBase< T, Dim >::lossDs_m

Definition at line 520 of file PartBunchBase.h.

Referenced by Septum::doCheck(), and PartBunchBase< T, Dim >::PartBunchBase().

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

if a local node has less than 2 particles lowParticleCount_m == true

Definition at line 534 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
ParticleAttrib< double > PartBunchBase< T, Dim >::M
template<class T = double, unsigned Dim = 3>
FMatrix<double, 2 * Dim, 2 * Dim> PartBunchBase< T, Dim >::moments_m
protected

6x6 matrix of the moments of the beam

Definition at line 566 of file PartBunchBase.h.

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

avoid calls to Ippl::myNode()

Definition at line 509 of file PartBunchBase.h.

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

avoid calls to Ippl::getNodes()

Definition at line 512 of file PartBunchBase.h.

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

meshsize of cartesian mesh

Definition at line 623 of file PartBunchBase.h.

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

current bunch number

Definition at line 662 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
ParticleAttrib< Vector_t > PartBunchBase< T, Dim >::P

Definition at line 484 of file PartBunchBase.h.

Referenced by CollimatorPhysics::addBackToBunch(), Stepper< FieldFunction, Arguments...>::advance(), ThickTracker::advanceParticles_m(), Source::apply(), FlexibleCollimator::apply(), VerticalFFAMagnet::apply(), Solenoid::apply(), CyclotronValley::apply(), ScalingFFAMagnet::apply(), Degrader::apply(), ParallelPlate::apply(), RBend3D::apply(), SBend3D::apply(), Corrector::apply(), TravelingWave::apply(), Monitor::apply(), VariableRFCavity::apply(), VariableRFCavityFringeField::apply(), Ring::apply(), RFCavity::apply(), MultipoleTBase::apply(), MultipoleT::apply(), Cyclotron::apply(), Monitor::applyToReferenceParticle(), ParallelCyclotronTracker::bgf_main_collision_test(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), ParallelCyclotronTracker::bunchDumpStatData(), ParallelCyclotronTracker::bunchMode_m(), MultiBunchHandler::calcBunchBeamParameters(), ParallelCyclotronTracker::calcMeanP(), PluginElement::changeWidth(), P3MPoissonSolver::compute_temperature(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelCyclotronTracker::computePathLengthUpdate(), ParallelTTracker::computeWakefield(), CollimatorPhysics::copyFromBunch(), Distribution::createBoundaryGeometry(), Distribution::createPriPart(), ParallelCyclotronTracker::deleteParticle(), LF2< FieldFunction, Arguments >::doAdvance_m(), RK4< FieldFunction, Arguments >::doAdvance_m(), Septum::doCheck(), Stripper::doCheck(), Probe::doCheck(), CCollimator::doCheck(), BeamStrippingPhysics::doPhysics(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), BoundaryGeometry::emitSecondaryFurmanPivi(), BoundaryGeometry::emitSecondaryVaughan(), ParallelTTracker::evenlyDistributeParticles(), ParallelCyclotronTracker::finalizeTracking_m(), ParallelCyclotronTracker::gapCrossKick_m(), ParallelCyclotronTracker::initDistInGlobalFrame(), Distribution::injectBeam(), ParallelCyclotronTracker::kick(), LF2< FieldFunction, Arguments >::kick_m(), ParallelTTracker::kickParticles(), ParallelCyclotronTracker::MtsTracker(), SecondaryEmissionPhysics::nSec(), ParallelCyclotronTracker::push(), ParallelTTracker::pushParticles(), MultiBunchHandler::readBunch(), H5PartWrapperForPT::readStepData(), H5PartWrapperForPC::readStepData(), ParallelCyclotronTracker::RFkick(), MultiBunchHandler::saveBunch(), ParallelCyclotronTracker::seoMode_m(), ParallelCyclotronTracker::singleMode_m(), ParallelCyclotronTracker::singleParticleDump(), AmrBoxLib::tagForMomenta_m(), P3MPoissonSolver::test(), 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
protected
template<class T = double, unsigned Dim = 3>
PartBins* PartBunchBase< T, Dim >::pbin_m

Definition at line 518 of file PartBunchBase.h.

Referenced by MultiBunchHandler::MultiBunchHandler().

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

Definition at line 684 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
ParticleAttrib< double > PartBunchBase< T, Dim >::Phi
template<class T = double, unsigned Dim = 3>
Vector_t PartBunchBase< T, Dim >::pmean_m
protected

mean momenta

Definition at line 599 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
std::unique_ptr<Inform> PartBunchBase< T, Dim >::pmsg_m

Definition at line 523 of file PartBunchBase.h.

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

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

rms momenta

Definition at line 595 of file PartBunchBase.h.

template<class T = double, unsigned Dim = 3>
ParticleAttrib< short > PartBunchBase< T, Dim >::PType
template<class T = double, unsigned Dim = 3>
ParticleAttrib< double > PartBunchBase< T, Dim >::Q
template<class T = double, unsigned Dim = 3>
double PartBunchBase< T, Dim >::qi_m
protected

Definition at line 630 of file PartBunchBase.h.

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

Definition at line 479 of file PartBunchBase.h.

Referenced by CollimatorPhysics::addBackToBunch(), Stepper< FieldFunction, Arguments...>::advance(), ThickTracker::advanceParticles_m(), CSRIGFWakeFunction::apply(), CSRWakeFunction::apply(), Source::apply(), FlexibleCollimator::apply(), GreenWakeFunction::apply(), VerticalFFAMagnet::apply(), Solenoid::apply(), CyclotronValley::apply(), ScalingFFAMagnet::apply(), Degrader::apply(), ParallelPlate::apply(), RBend3D::apply(), SBend3D::apply(), Bend2D::apply(), Corrector::apply(), TravelingWave::apply(), Monitor::apply(), VariableRFCavity::apply(), VariableRFCavityFringeField::apply(), Ring::apply(), Component::apply(), RFCavity::apply(), Multipole::apply(), MultipoleTBase::apply(), MultipoleT::apply(), Cyclotron::apply(), P3MPoissonSolver::applyConstantFocusing(), ParallelCyclotronTracker::applyPluginElements(), Monitor::applyToReferenceParticle(), ParallelCyclotronTracker::bgf_main_collision_test(), ParallelCyclotronTracker::bunchDumpPhaseSpaceData(), ParallelCyclotronTracker::bunchDumpStatData(), ParallelCyclotronTracker::bunchMode_m(), MultiBunchHandler::calcBunchBeamParameters(), ParallelCyclotronTracker::calcMeanR(), P3MPoissonSolver::calculateGridForces(), BeamStripping::checkBeamStripping(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), AmrBoxLib::computeSelfFields_cycl(), ParallelTTracker::computeSpaceChargeFields(), ParallelCyclotronTracker::computeSpaceChargeFields_m(), ParallelTTracker::computeWakefield(), CollimatorPhysics::copyFromBunch(), Distribution::createBoundaryGeometry(), Distribution::createPriPart(), ParallelCyclotronTracker::deleteParticle(), RK4< FieldFunction, Arguments >::derivate_m(), LF2< FieldFunction, Arguments >::doAdvance_m(), RK4< FieldFunction, Arguments >::doAdvance_m(), Septum::doCheck(), Stripper::doCheck(), Probe::doCheck(), CCollimator::doCheck(), BeamStrippingPhysics::doPhysics(), Distribution::doRestartOpalCycl(), Distribution::emitParticles(), BoundaryGeometry::emitSecondaryFurmanPivi(), BoundaryGeometry::emitSecondaryVaughan(), ParallelTTracker::evenlyDistributeParticles(), ParallelCyclotronTracker::gapCrossKick_m(), ParallelCyclotronTracker::initDistInGlobalFrame(), Distribution::injectBeam(), ParallelCyclotronTracker::kick(), LF2< FieldFunction, Arguments >::kick_m(), ParallelTTracker::kickParticles(), ParallelCyclotronTracker::MtsTracker(), SecondaryEmissionPhysics::nSec(), ApplyField< T >::operator()(), ParallelCyclotronTracker::push(), ParallelTTracker::pushParticles(), MultiBunchHandler::readBunch(), H5PartWrapperForPT::readStepData(), H5PartWrapperForPC::readStepData(), ParallelCyclotronTracker::RFkick(), MultiBunchHandler::saveBunch(), ParallelCyclotronTracker::seoMode_m(), ParallelCyclotronTracker::singleMode_m(), ParallelCyclotronTracker::singleParticleDump(), AmrBoxLib::tagForChargeDensity_m(), AmrBoxLib::tagForMaxNumParticles_m(), AmrBoxLib::tagForMinNumParticles_m(), AmrBoxLib::tagForMomenta_m(), P3MPoissonSolver::test(), 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

Definition at line 551 of file PartBunchBase.h.

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

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

Definition at line 504 of file PartBunchBase.h.

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

maximal extend of particles

Definition at line 588 of file PartBunchBase.h.

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

mean position (m)

Definition at line 597 of file PartBunchBase.h.

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

minimal extend of particles

Definition at line 590 of file PartBunchBase.h.

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

rms correlation

Definition at line 610 of file PartBunchBase.h.

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

rms beam size (m)

Definition at line 593 of file PartBunchBase.h.

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

timer for selfField calculation

Definition at line 537 of file PartBunchBase.h.

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

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

the position along design trajectory

Definition at line 577 of file PartBunchBase.h.

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

Definition at line 560 of file PartBunchBase.h.

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

Definition at line 546 of file PartBunchBase.h.

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

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

steps per turn for OPAL-cycl

Definition at line 653 of file PartBunchBase.h.

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

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

holds the actual time of the integration

Definition at line 571 of file PartBunchBase.h.

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

in % how much the mesh is enlarged

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

Definition at line 642 of file PartBunchBase.h.

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

Definition at line 559 of file PartBunchBase.h.


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