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

Reference counted handle class for a local surface attached to a volume (VolSurfaceBase). More...

#include <Surface.h>

+ Inheritance diagram for dd4hep::rec::VolSurface:

Public Member Functions

virtual ~VolSurface ()
 
 VolSurface ()
 default c'tor More...
 
 VolSurface (VolSurfaceBase *p)
 Constructor to be used with an existing object. More...
 
 VolSurface (const VolSurface &vsurf)
 Constructor to be used with an existing object. More...
 
VolSurfaceoperator= (const VolSurface &vsurf)
 
Volume volume () const
 the volume to which this surface is attached. More...
 
VolSurfaceBaseptr () const
 pointer to underlying object More...
 
virtual long64 id () const
 The id of this surface - always 0 for VolSurfaces. More...
 
virtual const SurfaceTypetype () const
 properties of the surface encoded in Type. More...
 
virtual Vector3D u (const Vector3D &point=Vector3D()) const
 First direction of measurement U. More...
 
virtual Vector3D v (const Vector3D &point=Vector3D()) const
 Second direction of measurement V. More...
 
virtual Vector3D normal (const Vector3D &point=Vector3D()) const
 Access to the normal direction at the given point. More...
 
virtual const Vector3Dorigin () const
 Get Origin of local coordinate system on surface. More...
 
virtual Vector2D globalToLocal (const Vector3D &point) const
 Convert the global position to the local position (u,v) on the surface. More...
 
virtual Vector3D localToGlobal (const Vector2D &point) const
 Convert the local position (u,v) on the surface to the global position. More...
 
virtual const IMaterialinnerMaterial () const
 Access to the material in opposite direction of the normal. More...
 
virtual const IMaterialouterMaterial () const
 Access to the material in direction of the normal. More...
 
virtual double innerThickness () const
 Thickness of inner material. More...
 
virtual double outerThickness () const
 Thickness of outer material. More...
 
virtual double length_along_u () const
 The length of the surface along direction u at the origin. More...
 
virtual double length_along_v () const
 The length of the surface along direction v at the origin. More...
 
virtual double distance (const Vector3D &point) const
 Distance to surface. More...
 
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 innerMaterial More...
 
void setOuterMaterial (const IMaterial &mat)
 set the outer Materal More...
 
- Public Member Functions inherited from dd4hep::rec::ISurface
virtual ~ISurface ()
 Destructor. More...
 

Protected Attributes

VolSurfaceBase_surf
 

Detailed Description

Reference counted handle class for a local surface attached to a volume (VolSurfaceBase).

Author
F.Gaede, DESY
Date
Sep, 14 2015
Version
$Id$

Definition at line 181 of file Surface.h.

Constructor & Destructor Documentation

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

Definition at line 189 of file Surface.h.

References dd4hep::rec::VolSurfaceBase::_refCount, and _surf.

dd4hep::rec::VolSurface::VolSurface ( )
inline

default c'tor

Definition at line 196 of file Surface.h.

dd4hep::rec::VolSurface::VolSurface ( VolSurfaceBase p)
inline

Constructor to be used with an existing object.

Definition at line 199 of file Surface.h.

References dd4hep::rec::VolSurfaceBase::_refCount, and _surf.

dd4hep::rec::VolSurface::VolSurface ( const VolSurface vsurf)
inline

Constructor to be used with an existing object.

Definition at line 202 of file Surface.h.

References dd4hep::rec::VolSurfaceBase::_refCount, and _surf.

Member Function Documentation

double dd4hep::rec::VolSurface::distance ( const Vector3D point) const
virtual

Distance to surface.

Implements dd4hep::rec::ISurface.

Definition at line 261 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::distance().

std::vector< std::pair< Vector3D, Vector3D > > dd4hep::rec::VolSurface::getLines ( unsigned  nMax = 100)
virtual

Definition at line 265 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::getLines().

Vector2D dd4hep::rec::VolSurface::globalToLocal ( const Vector3D point) const
virtual

Convert the global position to the local position (u,v) on the surface.

Implements dd4hep::rec::ISurface.

Definition at line 253 of file Surface.cpp.

Referenced by dd4hep::rec::CylinderSurface::globalToLocal().

long64 dd4hep::rec::VolSurface::id ( ) const
virtual

The id of this surface - always 0 for VolSurfaces.

Implements dd4hep::rec::ISurface.

Definition at line 247 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::initialize().

