DD4hep  1.33.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | Private Attributes | List of all members
dd4hep::rec::VolConeImpl Class Reference

#include <Surface.h>

Inheritance diagram for dd4hep::rec::VolConeImpl:
dd4hep::rec::VolSurfaceBase dd4hep::rec::ISurface

Public Member Functions

 VolConeImpl ()
 default c'tor More...
 
 VolConeImpl (Volume vol, SurfaceType type, double thickness_inner, double thickness_outer, Vector3D v, Vector3D origin)
 
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
 
virtual double distance (const Vector3D &point) const override
 
virtual Vector2D globalToLocal (const Vector3D &point) const override
 
virtual Vector3D localToGlobal (const Vector2D &point) const override
 
virtual std::vector< std::pair< Vector3D, Vector3D > > getLines (unsigned nMax=100) override
 create outer bounding lines for the given symmetry of the polyhedron More...
 
- Public Member Functions inherited from dd4hep::rec::VolSurfaceBase
virtual ~VolSurfaceBase () override=default
 
 VolSurfaceBase ()=default
 default c'tor More...
 
 VolSurfaceBase (SurfaceType typ, double thickness_inner, double thickness_outer, Vector3D u_val, Vector3D v_val, Vector3D n, Vector3D o, Volume vol, int identifier)
 
 VolSurfaceBase (const VolSurfaceBase &c)
 Copy the from object. More...
 
Volume volume () const
 the volume to which this surface is attached. More...
 
virtual long64 id () const override
 The id of this surface. More...
 
virtual const SurfaceTypetype () const override
 
virtual const Vector3Dorigin () const override
 
virtual const IMaterialinnerMaterial () const override
 Access to the material in opposite direction of the normal. More...
 
virtual const IMaterialouterMaterial () 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 bool insideBounds (const Vector3D &point, double epsilon=1e-4) const override
 Checks if the given point lies within the surface. More...
 
void setInnerMaterial (const IMaterial &mat)
 set the inner Material More...
 
void setOuterMaterial (const IMaterial &mat)
 set the outer Materal More...
 
- Public Member Functions inherited from dd4hep::rec::ISurface
virtual ~ISurface ()
 Destructor. More...
 

Private Attributes

double _ztip { 0.0 }
 
double _zt0 { 0.0 }
 
double _zt1 { 0.0 }
 
double _tanTheta { 0.0 }
 

Additional Inherited Members

- Protected Member Functions inherited from dd4hep::rec::VolSurfaceBase
virtual void setU (const Vector3D &u)
 setter for daughter classes More...
 
virtual void setV (const Vector3D &v)
 setter for daughter classes More...
 
virtual void setNormal (const Vector3D &n)
 setter for daughter classes More...
 
virtual void setOrigin (const Vector3D &o)
 setter for daughter classes More...
 
- Protected Attributes inherited from dd4hep::rec::VolSurfaceBase
SurfaceType _type {}
 
Vector3D _u {}
 
Vector3D _v {}
 
Vector3D _n {}
 
Vector3D _o {}
 
double _th_i {0}
 
double _th_o {0}
 
MaterialData _innerMat {}
 
MaterialData _outerMat {}
 
Volume _vol {}
 
long64 _id {0}
 
unsigned _refCount {0}
 

Detailed Description

Implementation of conical surface attached to a volume

Author
F.Gaede, DESY
Date
Nov, 6 2015
Version
$Id$

Definition at line 399 of file Surface.h.

Constructor & Destructor Documentation

◆ VolConeImpl() [1/2]

dd4hep::rec::VolConeImpl::VolConeImpl ( )
inline

default c'tor

Definition at line 410 of file Surface.h.

◆ VolConeImpl() [2/2]

dd4hep::rec::VolConeImpl::VolConeImpl ( Volume  vol,
SurfaceType  type,
double  thickness_inner,
double  thickness_outer,
Vector3D  v,
Vector3D  origin 
)

The standard constructor. The origin vector points to the origin of the coordinate system on the cone, its rho defining the mean radius of the cone (z-component of the origin is ignored !). The measurement direction v defines the opening angle of the cone, the normal is chosen to be orthogonal to v. NB: the cone is always parallel to the local z axis.

Definition at line 340 of file Surface.cpp.

Member Function Documentation

◆ distance()

double dd4hep::rec::VolConeImpl::distance ( const Vector3D point) const
overridevirtual

Distance to surface

Reimplemented from dd4hep::rec::VolSurfaceBase.

Definition at line 441 of file Surface.cpp.

◆ getLines()

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

create outer bounding lines for the given symmetry of the polyhedron

Reimplemented from dd4hep::rec::VolSurfaceBase.

Definition at line 466 of file Surface.cpp.

◆ globalToLocal()

Vector2D dd4hep::rec::VolConeImpl::globalToLocal ( const Vector3D point) const
overridevirtual

Convert the global position to the local position (u,v) on the surface - v runs along the axis of the cone, u is r*phi

Reimplemented from dd4hep::rec::VolSurfaceBase.

Definition at line 410 of file Surface.cpp.

◆ localToGlobal()

Vector3D dd4hep::rec::VolConeImpl::localToGlobal ( const Vector2D point) const
overridevirtual

Convert the local position (u,v) on the surface to the global position - v runs along the axis of the cone, u is r*phi

Reimplemented from dd4hep::rec::VolSurfaceBase.

Definition at line 425 of file Surface.cpp.

◆ normal()

Vector3D dd4hep::rec::VolConeImpl::normal ( const Vector3D point = Vector3D()) const
overridevirtual

The normal direction at the given point, projected onto the cone. No check is done whether the point actually is on the cone surface

Reimplemented from dd4hep::rec::VolSurfaceBase.

Definition at line 404 of file Surface.cpp.

◆ u()

Vector3D dd4hep::rec::VolConeImpl::u ( const Vector3D point = Vector3D()) const
overridevirtual

First direction of measurement U - rotated to point projected onto the cone. No check is done whether the point actually is on the cone surface

Reimplemented from dd4hep::rec::VolSurfaceBase.

Definition at line 397 of file Surface.cpp.

◆ v()

Vector3D dd4hep::rec::VolConeImpl::v ( const Vector3D point = Vector3D()) const
overridevirtual

Second direction of measurement V - rotated to point projected onto the cone. No check is done whether the point actually is on the cone surface

Reimplemented from dd4hep::rec::VolSurfaceBase.

Definition at line 391 of file Surface.cpp.

Member Data Documentation

◆ _tanTheta

double dd4hep::rec::VolConeImpl::_tanTheta { 0.0 }
private

Definition at line 405 of file Surface.h.

◆ _zt0

double dd4hep::rec::VolConeImpl::_zt0 { 0.0 }
private

Definition at line 403 of file Surface.h.

◆ _zt1

double dd4hep::rec::VolConeImpl::_zt1 { 0.0 }
private

Definition at line 404 of file Surface.h.

◆ _ztip

double dd4hep::rec::VolConeImpl::_ztip { 0.0 }
private

Definition at line 402 of file Surface.h.


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