DD4hep
01.18
|
Specialization of Surface for cylinders. More...
#include <Surface.h>
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... | |
![]() | |
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 SurfaceType & | type () 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 Vector3D & | origin () 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 IMaterial & | innerMaterial () const |
Access to the material in opposite direction of the normal. More... | |
virtual const IMaterial & | outerMaterial () 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... | |
![]() | |
virtual | ~ISurface () |
Destructor. More... | |
![]() | |
virtual | ~ICylinder () |
Destructor. More... | |
Additional Inherited Members | |
![]() | |
Surface ()=delete | |
default c'tor etc. removed More... | |
Surface (Surface const &)=delete | |
Surface & | operator= (Surface const &)=delete |
void | initialize () |
![]() | |
DetElement | _det |
VolSurface | _volSurf |
std::unique_ptr< TGeoMatrix > | _wtM |
long64 | _id {0} |
SurfaceType | _type {} |
Vector3D | _u {} |
Vector3D | _v {} |
Vector3D | _n {} |
Vector3D | _o {} |
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.
|
inline |
|
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().
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().
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().
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().
|
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().
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().
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().