44 #define GEOMPLOT_HPP 1
92 std::vector<double> _eqlines_manual;
95 bool _qm_discretation;
104 void reset_graphs(
void );
138 return( _eqlines_manual );
153 return( _eqlines_auto );
207 return( _fieldplot_sel );
225 return( _fieldplot_zscale );
249 return( _particle_div );
263 return( _qm_discretation );
311 return( _geom->
origo(_vb[2])+_level*_geom->
h() );
316 int vb(
int i )
const {
void set_fieldgraph_stepped_palette(int steps)
Set stepped palette.
void set_particle_div(size_t particle_div)
Set particle divisor.
Graph for plotting solids.
void set_particledatabase(const ParticleDataBase *pdb)
Set particle database used for particle plotting.
void set_bfield(const VectorField *bfield)
Set magnetic field.
Definition: geomplot.hpp:158
void set_view(view_e view, int level=-1)
Set view.
Abstract base class for vector field.
Definition: vectorfield.hpp:53
A 2D cut view of the geometry solids.
Definition: solidgraph.hpp:59
view_e
View types.
Definition: graph3d.hpp:53
GeomPlot(Frame *frame, const Geometry *geom)
Constructor for new geometry plot.
int vb(int i) const
Get component i of view base vector.
Definition: geomplot.hpp:316
void get_vb(int vb[3]) const
Get the view base vector.
Definition: geomplot.hpp:322
size_t get_particle_div(void) const
Get particle divisor.
Definition: geomplot.hpp:248
view_e get_view(void) const
Get view.
Definition: geomplot.hpp:298
Vec3D origo(void) const
Returns origo vector of geometry.
Definition: mesh.hpp:128
Equipotential line plot.
Definition: eqpotgraph.hpp:58
void disable_cache(void)
Disable plotting caches from use.
double get_level_si(void) const
Get level of view in SI units.
Definition: geomplot.hpp:310
void set_scharge(const ScalarField *scharge)
Set space charge density field.
const VectorField * get_efield(void) const
Get electric field.
Definition: geomplot.hpp:176
Class for drawing fields with colormap.
Definition: fieldgraph.hpp:60
bool get_mesh(void) const
Get mesh plotting.
Definition: geomplot.hpp:275
Geometry defining class.
Definition: geometry.hpp:131
bool get_qm_discretation(void) const
Get q/m particle discretation.
Definition: geomplot.hpp:262
const VectorField * get_bfield(void) const
Get magnetic field.
Definition: geomplot.hpp:164
~GeomPlot()
Destructor for geometry plotter.
int get_level(void) const
Get level of view in mesh squares.
Definition: geomplot.hpp:304
double h(void) const
Returns mesh cell size.
Definition: mesh.hpp:146
void set_fieldgraph_zscale(zscale_e zscale)
Set field graph zscale setting.
void set_fieldgraph_plot(field_type_e fieldplot)
Set field graph plotting type.
void set_efield(const VectorField *efield)
Set electric field.
Definition: geomplot.hpp:170
Class for drawing particle trajectories.
Definition: particlegraph.hpp:68
void set_view_si(view_e view, double level)
Set view in SI units.
Graph of rectangular mesh for geometry plots
zscale_e get_fieldgraph_zscale(void) const
Get field graph zscale setting.
Definition: geomplot.hpp:224
field_type_e
Field type.
Definition: types.hpp:88
const ScalarField * get_scharge(void) const
Get space charge density field.
Definition: geomplot.hpp:196
void set_mesh(bool enable)
Set mesh plotting.
void set_eqlines_manual(const std::vector< double > &pot)
Set a vector of manual equipotential lines.
Graph for plotting fields
zscale_e
Definition: colormap.hpp:63
std::vector< double > get_eqlines_manual(void) const
Get a vector of manual equipotential lines.
Definition: geomplot.hpp:137
General purpose plotter frame for cairographics surfaces.
Definition: frame.hpp:107
void set_trajdens(const ScalarField *tdens)
Set trajectory density field.
size_t get_eqlines_auto(void) const
Get the number of automatic equipotential lines.
Definition: geomplot.hpp:152
const ScalarField * get_trajdens(void) const
Get trajectory density field.
Definition: geomplot.hpp:186
Class for drawing mesh.
Definition: meshgraph.hpp:55
void set_qm_discretation(bool enable)
Set q/m particle discretation.
void set_epot(const ScalarField *epot)
Set the electric potential field.
field_type_e get_fieldgraph_plot(void) const
Get field graph plotting type.
Definition: geomplot.hpp:206
Graph for plotting equipotential lines
void set_particle_database(const ParticleDataBase *pdb)
Set particle database used for particle plotting.
Definition: geomplot.hpp:230
void set_eqlines_auto(size_t N)
Set the number of automatic equipotential lines.
Geometry plotter class.
Definition: geomplot.hpp:69
Scalar field class.
Definition: scalarfield.hpp:70
Particle database base class.
Definition: particledatabase.hpp:167