DD4hep  01.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Public Member Functions | List of all members
dd4hep::rec::ISurface Class Referenceabstract

Interface for tracking surfaces. More...

#include <ISurface.h>

+ Inheritance diagram for dd4hep::rec::ISurface:

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
 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 Vector3Dorigin () const =0
 Get Origin of local coordinate system on surface. More...
 
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
 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...
 

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

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

Destructor.

Definition at line 43 of file ISurface.h.

Member Function Documentation

virtual double dd4hep::rec::ISurface::distance ( const Vector3D point) const
pure virtual
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.

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.

Referenced by dd4hep::rec::SurfaceManager::initialize(), and dd4hep::rec::operator<<().

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.

Referenced by dd4hep::rec::operator<<().

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.

Referenced by dd4hep::rec::operator<<().

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::Surface, dd4hep::rec::VolSurface, and dd4hep::rec::VolSurfaceBase.

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.

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.

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.

virtual Vector3D dd4hep::rec::ISurface::normal ( const Vector3D point = Vector3D()) const
pure virtual
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.

Referenced by dd4hep::rec::operator<<().

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.

Referenced by dd4hep::rec::operator<<().

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.

Referenced by dd4hep::rec::operator<<().

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.

Referenced by dd4hep::rec::operator<<().

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

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