DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | List of all members
dd4hep::rec::CylinderSurface Class Reference

#include <Surface.h>

Inheritance diagram for dd4hep::rec::CylinderSurface:
dd4hep::rec::Surface dd4hep::rec::ICylinder dd4hep::rec::ISurface dd4hep::rec::ConeSurface

Public Member Functions

 CylinderSurface (DetElement det, VolSurface volSurf)
 Standard c'tor. More...
 
virtual Vector3D u (const Vector3D &point=Vector3D()) const
 
virtual Vector3D v (const Vector3D &point=Vector3D()) const
 
virtual Vector3D normal (const Vector3D &point=Vector3D()) const
 
virtual Vector2D globalToLocal (const Vector3D &point) const
 
virtual Vector3D localToGlobal (const Vector2D &point) const
 
virtual double radius () const
 the radius of the cylinder (rho of the origin vector) More...
 
virtual Vector3D center () const
 the center of the cylinder More...
 
- Public Member Functions inherited from dd4hep::rec::Surface
virtual ~Surface ()
 
 Surface (DetElement det, VolSurface volSurf)
 
virtual long64 id () const
 The id of this surface - corresponds to DetElement id. More...
 
virtual const SurfaceTypetype () const
 
Volume volume () const
 The volume that has the surface attached. More...
 
VolSurface volSurface () const
 The VolSurface attched to the volume. More...
 
DetElement detElement () const
 The DetElement belonging to the surface volume. More...
 
virtual const Vector3Dorigin () const
 
virtual double innerThickness () const
 
virtual double outerThickness () const
 
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 distance (const Vector3D &point) const
 
virtual bool insideBounds (const Vector3D &point, double epsilon=1.e-4) const
 Checks if the given point lies within the surface. More...
 
virtual Vector3D volumeOrigin () const
 
virtual double length_along_u () const
 
virtual double length_along_v () const
 
virtual std::vector< std::pair< Vector3D, Vector3D > > getLines (unsigned nMax=100)
 
- Public Member Functions inherited from dd4hep::rec::ISurface
virtual ~ISurface ()
 Destructor. More...
 
- Public Member Functions inherited from dd4hep::rec::ICylinder
virtual ~ICylinder ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from dd4hep::rec::Surface
 Surface ()=delete
 default c'tor etc. removed More...
 
 Surface (Surface const &)=delete
 
Surfaceoperator= (Surface const &)=delete
 
void initialize ()
 
- Protected Attributes inherited from dd4hep::rec::Surface
DetElement _det
 
VolSurface _volSurf
 
std::unique_ptr< TGeoMatrix > _wtM
 
long64 _id {0}
 
SurfaceType _type {}
 
Vector3D _u {}
 
Vector3D _v {}
 
Vector3D _n {}
 
Vector3D _o {}
 

Detailed Description

Specialization of Surface for cylinders. Provides acces to the cylinder radius and implements the access to the rotated surface vectors for points on the cylinder.

Author
F.Gaede, DESY
Date
May, 10 2014

Definition at line 614 of file Surface.h.

Constructor & Destructor Documentation

◆ CylinderSurface()

dd4hep::rec::CylinderSurface::CylinderSurface ( DetElement  det,
VolSurface  volSurf 
)
inline

Standard c'tor.

Definition at line 619 of file Surface.h.

Member Function Documentation

◆ center()

Vector3D dd4hep::rec::CylinderSurface::center ( ) const
virtual

the center of the cylinder

Implements dd4hep::rec::ICylinder.

Reimplemented in dd4hep::rec::ConeSurface.

Definition at line 1265 of file Surface.cpp.

◆ globalToLocal()

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

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

Reimplemented from dd4hep::rec::Surface.

Definition at line 1245 of file Surface.cpp.

◆ localToGlobal()

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

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

Reimplemented from dd4hep::rec::Surface.

Definition at line 1254 of file Surface.cpp.

◆ normal()

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

The normal direction at the given point - rotated to point projected onto the cylinder. No check is done whether the point actually is on the cylinder surface

Reimplemented from dd4hep::rec::Surface.

Definition at line 1237 of file Surface.cpp.

◆ radius()

double dd4hep::rec::CylinderSurface::radius ( ) const
virtual

the radius of the cylinder (rho of the origin vector)

Implements dd4hep::rec::ICylinder.

Definition at line 1263 of file Surface.cpp.

◆ u()

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

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

Reimplemented from dd4hep::rec::Surface.

Definition at line 1220 of file Surface.cpp.

◆ v()

Vector3D dd4hep::rec::CylinderSurface::v ( const Vector3D point = Vector3D()) const
virtual

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

Reimplemented from dd4hep::rec::Surface.

Definition at line 1229 of file Surface.cpp.


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