21#ifndef OPAL_FieldSolver_HH
22#define OPAL_FieldSolver_HH
35template <
class T,
unsigned Dim>
152 std::unique_ptr<Layout_t>
PL_m;
170 return fs.printInfo(os);
Inform & operator<<(Inform &os, const FieldSolver &fs)
The base class for all OPAL definitions.
Layout_t & getParticleLayout()
virtual void update()
Update the field solver data.
std::unique_ptr< Layout_t > PL_m
The particle layout.
void setMT(double)
Store emittance for mode 3.
unsigned int getInteractionRadius()
void initCartesianFields()
double getMY() const
Return meshsize.
FieldLayout_t * getFieldLayout()
std::string getTagging_m() const
Mesh_t * mesh_m
The cartesian mesh.
const AmrObject * getAmrObject() const
PartBunchBase< double, 3 > * itsBunch_m
all the particles are here ...
PoissonSolver * solver_m
the actual solver, should be a base object
Inform & printInfo(Inform &os) const
bool isAmrSolverType() const
static FieldSolver * find(const std::string &name)
Find named FieldSolver.
FieldSolver()
Exemplar constructor.
void setFieldSolverType()
virtual void execute()
Execute (init) the field solver data.
double getMX() const
Return meshsize.
void operator=(const FieldSolver &)
FieldLayout_t * FL_m
The field layout f.
FieldSolverType getFieldSolverType() const
AmrObject * getAmrObject()
std::unique_ptr< AmrObject > itsAmrObject_mp
void setMY(double)
Store emittance for mode 2.
double getMT() const
Return meshsize.
FieldSolver(const FieldSolver &)
void setMX(double)
Store emittance for mode 1.
virtual FieldSolver * clone(const std::string &name)
Make clone.
void initSolver(PartBunchBase< double, 3 > *b)