36#ifndef AMR_PARTICLE_BASE_H
37#define AMR_PARTICLE_BASE_H
45template<
class PLayout>
98 void destroy(
size_t M,
size_t I,
bool doNow =
false);
113 void update(
int lev_min,
int lev_max,
bool isRegrid =
false);
ParticleLayout< T, Dim > PLayout
PLayout::ParticlePos_t ParticlePos_t
void setLorentzFactor(const Vector_t &lorentzFactor)
bool isForbidTransform() const
const double & getScalingFactor() const
const PLayout & getAmrLayout() const
AmrParticleBase(PLayout *layout)
std::vector< SortListIndex_t > SortList_t
void getGlobalBounds_m(Vector_t &rmin, Vector_t &rmax)
AmrParticleLevelCounter< size_t, size_t > ParticleLevelCounter_t
void performDestroy(bool updateLocalNum=false)
ParticleLevelCounter_t & getLocalNumPerLevel()
ParticleLevelCounter_t LocalNumPerLevel_m
void update(const ParticleAttrib< char > &canSwap)
IpplTimings::TimerRef sortParticlesTimer_m
PLayout::AmrVectorField_t AmrVectorField_t
const ParticleLevelCounter_t & getLocalNumPerLevel() const
void getLocalBounds_m(Vector_t &rmin, Vector_t &rmax)
void setLocalNumPerLevel(const ParticleLevelCounter_t &LocalNumPerLevel)
IpplTimings::TimerRef domainMappingTimer_m
void update(int lev_min, int lev_max, bool isRegrid=false)
PLayout::AmrField_t AmrField_t
void createWithID(unsigned id)
std::vector< ParticleAttribBase * > attrib_container_t
PLayout::AmrScalarFieldContainer_t AmrScalarFieldContainer_t
void sort(SortList_t &sortlist)
PLayout::AmrVectorFieldContainer_t AmrVectorFieldContainer_t
IpplTimings::TimerRef updateParticlesTimer_m
PLayout::SingleParticlePos_t SingleParticlePos_t
PLayout::ParticleIndex_t ParticleIndex_t
void destroy(size_t M, size_t I, bool doNow=false)
void setForbidTransform(bool forbidTransform)
const double & domainMapping(bool inverse=false)
void addAttribute(ParticleAttribBase &pa)
Vektor< T, Dim > SingleParticlePos_t
Timing::TimerRef TimerRef
Vektor< double, 3 > Vector_t