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

Specialization of Surface for cylinders. More...

#include <Surface.h>

+ Inheritance diagram for dd4hep::rec::CylinderSurface:

Public Member Functions

 CylinderSurface (DetElement det, VolSurface volSurf)
 Standard c'tor. More...
 
virtual Vector3D u (const Vector3D &point=Vector3D()) const
 First direction of measurement U - rotated to point projected onto the cylinder. More...
 
virtual Vector3D v (const Vector3D &point=Vector3D()) const
 Second direction of measurement V - rotated to point projected onto the cylinder. More...
 
virtual Vector3D normal (const Vector3D &point=Vector3D()) const
 The normal direction at the given point - rotated to point projected onto the cylinder. More...
 
virtual Vector2D globalToLocal (const Vector3D &point) const
 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. More...
 
virtual Vector3D localToGlobal (const Vector2D &point) const
 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. More...
 
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)
 Standard c'tor initializes the surface from the parameters of the VolSurface and the transform (placement) of the corresponding volume, if found in DetElement. More...
 
virtual long64 id () const
 The id of this surface - corresponds to DetElement id. More...
 
virtual const SurfaceTypetype () const
 properties of the surface encoded in Type. More...
 
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
 Get Origin of local coordinate system on surface. More...
 
virtual double innerThickness () const
 Thickness of inner material. More...
 
virtual double outerThickness () const
 Thickness of outer material. 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 distance (const Vector3D &point) const
 Distance to surface. More...
 
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
 Get Origin of local coordinate system of the associated volume. 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 std::vector< std::pair
< Vector3D, Vector3D > > 
getLines (unsigned nMax=100)
 Get lines constraining the surface for drawing ( might not be exact boundaries) - at most nMax lines are returned. More...
 
- 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

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

Standard c'tor.

Definition at line 619 of file Surface.h.

Member Function Documentation

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.

References dd4hep::rec::Surface::volumeOrigin().

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.

References dd4hep::rec::Surface::_volSurf, dd4hep::rec::Surface::_wtM, dd4hep::rec::Vector3D::array(), and dd4hep::rec::VolSurface::globalToLocal().

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.

References dd4hep::rec::Surface::_volSurf, dd4hep::rec::Surface::_wtM, dd4hep::rec::Vector3D::array(), and dd4hep::rec::VolSurface::localToGlobal().

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.

References dd4hep::rec::Surface::_volSurf, dd4hep::rec::Surface::_wtM, dd4hep::rec::Vector3D::array(), and dd4hep::rec::VolSurface::normal().

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.

References dd4hep::rec::Surface::_volSurf, dd4hep::rec::VolSurface::origin(), and dd4hep::rec::Vector3D::rho().

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.

References dd4hep::rec::Surface::_volSurf, dd4hep::rec::Surface::_wtM, dd4hep::rec::Vector3D::array(), and dd4hep::rec::VolSurface::u().

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.

References dd4hep::rec::Surface::_volSurf, dd4hep::rec::Surface::_wtM, dd4hep::rec::Vector3D::array(), and dd4hep::rec::VolSurface::v().


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