Garfield++ 4.0
A toolkit for the detailed simulation of particle detectors based on ionisation measurement in gases and semiconductors
|
Abstract base class for geometry classes. More...
#include <Geometry.hh>
Public Member Functions | |
Geometry ()=delete | |
Default constructor. | |
Geometry (const std::string &name) | |
Constructor. | |
virtual | ~Geometry () |
Destructor. | |
virtual Medium * | GetMedium (const double x, const double y, const double z, const bool tesselated=false) const =0 |
Retrieve the medium at a given point. | |
virtual size_t | GetNumberOfSolids () const |
Return the number of solids in the geometry. | |
virtual Solid * | GetSolid (const size_t) const |
Get a solid from the list. | |
virtual Solid * | GetSolid (const size_t, Medium *&medium) const |
Get a solid from the list, together with the associated medium. | |
virtual bool | IsInside (const double x, const double y, const double z, const bool tesselated=false) const =0 |
Check if a point is inside the geometry. | |
virtual bool | GetBoundingBox (double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax)=0 |
Get the bounding box (envelope of the geometry). | |
Protected Attributes | |
std::string | m_className = "Geometry" |
Abstract base class for geometry classes.
Definition at line 13 of file Geometry.hh.
|
delete |
Default constructor.
|
inline |
|
inlinevirtual |
|
pure virtual |
Get the bounding box (envelope of the geometry).
Implemented in Garfield::GeometryRoot, and Garfield::GeometrySimple.
Referenced by Garfield::ComponentAnalyticField::GetBoundingBox(), Garfield::Component::GetBoundingBox(), Garfield::ComponentNeBem2d::GetBoundingBox(), and Garfield::ComponentParallelPlate::GetBoundingBox().
|
pure virtual |
Retrieve the medium at a given point.
Implemented in Garfield::GeometryRoot, and Garfield::GeometrySimple.
Referenced by Garfield::ComponentAnalyticField::ElectricField(), Garfield::ComponentParallelPlate::ElectricField(), Garfield::Component::GetMedium(), Garfield::ComponentAnalyticField::GetMedium(), Garfield::ComponentNeBem2d::GetMedium(), Garfield::ComponentNeBem3d::GetMedium(), and Garfield::ComponentParallelPlate::GetMedium().
|
inlinevirtual |
Return the number of solids in the geometry.
Reimplemented in Garfield::GeometrySimple.
Definition at line 27 of file Geometry.hh.
Referenced by Garfield::ComponentNeBem3d::GetVolume(), and Garfield::ComponentNeBem3d::Initialise().
|
inlinevirtual |
Get a solid from the list.
Reimplemented in Garfield::GeometrySimple.
Definition at line 29 of file Geometry.hh.
Referenced by Garfield::ComponentNeBem3d::GetVolume(), and Garfield::ComponentNeBem3d::Initialise().
Get a solid from the list, together with the associated medium.
Reimplemented in Garfield::GeometrySimple.
Definition at line 31 of file Geometry.hh.
|
pure virtual |
Check if a point is inside the geometry.
Implemented in Garfield::GeometryRoot, and Garfield::GeometrySimple.
|
protected |
Definition at line 44 of file Geometry.hh.
Referenced by Garfield::GeometrySimple::AddSolid(), Garfield::GeometrySimple::GetSolid(), Garfield::GeometrySimple::IsInBoundingBox(), Garfield::GeometryRoot::PrintGeoNotDefined(), Garfield::GeometrySimple::PrintSolids(), Garfield::GeometryRoot::SetGeometry(), and Garfield::GeometryRoot::SetMedium().