#include <Cone.h>
Public Types | |
typedef ReferenceCountingPointer< Cone > | ConePointer |
typedef ReferenceCountingPointer< Cone > | ConstConePointer |
Public Types inherited from Surface | |
using | Base = GloballyPositioned< float > |
using | Side = SurfaceOrientation::Side |
Public Types inherited from GloballyPositioned< float > | |
typedef Point3DBase< float, GlobalTag > | GlobalPoint |
typedef Vector3DBase< float, GlobalTag > | GlobalVector |
typedef Point3DBase< float, LocalTag > | LocalPoint |
typedef Vector3DBase< float, LocalTag > | LocalVector |
typedef Point3DBase< float, GlobalTag > | PositionType |
typedef TkRotation< float > | RotationType |
typedef float | Scalar |
Static Public Member Functions | |
static ConePointer | build (const PositionType &pos, const RotationType &rot, const PositionType &vert, Geom::Theta< Scalar > angle) |
Static Public Member Functions inherited from GloballyPositioned< float > | |
static float | iniEta () |
static float | iniPhi () |
Private Attributes | |
Geom::Theta< Scalar > | theAngle |
GlobalPoint | theVertex |
Additional Inherited Members | |
Protected Member Functions inherited from Surface | |
Surface () | |
Surface (const PositionType &pos, const RotationType &rot) | |
Surface (const PositionType &pos, const RotationType &rot, Bounds *bounds) | |
Surface (const PositionType &pos, const RotationType &rot, MediumProperties mp) | |
Surface (const PositionType &pos, const RotationType &rot, MediumProperties mp, Bounds *bounds) | |
Surface (const Surface &iSurface) | |
Surface (Surface &&iSurface) | |
Protected Attributes inherited from Surface | |
extstd::clone_ptr< Bounds > | theBounds |
MediumProperties | theMediumProperties |
A Cone.
|
inline |
|
inline |
Do not use this constructor directly; use the static build method, which returns a ReferenceCountingPointer. This constructor will soon become private
Definition at line 47 of file Cone.h.
|
inlinestatic |
Construct a cone with the specified vertex and opening angle. The reference frame is defined by pos and rot; the cone axis is parallel to the local Z axis.
Definition at line 34 of file Cone.h.
References Cone().
Referenced by psClasses.BuildThread::run().
|
inline |
Angle of the cone.
Definition at line 58 of file Cone.h.
References theAngle.
Referenced by SteppingHelixPropagator::refToMagVolume(), MagGeoBuilderFromDDD::volumeHandle::sameSurface(), and side().
|
inlinevirtual |
Returns the side of the surface on which the point is. Not defined for 1-sided surfaces (Moebius leaf etc.) For normal 2-sided surfaces the meaning of side is surface type dependent.
Implements Surface.
Definition at line 63 of file Cone.h.
References side(), and Surface::toGlobal().
Referenced by side().
|
virtual |
Reimplemented from Surface.
Definition at line 22 of file Cone.cc.
References delta, SurfaceOrientation::negativeSide, SurfaceOrientation::onSurface, openingAngle(), p1, Geom::pi(), SurfaceOrientation::positiveSide, vertex(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
virtual |
Tangent plane to surface from global point. Returns a plane, tangent to the Surface at a point. The point must be on the surface. The return type is a ReferenceCountingPointer, so the plane will be deleted automatically when no longer needed.
Implements Surface.
Definition at line 8 of file Cone.cc.
References gather_cfg::cout.
|
virtual |
Tangent plane to surface from local point.
Implements Surface.
Definition at line 15 of file Cone.cc.
References gather_cfg::cout.
|
inline |
Global position of the cone vertex.
Definition at line 55 of file Cone.h.
References theVertex.
Referenced by Tau.Tau::dxy(), SteppingHelixPropagator::refToMagVolume(), MagGeoBuilderFromDDD::volumeHandle::sameSurface(), and side().
|
private |
Definition at line 75 of file Cone.h.
Referenced by openingAngle().
|
private |