19#ifndef OPAL_PartBunch_HH
20#define OPAL_PartBunch_HH
22#include "Algorithms/PartBunch.h"
26 typedef IpplParticleBase<Layout_t>
pbase_t;
88 void swap(
unsigned int i,
unsigned int j);
107 BConds<double, 3, Mesh_t, Center_t>
bc_m;
116 return pbase_m->getLayout();
121 return pbase_m->getLayout();
126 return rho_m[x][y][z].get();
131 return layout->getLayout().getMesh();
136 return layout->getLayout().getMesh();
Inform & operator<<(Inform &os, PartBunch &p)
ippl::UniformCartesian< double, 3 > Mesh_t
void updateDomainLength(Vector_t< int, 3 > &grid)
void updateFields(const Vector_t< T, Dim > &, const Vector_t< T, Dim > &origin)
ParticleLayout< double, 3 > & getLayout()
const Mesh_t & getMesh() const
VectorPair_t getEExtrema()
std::pair< Vector_t< double, 3 >, Vector_t< double, 3 > > VectorPair_t
static const unsigned Dimension
PartBunch & operator=(const PartBunch &)=delete
PartBunch(const PartBunch &)=delete
IpplParticleBase< Layout_t > pbase_t
const ParticleLayout< double, 3 > & getLayout() const
VField_t eg_m
vector field on the grid
Field_t rho_m
scalar potential
double getRho(int x, int y, int z)
Inform & print(Inform &os)
bool interpolationCacheSet_m
void swap(unsigned int i, unsigned int j)
void resizeMesh()
resize mesh to geometry specified
BConds< double, 3, Mesh_t, Center_t > bc_m
for defining the boundary conditions
BConds< Vector_t< double, 3 >, 3, Mesh_t, Center_t > vbc_m
ParticleAttrib< CacheDataCIC< double, 3U > > interpolationCache_m
void initialize(FieldLayout_t< Dim > &fl, Mesh_t< Dim > &mesh)
Inform & print(Inform &os)
FieldLayout_t & getFieldLayout()
void computeSelfFields(int b)
/brief used for self fields with binned distribution
void resetInterpolationCache(bool clearCache=false)