|
DD4hep
01.18
|
Implementation of cylindrical surface attached to a volume. More...
#include <Surface.h>
Inheritance diagram for dd4hep::rec::VolCylinderImpl:Public Member Functions | |
| VolCylinderImpl () | |
| default c'tor More... | |
| VolCylinderImpl (Volume vol, SurfaceType type, double thickness_inner, double thickness_outer, Vector3D origin) | |
| The standard constructor. More... | |
| virtual Vector3D | u (const Vector3D &point=Vector3D()) const |
| First direction of measurement U - rotated to point projected onto the cylinder. More... | |
| virtual Vector3D | normal (const Vector3D &point=Vector3D()) const |
| The normal direction at the given point, projected onto the cylinder. More... | |
| virtual double | distance (const Vector3D &point) const |
| Distance to surface. More... | |
| virtual Vector2D | globalToLocal (const Vector3D &point) const |
| Convert the global position to the local position (u,v) on the surface - v runs along the axis of the cylinder, u is r*phi. More... | |
| virtual Vector3D | localToGlobal (const Vector2D &point) const |
| Convert the local position (u,v) on the surface to the global position - v runs along the axis of the cylinder, u is r*phi. More... | |
Public Member Functions inherited from dd4hep::rec::VolSurfaceBase | |
| virtual | ~VolSurfaceBase ()=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 |
| The id of this surface. More... | |
| virtual const SurfaceType & | type () const |
| properties of the surface encoded in Type. More... | |
| virtual Vector3D | v (const Vector3D &point=Vector3D()) const |
| Second direction of measurement V. More... | |
| virtual const Vector3D & | origin () const |
| Get Origin of local coordinate system on surface. 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 | innerThickness () const |
| Thickness of inner material. More... | |
| virtual double | outerThickness () const |
| Thickness of outer material. 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 bool | insideBounds (const Vector3D &point, double epsilon=1e-4) const |
| 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 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... | |
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} |
Implementation of cylindrical surface attached to a volume.
|
inline |
| dd4hep::rec::VolCylinderImpl::VolCylinderImpl | ( | Volume | vol, |
| SurfaceType | type, | ||
| double | thickness_inner, | ||
| double | thickness_outer, | ||
| Vector3D | origin | ||
| ) |
The standard constructor.
The origin vector points to the origin of the coordinate system on the cylinder, its rho defining the radius of the cylinder. The measurement direction v is set to be (0,0,1), the normal is chosen to be parallel to the origin vector and u = n X v.
Definition at line 277 of file Surface.cpp.
References dd4hep::rec::VolSurfaceBase::_type, dd4hep::rec::SurfaceType::checkOrthogonalToZ(), dd4hep::rec::SurfaceType::checkParallelToZ(), dd4hep::rec::SurfaceType::Cone, dd4hep::rec::Vector3D::cross(), dd4hep::rec::SurfaceType::Cylinder, dd4hep::rec::SurfaceType::Plane, dd4hep::rec::VolSurfaceBase::setNormal(), dd4hep::rec::SurfaceType::setProperty(), dd4hep::rec::VolSurfaceBase::setU(), dd4hep::rec::VolSurfaceBase::setV(), dd4hep::rec::Vector3D::unit(), dd4hep::rec::Vector3D::x(), and dd4hep::rec::Vector3D::y().
|
virtual |
Distance to surface.
Reimplemented from dd4hep::rec::VolSurfaceBase.
Definition at line 335 of file Surface.cpp.
References dd4hep::rec::VolSurfaceBase::origin(), and dd4hep::rec::Vector3D::rho().
Convert the global position to the local position (u,v) on the surface - v runs along the axis of the cylinder, u is r*phi.
Reimplemented from dd4hep::rec::VolSurfaceBase.
Definition at line 310 of file Surface.cpp.
References dd4hep::rec::VolSurfaceBase::origin(), dd4hep::rec::Vector3D::phi(), and dd4hep::rec::Vector3D::z().
Convert the local position (u,v) on the surface to the global position - v runs along the axis of the cylinder, u is r*phi.
Reimplemented from dd4hep::rec::VolSurfaceBase.
Definition at line 322 of file Surface.cpp.
References dd4hep::rec::Vector3D::cylindrical(), dd4hep::rec::VolSurfaceBase::origin(), dd4hep::rec::Vector3D::phi(), dd4hep::rec::Vector3D::rho(), dd4hep::rec::Vector2D::u(), dd4hep::rec::Vector2D::v(), and dd4hep::rec::Vector3D::z().
The normal direction at the given point, projected onto the cylinder.
No check is done whether the point actually is on the cylinder surface
Reimplemented from dd4hep::rec::VolSurfaceBase.
Definition at line 304 of file Surface.cpp.
References dd4hep::rec::Vector3D::cylindrical(), and dd4hep::rec::Vector3D::phi().
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::VolSurfaceBase.
Definition at line 297 of file Surface.cpp.
References dd4hep::rec::Vector3D::cross(), dd4hep::rec::Vector3D::cylindrical(), dd4hep::rec::Vector3D::phi(), and dd4hep::rec::VolSurfaceBase::v().
1.8.5