DD4hep  1.38.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | Protected Attributes | List of all members
dd4hep::rec::VolSurface Class Reference

#include <Surface.h>

Inheritance diagram for dd4hep::rec::VolSurface:
dd4hep::rec::ISurface dd4hep::rec::VolCone dd4hep::rec::VolCylinder dd4hep::rec::VolSurfaceHandle< T > SimpleCylinder

Public Member Functions

virtual ~VolSurface () override
 
 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...
 
VolSurface & operator= (const VolSurface &vsurf)
 
Volume volume () const
 the volume to which this surface is attached. More...
 
VolSurfaceBase * ptr () const
 pointer to underlying object More...
 
virtual long64 id () const override
 The id of this surface - always 0 for VolSurfaces. More...
 
virtual const SurfaceType & type () const override
 
virtual Vector3D u (const Vector3D &point=Vector3D()) const override
 
virtual Vector3D v (const Vector3D &point=Vector3D()) const override
 
virtual Vector3D normal (const Vector3D &point=Vector3D()) const override
 Access to the normal direction at the given point. More...
 
virtual const Vector3D & origin () const override
 
virtual Vector2D globalToLocal (const Vector3D &point) const override
 
virtual Vector3D localToGlobal (const Vector2D &point) const override
 
virtual const IMaterial & innerMaterial () const override
 Access to the material in opposite direction of the normal. More...
 
virtual const IMaterial & outerMaterial () const override
 Access to the material in direction of the normal. More...
 
virtual double innerThickness () const override
 
virtual double outerThickness () const override
 
virtual double length_along_u () const override
 
virtual double length_along_v () const override
 
virtual double distance (const Vector3D &point) const override
 
virtual bool insideBounds (const Vector3D &point, double epsilon=1e-4) const override
 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

◆ ~VolSurface()

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

Definition at line 189 of file Surface.h.

◆ VolSurface() [1/3]

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

default c'tor

Definition at line 196 of file Surface.h.

◆ VolSurface() [2/3]

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

Constructor to be used with an existing object.

Definition at line 199 of file Surface.h.

◆ VolSurface() [3/3]

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

Constructor to be used with an existing object.

Definition at line 202 of file Surface.h.

Member Function Documentation

◆ distance()

double dd4hep::rec::VolSurface::distance ( const Vector3D &  point) const
overridevirtual

Distance to surface

Implements dd4hep::rec::ISurface.

Definition at line 260 of file Surface.cpp.

◆ getLines()

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

Definition at line 264 of file Surface.cpp.

◆ globalToLocal()

Vector2D dd4hep::rec::VolSurface::globalToLocal ( const Vector3D &  point) const
overridevirtual

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

Implements dd4hep::rec::ISurface.

Definition at line 252 of file Surface.cpp.

◆ id()

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

The id of this surface - always 0 for VolSurfaces.

Implements dd4hep::rec::ISurface.

Definition at line 246 of file Surface.cpp.

◆ innerMaterial()

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

Access to the material in opposite direction of the normal.

Implements dd4hep::rec::ISurface.

Definition at line 254 of file Surface.cpp.

◆ innerThickness()

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

Thickness of inner material

Implements dd4hep::rec::ISurface.

Definition at line 256 of file Surface.cpp.

◆ insideBounds()

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

Checks if the given point lies within the surface.

Implements dd4hep::rec::ISurface.

Definition at line 261 of file Surface.cpp.

◆ length_along_u()

double dd4hep::rec::VolSurface::length_along_u ( ) const
overridevirtual

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 258 of file Surface.cpp.

◆ length_along_v()

double dd4hep::rec::VolSurface::length_along_v ( ) const
overridevirtual

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 259 of file Surface.cpp.

◆ localToGlobal()

Vector3D dd4hep::rec::VolSurface::localToGlobal ( const Vector2D &  point) const
overridevirtual

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

Implements dd4hep::rec::ISurface.

Definition at line 253 of file Surface.cpp.

◆ normal()

Vector3D dd4hep::rec::VolSurface::normal ( const Vector3D &  point = Vector3D()) const
overridevirtual

Access to the normal direction at the given point.

Implements dd4hep::rec::ISurface.

Definition at line 250 of file Surface.cpp.

◆ operator=()

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

Definition at line 206 of file Surface.h.

◆ origin()

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

Get Origin of local coordinate system on surface

Implements dd4hep::rec::ISurface.

Definition at line 251 of file Surface.cpp.

◆ outerMaterial()

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

Access to the material in direction of the normal.

Implements dd4hep::rec::ISurface.

Definition at line 255 of file Surface.cpp.

◆ outerThickness()

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

Thickness of outer material

Implements dd4hep::rec::ISurface.

Definition at line 257 of file Surface.cpp.

◆ ptr()

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

pointer to underlying object

Definition at line 217 of file Surface.h.

◆ setInnerMaterial()

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

set the innerMaterial

Definition at line 279 of file Surface.h.

◆ setOuterMaterial()

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

set the outer Materal

Definition at line 282 of file Surface.h.

◆ type()

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

properties of the surface encoded in Type.

See also
SurfaceType

Implements dd4hep::rec::ISurface.

Definition at line 247 of file Surface.cpp.

◆ u()

Vector3D dd4hep::rec::VolSurface::u ( const Vector3D &  point = Vector3D()) const
overridevirtual

First direction of measurement U

Implements dd4hep::rec::ISurface.

Definition at line 248 of file Surface.cpp.

◆ v()

Vector3D dd4hep::rec::VolSurface::v ( const Vector3D &  point = Vector3D()) const
overridevirtual

Second direction of measurement V

Implements dd4hep::rec::ISurface.

Definition at line 249 of file Surface.cpp.

◆ volume()

Volume dd4hep::rec::VolSurface::volume ( ) const
inline

the volume to which this surface is attached.

Definition at line 214 of file Surface.h.

Member Data Documentation

◆ _surf

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

Definition at line 185 of file Surface.h.


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