DD4hep
01.18
|
Interface for tracking surfaces. More...
#include <ISurface.h>
Public Member Functions | |
virtual | ~ISurface () |
Destructor. More... | |
virtual const SurfaceType & | type () const =0 |
properties of the surface encoded in Type. More... | |
virtual long64 | id () const =0 |
The id of this surface - corresponds to DetElement id ( or'ed with the placement ids ) More... | |
virtual bool | insideBounds (const Vector3D &point, double epsilon=1.e-4) const =0 |
Checks if the given point lies within the surface. More... | |
virtual Vector3D | u (const Vector3D &point=Vector3D()) const =0 |
First direction of measurement U. More... | |
virtual Vector3D | v (const Vector3D &point=Vector3D()) const =0 |
Second direction of measurement V. More... | |
virtual Vector3D | normal (const Vector3D &point=Vector3D()) const =0 |
Access to the normal direction at the given point. More... | |
virtual Vector2D | globalToLocal (const Vector3D &point) const =0 |
Convert the global position to the local position (u,v) on the surface. More... | |
virtual Vector3D | localToGlobal (const Vector2D &point) const =0 |
Convert the local position (u,v) on the surface to the global position. More... | |
virtual const Vector3D & | origin () const =0 |
Get Origin of local coordinate system on surface. More... | |
virtual const IMaterial & | innerMaterial () const =0 |
Access to the material in opposite direction of the normal. More... | |
virtual const IMaterial & | outerMaterial () const =0 |
Access to the material in direction of the normal. More... | |
virtual double | innerThickness () const =0 |
Thickness of inner material. More... | |
virtual double | outerThickness () const =0 |
Thickness of outer material. More... | |
virtual double | distance (const Vector3D &point) const =0 |
Distance to surface. More... | |
virtual double | length_along_u () const =0 |
The length of the surface along direction u at the origin. More... | |
virtual double | length_along_v () const =0 |
The length of the surface along direction v at the origin. More... | |
Interface for tracking surfaces.
The surface provides access to vectors for u,v,n and the orgigin and the inner and outer materials with corresponding thicknesses.
Definition at line 39 of file ISurface.h.
|
inlinevirtual |
Destructor.
Definition at line 43 of file ISurface.h.
|
pure virtual |
Distance to surface.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolConeImpl, dd4hep::rec::VolCylinderImpl, dd4hep::rec::VolPlaneImpl, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Convert the global position to the local position (u,v) on the surface.
Implemented in dd4hep::rec::CylinderSurface, dd4hep::rec::Surface, dd4hep::rec::VolConeImpl, dd4hep::rec::VolCylinderImpl, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
|
pure virtual |
The id of this surface - corresponds to DetElement id ( or'ed with the placement ids )
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::SurfaceManager::initialize(), and dd4hep::rec::operator<<().
|
pure virtual |
Access to the material in opposite direction of the normal.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().
|
pure virtual |
Thickness of inner material.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().
|
pure virtual |
Checks if the given point lies within the surface.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
|
pure 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.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
|
pure 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.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Convert the local position (u,v) on the surface to the global position.
Implemented in dd4hep::rec::CylinderSurface, dd4hep::rec::Surface, dd4hep::rec::VolConeImpl, dd4hep::rec::VolCylinderImpl, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
|
pure virtual |
Access to the normal direction at the given point.
Implemented in dd4hep::rec::CylinderSurface, dd4hep::rec::Surface, dd4hep::rec::VolConeImpl, dd4hep::rec::VolCylinderImpl, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::SurfaceType::checkOrthogonalToZ(), dd4hep::rec::SurfaceType::checkParallelToZ(), and dd4hep::rec::operator<<().
|
pure virtual |
Get Origin of local coordinate system on surface.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().
|
pure virtual |
Access to the material in direction of the normal.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().
|
pure virtual |
Thickness of outer material.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().
|
pure virtual |
properties of the surface encoded in Type.
Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().
First direction of measurement U.
Implemented in dd4hep::rec::CylinderSurface, dd4hep::rec::Surface, dd4hep::rec::VolConeImpl, dd4hep::rec::VolCylinderImpl, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().
Second direction of measurement V.
Implemented in dd4hep::rec::CylinderSurface, dd4hep::rec::Surface, dd4hep::rec::VolConeImpl, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.
Referenced by dd4hep::rec::operator<<().