DD4hep
1.30.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 |