Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
Loading...
Searching...
No Matches
Garfield::ViewCell Class Reference

Visualize the "cell" defined in an analytic-field component. More...

#include <ViewCell.hh>

+ Inheritance diagram for Garfield::ViewCell:

Public Member Functions

 ViewCell ()
 Constructor.
 
 ~ViewCell ()=default
 Destructor.
 
void SetComponent (ComponentAnalyticField *comp)
 Set the component for which to draw the cell geometry.
 
void SetComponent (ComponentNeBem2d *comp)
 
void Plot2d ()
 Make a two-dimensional drawing of the cell layout.
 
void Plot3d ()
 Make a three-dimensional drawing of the cell layout (using TGeo).
 
void EnableWireMarkers (const bool on=true)
 
void DisableWireMarkers ()
 
- Public Member Functions inherited from Garfield::ViewBase
 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)
 
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 ()
 
virtual void SetPlane (const double fx, const double fy, const double fz, const double x0, const double y0, const double z0)
 
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 EnableDebugging (const bool on=true)
 Switch on/off debugging output.
 

Additional Inherited Members

- Static Public Member Functions inherited from Garfield::ViewBase
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 inherited from Garfield::ViewBase
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
 
bool RangeSet (TPad *)
 
void SetRange (TPad *pad, const double x0, const double y0, const double x1, const double y1)
 
- Protected Attributes inherited from Garfield::ViewBase
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
 

Detailed Description

Visualize the "cell" defined in an analytic-field component.

Definition at line 18 of file ViewCell.hh.

Constructor & Destructor Documentation

◆ ViewCell()

Garfield::ViewCell::ViewCell ( )

Constructor.

Definition at line 18 of file ViewCell.cc.

18: ViewBase("ViewCell") {}
ViewBase()=delete
Default constructor.

◆ ~ViewCell()

Garfield::ViewCell::~ViewCell ( )
default

Destructor.

Member Function Documentation

◆ DisableWireMarkers()

void Garfield::ViewCell::DisableWireMarkers ( )
inline

Definition at line 37 of file ViewCell.hh.

37{ EnableWireMarkers(false); }
void EnableWireMarkers(const bool on=true)
Definition: ViewCell.hh:36

◆ EnableWireMarkers()

void Garfield::ViewCell::EnableWireMarkers ( const bool  on = true)
inline

Visualize wirers using markers (default setting) or as a circle with the actual wire radius.

Definition at line 36 of file ViewCell.hh.

36{ m_useWireMarker = on; }

Referenced by DisableWireMarkers().

◆ Plot2d()

void Garfield::ViewCell::Plot2d ( )

Make a two-dimensional drawing of the cell layout.

Definition at line 36 of file ViewCell.cc.

36 {
37 if (!Plot(true)) {
38 std::cerr << m_className << "::Plot2d: Error creating plot.\n";
39 }
40}
std::string m_className
Definition: ViewBase.hh:78

◆ Plot3d()

void Garfield::ViewCell::Plot3d ( )

Make a three-dimensional drawing of the cell layout (using TGeo).

Definition at line 42 of file ViewCell.cc.

42 {
43 if (!Plot(false)) {
44 std::cerr << m_className << "::Plot3d: Error creating plot.\n";
45 }
46}

◆ SetComponent() [1/2]

void Garfield::ViewCell::SetComponent ( ComponentAnalyticField comp)

Set the component for which to draw the cell geometry.

Definition at line 20 of file ViewCell.cc.

20 {
21 if (!cmp) {
22 std::cerr << m_className << "::SetComponent: Null pointer.\n";
23 return;
24 }
25 m_component = cmp;
26}

◆ SetComponent() [2/2]

void Garfield::ViewCell::SetComponent ( ComponentNeBem2d comp)

Definition at line 28 of file ViewCell.cc.

28 {
29 if (!cmp) {
30 std::cerr << m_className << "::SetComponent: Null pointer.\n";
31 return;
32 }
33 m_nebem = cmp;
34}

The documentation for this class was generated from the following files: