#include <Cone.h>
Public Types | |
typedef ReferenceCountingPointer< Cone > | ConePointer |
typedef ReferenceCountingPointer< Cone > | ConstConePointer |
Public Types inherited from Surface | |
typedef GloballyPositioned< float > | Base |
typedef SurfaceOrientation::Side | 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 |
Public Member Functions | |
template<typename... Args> | |
Cone (const PositionType &vert, Geom::Theta< Scalar > angle, Args &&...args) | |
Cone (const PositionType &pos, const RotationType &rot, const PositionType &vert, Geom::Theta< Scalar > angle) | |
Geom::Theta< float > | openingAngle () const |
Angle of the cone. More... | |
virtual Side | side (const LocalPoint &p, Scalar tolerance) const |
virtual Side | side (const GlobalPoint &p, Scalar tolerance) const |
virtual ReferenceCountingPointer < TangentPlane > | tangentPlane (const GlobalPoint &) const |
virtual ReferenceCountingPointer < TangentPlane > | tangentPlane (const LocalPoint &) const |
GlobalPoint | vertex () const |
Global position of the cone vertex. More... | |
Public Member Functions inherited from Surface | |
const Bounds & | bounds () const |
const MediumProperties & | mediumProperties () const |
std::pair< float, float > const & | phiSpan () const |
std::pair< float, float > const & | rSpan () const |
void | setMediumProperties (const MediumProperties &mp) |
GlobalPoint | toGlobal (const Point2DBase< Scalar, LocalTag > lp) const |
std::pair< float, float > const & | zSpan () const |
virtual | ~Surface () |
Public Member Functions inherited from GloballyPositioned< float > | |
float | eta () const |
GloballyPositioned () | |
GloballyPositioned (const PositionType &pos, const RotationType &rot) | |
void | move (const GlobalVector &displacement) |
float | phi () const |
const PositionType & | position () const |
void | rotate (const RotationType &rotation) |
const RotationType & | rotation () const |
GlobalPoint | toGlobal (const LocalPoint &lp) const |
Point3DBase< U, GlobalTag > | toGlobal (const Point3DBase< U, LocalTag > &lp) const |
GlobalVector | toGlobal (const LocalVector &lv) const |
Vector3DBase< U, GlobalTag > | toGlobal (const Vector3DBase< U, LocalTag > &lv) const |
LocalPoint | toLocal (const GlobalPoint &gp) const |
Point3DBase< U, LocalTag > | toLocal (const Point3DBase< U, GlobalTag > &gp) const |
LocalVector | toLocal (const GlobalVector &gv) const |
Vector3DBase< U, LocalTag > | toLocal (const Vector3DBase< U, GlobalTag > &gv) const |
virtual | ~GloballyPositioned () |
Public Member Functions inherited from BasicReferenceCounted | |
void | addReference () const |
BasicReferenceCounted () | |
BasicReferenceCounted (const BasicReferenceCounted &iRHS) | |
const BasicReferenceCounted & | operator= (const BasicReferenceCounted &) |
unsigned int | references () const |
void | removeReference () const |
virtual | ~BasicReferenceCounted () |
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) | |
Protected Attributes inherited from Surface | |
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 SteppingHelixPropagator::refToMagVolume(), MagGeoBuilderFromDDD::volumeHandle::sameSurface(), and side().
|
private |
Definition at line 75 of file Cone.h.
Referenced by openingAngle().
|
private |