1#ifndef G_VIEW_ISOCHRONS
2#define G_VIEW_ISOCHRONS
38 const std::vector<std::array<double, 3> >& points,
39 const bool rev =
false,
const bool colour =
false,
40 const bool markers =
false,
41 const bool plotDriftLines =
true);
89 const double tstep,
const std::vector<std::array<double, 3> >& points,
90 std::vector<std::vector<std::array<double, 3> > >& driftLines,
91 std::vector<std::array<double, 3> >& startPoints,
92 std::vector<std::array<double, 3> >& endPoints,
93 std::vector<int>& statusCodes,
const bool rev =
false);
95 std::vector<std::pair<std::array<double, 4>,
unsigned int> >& contour,
ViewBase()=delete
Default constructor.
void SetComponent(Component *c)
Set the component.
void CheckCrossings(const bool on=true)
Check (or not) that drift-lines do not cross isochrons (default: check is done).
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)
Draw equal time contour lines.
void ComputeDriftLines(const double tstep, const std::vector< std::array< double, 3 > > &points, std::vector< std::vector< std::array< double, 3 > > > &driftLines, std::vector< std::array< double, 3 > > &startPoints, std::vector< std::array< double, 3 > > &endPoints, std::vector< int > &statusCodes, const bool rev=false)
void SortContour(std::vector< std::pair< std::array< double, 4 >, unsigned int > > &contour, bool &circle)
void SetConnectionThreshold(const double thr)
Fractional distance over which isochron segments are connected (default: 0.2).
~ViewIsochrons()=default
Destructor.
void DriftElectrons(const bool positive=false)
Request electron drift lines with negative (default) or positive charge.
void SetAspectRatioSwitch(const double ar)
Set the aspect ratio above which an isochron is considered linear (as opposed to circular).
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)
Fractional distance between two points for closing a circular isochron (default: 0....
double m_connectionThreshold
void SetSensor(Sensor *s)
Set the sensor.