1#ifndef G_VIEW_ISOCHRONS
2#define G_VIEW_ISOCHRONS
35 const std::vector<std::array<double, 3> >& points,
36 const bool rev =
false,
37 const bool colour =
false,
const bool markers =
false,
38 const bool plotDriftLines =
true);
43 m_particle = Particle::Electron;
44 m_positive = positive;
48 m_particle = Particle::Ion;
49 m_positive = !negative;
67 Sensor* m_sensor =
nullptr;
70 enum class Particle { Electron = 0, Ion };
72 Particle m_particle = Particle::Electron;
73 bool m_positive =
false;
75 short m_markerStyle = 5;
76 short m_lineStyle = 2;
78 bool m_sortContours =
true;
79 double m_aspectRatio = 3.;
80 double m_loopThreshold = 0.2;
81 double m_connectionThreshold = 0.2;
82 bool m_checkCrossings =
true;
86 void ComputeDriftLines(
const double tstep,
87 const std::vector<std::array<double, 3> >& points,
88 std::vector<std::vector<std::array<double, 3> > >& driftLines,
89 std::vector<std::array<double, 3> >& startPoints,
90 std::vector<std::array<double, 3> >& endPoints,
91 std::vector<int>& statusCodes,
const bool rev =
false);
93 std::vector<std::pair<std::array<double, 4>,
unsigned int> >& contour,
Abstract base class for components.
Base class for visualization classes.
Draw equal time contour lines.
void SetComponent(Component *c)
Set the component.
void CheckCrossings(const bool on=true)
void DriftIons(const bool negative=false)
Request ion drift lines with positive (default) or negative charge.
void PlotIsochrons(const double tstep, const std::vector< std::array< double, 3 > > &points, const bool rev=false, const bool colour=false, const bool markers=false, const bool plotDriftLines=true)
void SetConnectionThreshold(const double thr)
~ViewIsochrons()=default
Destructor.
void DriftElectrons(const bool positive=false)
void SetAspectRatioSwitch(const double ar)
void EnableSorting(const bool on=true)
Sort (or not) the points on a contour line (default: sorting is done).
ViewIsochrons()
Constructor.
void SetLoopThreshold(const double thr)
void SetSensor(Sensor *s)
Set the sensor.