const IMaterial & dd4hep::rec::VolSurface::innerMaterial ( ) const
virtual

Access to the material in opposite direction of the normal.

Implements dd4hep::rec::ISurface.

Definition at line 255 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::innerMaterial().

double dd4hep::rec::VolSurface::innerThickness ( ) const
virtual

Thickness of inner material.

Implements dd4hep::rec::ISurface.

Definition at line 257 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::innerThickness().

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

Checks if the given point lies within the surface.

Implements dd4hep::rec::ISurface.

Definition at line 262 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::insideBounds().

double dd4hep::rec::VolSurface::length_along_u ( ) const
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 259 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::length_along_u().

double dd4hep::rec::VolSurface::length_along_v ( ) const
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 260 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::length_along_v().

Vector3D dd4hep::rec::VolSurface::localToGlobal ( const Vector2D point) const
virtual

Convert the local position (u,v) on the surface to the global position.

Implements dd4hep::rec::ISurface.

Definition at line 254 of file Surface.cpp.

Referenced by dd4hep::rec::CylinderSurface::localToGlobal().

Vector3D dd4hep::rec::VolSurface::normal ( const Vector3D point = Vector3D()) const
virtual

Access to the normal direction at the given point.

Implements dd4hep::rec::ISurface.

Definition at line 251 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::getLines(), dd4hep::rec::Surface::initialize(), and dd4hep::rec::CylinderSurface::normal().

VolSurface& dd4hep::rec::VolSurface::operator= ( const VolSurface vsurf)
inline

Definition at line 206 of file Surface.h.

References dd4hep::rec::VolSurfaceBase::_refCount, and _surf.

const Vector3D & dd4hep::rec::VolSurface::origin ( ) const
virtual

Get Origin of local coordinate system on surface.

Implements dd4hep::rec::ISurface.

Definition at line 252 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::getLines(), dd4hep::rec::Surface::initialize(), and dd4hep::rec::CylinderSurface::radius().

const IMaterial & dd4hep::rec::VolSurface::outerMaterial ( ) const
virtual

Access to the material in direction of the normal.

Implements dd4hep::rec::ISurface.

Definition at line 256 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::outerMaterial().

double dd4hep::rec::VolSurface::outerThickness ( ) const
virtual

Thickness of outer material.

Implements dd4hep::rec::ISurface.

Definition at line 258 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::outerThickness().

VolSurfaceBase* dd4hep::rec::VolSurface::ptr ( ) const
inline

pointer to underlying object

Definition at line 217 of file Surface.h.

References _surf.

void dd4hep::rec::VolSurface::setInnerMaterial ( const IMaterial mat)
inline

set the innerMaterial

Definition at line 279 of file Surface.h.

References _surf, and dd4hep::rec::VolSurfaceBase::setInnerMaterial().

Referenced by dd4hep::rec::Surface::innerMaterial().

void dd4hep::rec::VolSurface::setOuterMaterial ( const IMaterial mat)
inline

set the outer Materal

Definition at line 282 of file Surface.h.

References _surf, and dd4hep::rec::VolSurfaceBase::setOuterMaterial().

Referenced by dd4hep::rec::Surface::outerMaterial().

const SurfaceType & dd4hep::rec::VolSurface::type ( ) const
virtual

properties of the surface encoded in Type.

See Also
SurfaceType

Implements dd4hep::rec::ISurface.

Definition at line 248 of file Surface.cpp.

Referenced by dd4hep::rec::DetectorSurfaces::initialize().

Vector3D dd4hep::rec::VolSurface::u ( const Vector3D point = Vector3D()) const
virtual

First direction of measurement U.

Implements dd4hep::rec::ISurface.

Definition at line 249 of file Surface.cpp.

Referenced by dd4hep::rec::Surface::getLines(), dd4hep::rec::Surface::initialize(), and dd4hep::rec::CylinderSurface::u().

Vector3D dd4hep::rec::VolSurface::v ( const Vector3D point = Vector3D()) const
virtual
Volume dd4hep::rec::VolSurface::volume ( ) const
inline

the volume to which this surface is attached.

Definition at line 214 of file Surface.h.

References _surf, and dd4hep::rec::VolSurfaceBase::volume().

Referenced by dd4hep::rec::Surface::initialize(), and dd4hep::rec::Surface::volume().

Member Data Documentation

VolSurfaceBase* dd4hep::rec::VolSurface::_surf
protected

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