![]() |
DD4hep
1.33.0
Detector Description Toolkit for High Energy Physics
|
#include <Surface.h>
Public Member Functions | |
| virtual | ~VolSurfaceBase ()=default |
| VolSurfaceBase ()=default | |
| default c'tor More... | |
| VolSurfaceBase (SurfaceType typ, double thickness_inner, double thickness_outer, Vector3D u_val, Vector3D v_val, Vector3D n, Vector3D o, Volume vol, int identifier) | |
| VolSurfaceBase (const VolSurfaceBase &c) | |
| Copy the from object. More... | |
| Volume | volume () const |
| the volume to which this surface is attached. More... | |
| virtual long64 | id () const |
| The id of this surface. More... | |
| virtual const SurfaceType & | type () const |
| virtual Vector3D | u (const Vector3D &point=Vector3D()) const |
| virtual Vector3D | v (const Vector3D &point=Vector3D()) const |
| virtual Vector3D | normal (const Vector3D &point=Vector3D()) const |
| Access to the normal direction at the given point. More... | |
| virtual const Vector3D & | origin () const |
| virtual Vector2D | globalToLocal (const Vector3D &point) const |
| virtual Vector3D | localToGlobal (const Vector2D &point) const |
| virtual const IMaterial & | innerMaterial () const |
| Access to the material in opposite direction of the normal. More... | |
| virtual const IMaterial & | outerMaterial () const |
| Access to the material in direction of the normal. More... | |
| virtual double | innerThickness () const |
| virtual double | outerThickness () const |
| virtual double | length_along_u () const |
| virtual double | length_along_v () const |
| virtual double | distance (const Vector3D &point) const |
| virtual bool | insideBounds (const Vector3D &point, double epsilon=1e-4) const |
| Checks if the given point lies within the surface. More... | |
| virtual std::vector< std::pair< Vector3D, Vector3D > > | getLines (unsigned nMax=100) |
| void | setInnerMaterial (const IMaterial &mat) |
| set the inner Material More... | |
| void | setOuterMaterial (const IMaterial &mat) |
| set the outer Materal More... | |
Public Member Functions inherited from dd4hep::rec::ISurface | |
| virtual | ~ISurface () |
| Destructor. More... | |
Protected Member Functions | |
| virtual void | setU (const Vector3D &u) |
| setter for daughter classes More... | |
| virtual void | setV (const Vector3D &v) |
| setter for daughter classes More... | |
| virtual void | setNormal (const Vector3D &n) |
| setter for daughter classes More... | |
| virtual void | setOrigin (const Vector3D &o) |
| setter for daughter classes More... | |
Protected Attributes | |
| SurfaceType | _type {} |
| Vector3D | _u {} |
| Vector3D | _v {} |
| Vector3D | _n {} |
| Vector3D | _o {} |
| double | _th_i {0} |
| double | _th_o {0} |
| MaterialData | _innerMat {} |
| MaterialData | _outerMat {} |
| Volume | _vol {} |
| long64 | _id {0} |
| unsigned | _refCount {0} |
Friends | |
| class | VolSurface |
Implementation of ISurface for a local surface attached to a volume. Provides default implementations for all methods but distance(). Subclasses for specific surfaces overwrite methods as needed.
|
virtualdefault |
|
default |
default c'tor
|
inline |
|
virtual |
Distance to surface
Implements dd4hep::rec::ISurface.
Reimplemented in dd4hep::rec::VolConeImpl, dd4hep::rec::VolCylinderImpl, and dd4hep::rec::VolPlaneImpl.
Definition at line 205 of file Surface.cpp.
|
virtual |
Reimplemented in dd4hep::rec::VolConeImpl, and SimpleCylinderImpl.
Definition at line 238 of file Surface.cpp.
Convert the global position to the local position (u,v) on the surface
Implements dd4hep::rec::ISurface.
Reimplemented in dd4hep::rec::VolConeImpl, and dd4hep::rec::VolCylinderImpl.
Definition at line 50 of file Surface.cpp.
|
virtual |
The id of this surface.
Implements dd4hep::rec::ISurface.
Definition at line 42 of file Surface.cpp.
|
virtual |
Access to the material in opposite direction of the normal.
Implements dd4hep::rec::ISurface.
Definition at line 73 of file Surface.cpp.
|
virtual |
Thickness of inner material
Implements dd4hep::rec::ISurface.
Definition at line 75 of file Surface.cpp.
|
virtual |
Checks if the given point lies within the surface.
Implements dd4hep::rec::ISurface.
Reimplemented in SimpleCylinderImpl.
Definition at line 208 of file Surface.cpp.
|
virtual |
The length of the surface along direction u at the origin. For 'regular' boundaries, like rectangles, this can be used to speed up the computation of inSideBounds.
Implements dd4hep::rec::ISurface.
Definition at line 79 of file Surface.cpp.
|
virtual |
The length of the surface along direction v at the origin. For 'regular' boundaries, like rectangles, this can be used to speed up the computation of inSideBounds.
Implements dd4hep::rec::ISurface.
Definition at line 142 of file Surface.cpp.
Convert the local position (u,v) on the surface to the global position
Implements dd4hep::rec::ISurface.
Reimplemented in dd4hep::rec::VolConeImpl, and dd4hep::rec::VolCylinderImpl.
Definition at line 66 of file Surface.cpp.
Access to the normal direction at the given point.
Implements dd4hep::rec::ISurface.
Reimplemented in dd4hep::rec::VolConeImpl, and dd4hep::rec::VolCylinderImpl.
Definition at line 47 of file Surface.cpp.
|
virtual |
Get Origin of local coordinate system on surface
Implements dd4hep::rec::ISurface.
Definition at line 48 of file Surface.cpp.
|
virtual |
Access to the material in direction of the normal.
Implements dd4hep::rec::ISurface.
Definition at line 74 of file Surface.cpp.
|
virtual |
Thickness of outer material
Implements dd4hep::rec::ISurface.
Definition at line 76 of file Surface.cpp.
|
inline |
|
protectedvirtual |
setter for daughter classes
Definition at line 39 of file Surface.cpp.
|
protectedvirtual |
setter for daughter classes
Definition at line 40 of file Surface.cpp.
|
inline |
|
protectedvirtual |
setter for daughter classes
Definition at line 37 of file Surface.cpp.
|
protectedvirtual |
setter for daughter classes
Definition at line 38 of file Surface.cpp.
|
virtual |
properties of the surface encoded in Type.
Implements dd4hep::rec::ISurface.
Definition at line 44 of file Surface.cpp.
First direction of measurement U
Implements dd4hep::rec::ISurface.
Reimplemented in dd4hep::rec::VolConeImpl, and dd4hep::rec::VolCylinderImpl.
Definition at line 45 of file Surface.cpp.
Second direction of measurement V
Implements dd4hep::rec::ISurface.
Reimplemented in dd4hep::rec::VolConeImpl.
Definition at line 46 of file Surface.cpp.
|
inline |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
1.8.18