DD4hep  1.38.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | List of all members
dd4hep::rec::VolSurfaceHandle< T > Class Template Reference

#include <Surface.h>

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

Public Member Functions

 VolSurfaceHandle (Volume vol, SurfaceType typ, double thickness_inner, double thickness_outer, Vector3D u_val, Vector3D v_val, Vector3D n_val, Vector3D o_val=Vector3D(0., 0., 0.))
 
T * operator-> ()
 
- Public Member Functions inherited from dd4hep::rec::VolSurface
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...
 

Additional Inherited Members

- Protected Attributes inherited from dd4hep::rec::VolSurface
VolSurfaceBase * _surf
 

Detailed Description

template<class T>
class dd4hep::rec::VolSurfaceHandle< T >

Template for VolSurface specializations. Works for surfaces that take all surface vectors (u,v,n,o) in the c'tor.

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

Definition at line 459 of file Surface.h.

Constructor & Destructor Documentation

◆ VolSurfaceHandle()

template<class T >
dd4hep::rec::VolSurfaceHandle< T >::VolSurfaceHandle ( Volume  vol,
SurfaceType  typ,
double  thickness_inner,
double  thickness_outer,
Vector3D  u_val,
Vector3D  v_val,
Vector3D  n_val,
Vector3D  o_val = Vector3D(0.,0.,0.) 
)
inline

Definition at line 462 of file Surface.h.

Member Function Documentation

◆ operator->()

template<class T >
T* dd4hep::rec::VolSurfaceHandle< T >::operator-> ( )
inline

Definition at line 468 of file Surface.h.


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