Garfield++ 3.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Draw equal time contour lines. More...
#include <ViewIsochrons.hh>
Public Member Functions | |
ViewIsochrons () | |
Constructor. | |
~ViewIsochrons ()=default | |
Destructor. | |
void | SetSensor (Sensor *s) |
Set the sensor. | |
void | SetComponent (ComponentBase *c) |
Set the component. | |
void | SetArea (const double xmin, const double ymin, const double xmax, const double ymax) |
Set the viewing area (in local coordinates of the current viewing plane). | |
void | SetArea () |
Set the viewing area based on the bounding box of the sensor/component. | |
void | SetPlane (const double fx, const double fy, const double fz, const double x0, const double y0, const double z0) |
void | SetDefaultProjection () |
Set the default viewing plane ( - at ). | |
void | Rotate (const double angle) |
Rotate the viewing plane (angle in radian). | |
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 | DriftElectrons (const bool positive=false) |
void | DriftIons (const bool negative=false) |
Request ion drift lines with positive (default) or negative charge. | |
void | EnableSorting (const bool on=true) |
Sort (or not) the points on a contour line (default: sorting is done). | |
void | CheckCrossings (const bool on=true) |
void | SetAspectRatioSwitch (const double ar) |
void | SetLoopThreshold (const double thr) |
void | SetConnectionThreshold (const double thr) |
Public Member Functions inherited from Garfield::ViewBase | |
ViewBase ()=delete | |
Default constructor. | |
ViewBase (const std::string &name) | |
Constructor. | |
virtual | ~ViewBase () |
Destructor. | |
void | SetCanvas (TCanvas *c) |
Set the canvas to be painted on. | |
TCanvas * | GetCanvas () |
Retrieve the canvas. | |
void | EnableDebugging (const bool on=true) |
Switch on/off debugging output. | |
Additional Inherited Members | |
Protected Member Functions inherited from Garfield::ViewBase | |
std::string | FindUnusedFunctionName (const std::string &s) const |
std::string | FindUnusedHistogramName (const std::string &s) const |
Protected Attributes inherited from Garfield::ViewBase | |
std::string | m_className = "ViewBase" |
bool | m_debug = false |
TCanvas * | m_canvas = nullptr |
bool | m_hasExternalCanvas = false |
double | m_proj [3][3] |
Draw equal time contour lines.
Definition at line 13 of file ViewIsochrons.hh.
Garfield::ViewIsochrons::ViewIsochrons | ( | ) |
Constructor.
Definition at line 135 of file ViewIsochrons.cc.
|
default |
Destructor.
|
inline |
Check (or not) that drift-lines do not cross isochrons (default: check is done).
Definition at line 72 of file ViewIsochrons.hh.
|
inline |
Request electron drift lines with negative (default) or positive charge.
Definition at line 59 of file ViewIsochrons.hh.
|
inline |
Request ion drift lines with positive (default) or negative charge.
Definition at line 64 of file ViewIsochrons.hh.
|
inline |
Sort (or not) the points on a contour line (default: sorting is done).
Definition at line 69 of file ViewIsochrons.hh.
void Garfield::ViewIsochrons::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.
tstep | Time interval. |
points | List of starting points. |
rev | If true, the drift time is measured from the end points of the drift lines. |
colour | Draw contour lines using colours. |
markers | Draw markers (as opposed to lines). |
plotDriftLines | Draw drift lines together with the isochrons. |
Definition at line 204 of file ViewIsochrons.cc.
void Garfield::ViewIsochrons::Rotate | ( | const double | angle | ) |
Rotate the viewing plane (angle in radian).
Definition at line 814 of file ViewIsochrons.cc.
|
inline |
Set the viewing area based on the bounding box of the sensor/component.
Definition at line 29 of file ViewIsochrons.hh.
void Garfield::ViewIsochrons::SetArea | ( | const double | xmin, |
const double | ymin, | ||
const double | xmax, | ||
const double | ymax | ||
) |
Set the viewing area (in local coordinates of the current viewing plane).
Definition at line 159 of file ViewIsochrons.cc.
void Garfield::ViewIsochrons::SetAspectRatioSwitch | ( | const double | ar | ) |
Set the aspect ratio above which an isochron is considered linear (as opposed to circular).
Definition at line 175 of file ViewIsochrons.cc.
void Garfield::ViewIsochrons::SetComponent | ( | ComponentBase * | c | ) |
Set the component.
Definition at line 149 of file ViewIsochrons.cc.
void Garfield::ViewIsochrons::SetConnectionThreshold | ( | const double | thr | ) |
Fractional distance over which isochron segments are connected (default: 0.2).
Definition at line 194 of file ViewIsochrons.cc.
void Garfield::ViewIsochrons::SetDefaultProjection | ( | ) |
Set the default viewing plane ( - at ).
Definition at line 520 of file ViewIsochrons.cc.
Referenced by ViewIsochrons().
void Garfield::ViewIsochrons::SetLoopThreshold | ( | const double | thr | ) |
Fractional distance between two points for closing a circular isochron (default: 0.2).
Definition at line 184 of file ViewIsochrons.cc.
void Garfield::ViewIsochrons::SetPlane | ( | const double | fx, |
const double | fy, | ||
const double | fz, | ||
const double | x0, | ||
const double | y0, | ||
const double | z0 | ||
) |
Set the projection (viewing plane).
fx,fy,fz | normal vector |
x0,y0,z0 | in-plane point |
Definition at line 773 of file ViewIsochrons.cc.
void Garfield::ViewIsochrons::SetSensor | ( | Sensor * | s | ) |
Set the sensor.
Definition at line 139 of file ViewIsochrons.cc.