DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | List of all members
dd4hep::rec::ISurface Class Referenceabstract

#include <ISurface.h>

Inheritance diagram for dd4hep::rec::ISurface:
dd4hep::rec::Surface dd4hep::rec::VolSurface dd4hep::rec::VolSurfaceBase dd4hep::rec::CylinderSurface dd4hep::rec::VolCone dd4hep::rec::VolCylinder dd4hep::rec::VolSurfaceHandle< T > SimpleCylinder dd4hep::rec::VolConeImpl dd4hep::rec::VolCylinderImpl dd4hep::rec::VolPlaneImpl

Public Member Functions

virtual ~ISurface ()
 Destructor. More...
 
virtual const SurfaceTypetype () 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
 
virtual Vector3D v (const Vector3D &point=Vector3D()) const =0
 
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
 
virtual Vector3D localToGlobal (const Vector2D &point) const =0
 
virtual const Vector3Dorigin () const =0
 
virtual const IMaterialinnerMaterial () const =0
 Access to the material in opposite direction of the normal. More...
 
virtual const IMaterialouterMaterial () const =0
 Access to the material in direction of the normal. More...
 
virtual double innerThickness () const =0
 
virtual double outerThickness () const =0
 
virtual double distance (const Vector3D &point) const =0
 
virtual double length_along_u () const =0
 
virtual double length_along_v () const =0
 

Detailed Description

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.

Author
C.Grefe, CERN, F. Gaede, DESY
Version
$Id$
Date
Mar 7 2014

Definition at line 39 of file ISurface.h.

Constructor & Destructor Documentation

◆ ~ISurface()

virtual dd4hep::rec::ISurface::~ISurface ( )
inlinevirtual

Destructor.

Definition at line 43 of file ISurface.h.

Member Function Documentation

◆ distance()

virtual double dd4hep::rec::ISurface::distance ( const Vector3D point) const
pure virtual

◆ globalToLocal()

virtual Vector2D dd4hep::rec::ISurface::globalToLocal ( const Vector3D point) const
pure virtual

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.

◆ id()

virtual long64 dd4hep::rec::ISurface::id ( ) const
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.

◆ innerMaterial()

virtual const IMaterial& dd4hep::rec::ISurface::innerMaterial ( ) const
pure virtual

Access to the material in opposite direction of the normal.

Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.

◆ innerThickness()

virtual double dd4hep::rec::ISurface::innerThickness ( ) const
pure virtual

Thickness of inner material

Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.

◆ insideBounds()

virtual bool dd4hep::rec::ISurface::insideBounds ( const Vector3D point,
double  epsilon = 1.e-4 
) const
pure virtual

Checks if the given point lies within the surface.

Implemented in dd4hep::rec::VolSurface, dd4hep::rec::VolSurfaceBase, dd4hep::rec::Surface, and SimpleCylinderImpl.

◆ length_along_u()

virtual double dd4hep::rec::ISurface::length_along_u ( ) const
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.

◆ length_along_v()

virtual double dd4hep::rec::ISurface::length_along_v ( ) const
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.

◆ localToGlobal()

virtual Vector3D dd4hep::rec::ISurface::localToGlobal ( const Vector2D point) const
pure virtual

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.

◆ normal()

virtual Vector3D dd4hep::rec::ISurface::normal ( const Vector3D point = Vector3D()) const
pure virtual

◆ origin()

virtual const Vector3D& dd4hep::rec::ISurface::origin ( ) const
pure virtual

Get Origin of local coordinate system on surface

Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.

◆ outerMaterial()

virtual const IMaterial& dd4hep::rec::ISurface::outerMaterial ( ) const
pure virtual

Access to the material in direction of the normal.

Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.

◆ outerThickness()

virtual double dd4hep::rec::ISurface::outerThickness ( ) const
pure virtual

Thickness of outer material

Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.

◆ type()

virtual const SurfaceType& dd4hep::rec::ISurface::type ( ) const
pure virtual

properties of the surface encoded in Type.

Implemented in dd4hep::rec::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.

◆ u()

virtual Vector3D dd4hep::rec::ISurface::u ( const Vector3D point = Vector3D()) const
pure virtual

◆ v()

virtual Vector3D dd4hep::rec::ISurface::v ( const Vector3D point = Vector3D()) const
pure virtual

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