![]() |
Garfield 0.3
Toolkit for the detailed simulation of particle detectors based on ionization measurement in gases and semiconductors
|
Base class for visualization classes. More...
#include <ViewBase.hh>
Public Member Functions | |
| ViewBase ()=delete | |
| Default constructor. | |
| ViewBase (const std::string &name) | |
| Constructor. | |
| virtual | ~ViewBase ()=default |
| Destructor. | |
| void | SetCanvas (TPad *pad) |
| Set the canvas to be painted on. | |
| void | SetCanvas () |
| Unset an external canvas. | |
| TPad * | GetCanvas () |
| Retrieve the canvas. | |
| void | SetArea (const double xmin, const double ymin, const double xmax, const double ymax) |
| Set the x- and y-axis limits (in local coordinates of the current viewing plane, if applicable). | |
| virtual void | SetArea (const double xmin, const double ymin, const double zmin, const double xmax, const double ymax, const double zmax) |
| Set a bounding box (if applicable). | |
| void | SetArea () |
| Use default x- and y-axis limits (based on the bounding box of the sensor/component, if applicable). | |
| virtual void | SetPlane (const double fx, const double fy, const double fz, const double x0, const double y0, const double z0) |
| Set the projection (viewing plane), if applicable. | |
| virtual void | SetPlane (const double fx, const double fy, const double fz, const double x0, const double y0, const double z0, const double hx, const double hy, const double hz) |
| Set the projection plane specifying a hint for the in-plane x axis. | |
| void | Rotate (const double angle) |
| Rotate the viewing plane (angle in radian). | |
| void | SetPlaneXY () |
| Set the viewing plane to x-y. | |
| void | SetPlaneXZ () |
| Set the viewing plane to x-z. | |
| void | SetPlaneYZ () |
| Set the viewing plane to y-z. | |
| void | SetPlaneZX () |
| Set the viewing plane to z-x. | |
| void | SetPlaneZY () |
| Set the viewing plane to z-y. | |
| void | EnableDebugging (const bool on=true) |
| Switch on/off debugging output. | |
Static Public Member Functions | |
| static std::string | FindUnusedFunctionName (const std::string &s) |
| Find an unused function name. | |
| static std::string | FindUnusedHistogramName (const std::string &s) |
| Find an unused histogram name. | |
| static std::string | FindUnusedCanvasName (const std::string &s) |
| Find an unused canvas name. | |
Protected Member Functions | |
| void | UpdateProjectionMatrix () |
| template<typename T> | |
| void | ToPlane (const T x, const T y, const T z, T &xp, T &yp) const |
| template<typename T> | |
| bool | InBox (const std::array< T, 3 > &x) const |
| void | Clip (const std::array< float, 3 > &x0, const std::array< float, 3 > &x1, std::array< float, 3 > &xc) const |
| void | DrawLine (const std::vector< std::array< float, 3 > > &xl, const short col, const short lw) |
| std::string | LabelX () |
| std::string | LabelY () |
| std::string | PlaneDescription () |
| bool | PlotLimits (Sensor *sensor, double &xmin, double &ymin, double &xmax, double &ymax) const |
| bool | PlotLimits (Component *cmp, double &xmin, double &ymin, double &xmax, double &ymax) const |
| bool | PlotLimitsFromUserBox (double &xmin, double &ymin, double &xmax, double &ymax) const |
| bool | PlotLimits (std::array< double, 3 > &bbmin, std::array< double, 3 > &bbmax, double &xmin, double &ymin, double &xmax, double &ymax) const |
Static Protected Member Functions | |
| static bool | RangeSet (TVirtualPad *) |
| static void | SetRange (TVirtualPad *pad, const double x0, const double y0, const double x1, const double y1) |
Protected Attributes | |
| std::string | m_className = "ViewBase" |
| bool | m_debug = false |
| bool | m_userPlotLimits = false |
| double | m_xMinPlot = -1. |
| double | m_xMaxPlot = 1. |
| double | m_yMinPlot = -1. |
| double | m_yMaxPlot = 1. |
| bool | m_userBox = false |
| double | m_xMinBox = -1. |
| double | m_xMaxBox = 1. |
| double | m_yMinBox = -1. |
| double | m_yMaxBox = 1. |
| double | m_zMinBox = -1. |
| double | m_zMaxBox = 1. |
| std::array< std::array< double, 3 >, 3 > | m_proj |
| std::array< double, 4 > | m_plane {{0, 0, 1, 0}} |
| std::array< std::array< double, 3 >, 3 > | m_prmat |
Private Attributes | |
| TPad * | m_pad = nullptr |
| std::unique_ptr< TCanvas > | m_canvas |
Base class for visualization classes.
Definition at line 21 of file ViewBase.hh.
|
delete |
Default constructor.
| Garfield::ViewBase::ViewBase | ( | const std::string & | name | ) |
Constructor.
|
virtualdefault |
Destructor.
|
protected |
|
protected |
|
inline |
|
static |
Find an unused canvas name.
|
static |
Find an unused function name.
|
static |
Find an unused histogram name.
| TPad * Garfield::ViewBase::GetCanvas | ( | ) |
Retrieve the canvas.
|
inlineprotected |
Definition at line 120 of file ViewBase.hh.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
| void Garfield::ViewBase::Rotate | ( | const double | angle | ) |
Rotate the viewing plane (angle in radian).
|
inline |
Use default x- and y-axis limits (based on the bounding box of the sensor/component, if applicable).
Definition at line 46 of file ViewBase.hh.
| void Garfield::ViewBase::SetArea | ( | const double | xmin, |
| const double | ymin, | ||
| const double | xmax, | ||
| const double | ymax ) |
Set the x- and y-axis limits (in local coordinates of the current viewing plane, if applicable).
|
virtual |
Set a bounding box (if applicable).
|
inline |
|
inline |
|
virtual |
Set the projection (viewing plane), if applicable.
| fx,fy,fz | normal vector |
| x0,y0,z0 | in-plane point |
Reimplemented in Garfield::ViewFEMesh.
|
virtual |
Set the projection plane specifying a hint for the in-plane x axis.
Reimplemented in Garfield::ViewFEMesh.
| void Garfield::ViewBase::SetPlaneXY | ( | ) |
Set the viewing plane to x-y.
| void Garfield::ViewBase::SetPlaneXZ | ( | ) |
Set the viewing plane to x-z.
| void Garfield::ViewBase::SetPlaneYZ | ( | ) |
Set the viewing plane to y-z.
| void Garfield::ViewBase::SetPlaneZX | ( | ) |
Set the viewing plane to z-x.
| void Garfield::ViewBase::SetPlaneZY | ( | ) |
Set the viewing plane to z-y.
|
staticprotected |
|
inlineprotected |
Definition at line 114 of file ViewBase.hh.
|
protected |
|
private |
Definition at line 157 of file ViewBase.hh.
|
protected |
Definition at line 85 of file ViewBase.hh.
|
protected |
Definition at line 88 of file ViewBase.hh.
|
private |
Definition at line 156 of file ViewBase.hh.
|
protected |
Definition at line 105 of file ViewBase.hh.
|
protected |
Definition at line 107 of file ViewBase.hh.
|
protected |
Definition at line 103 of file ViewBase.hh.
|
protected |
Definition at line 96 of file ViewBase.hh.
|
protected |
Definition at line 91 of file ViewBase.hh.
|
protected |
Definition at line 97 of file ViewBase.hh.
|
protected |
Definition at line 92 of file ViewBase.hh.
|
protected |
Definition at line 97 of file ViewBase.hh.
|
protected |
Definition at line 92 of file ViewBase.hh.
|
protected |
Definition at line 98 of file ViewBase.hh.
|
protected |
Definition at line 93 of file ViewBase.hh.
|
protected |
Definition at line 98 of file ViewBase.hh.
|
protected |
Definition at line 93 of file ViewBase.hh.
|
protected |
Definition at line 99 of file ViewBase.hh.
|
protected |
Definition at line 99 of file ViewBase.hh.