CMS 3D CMS Logo

Cone Class Reference

A Cone. More...

#include <DataFormats/GeometrySurface/interface/Cone.h>

Inheritance diagram for Cone:

Surface GloballyPositioned< float > ReferenceCounted

List of all members.

Public Types

typedef
ReferenceCountingPointer< Cone
ConePointer
typedef
ReferenceCountingPointer< Cone
ConstConePointer

Public Member Functions

 Cone (const PositionType &pos, const RotationType &rot, const PositionType &vert, Geom::Theta< Scalar > angle)
 Do not use this constructor directly; use the static build method, which returns a ReferenceCountingPointer.
Geom::Theta< float > openingAngle () const
 Angle of the cone.
virtual Side side (const GlobalPoint &p, Scalar tolerance) const
 Returns the side of the surface on which the point is.
virtual Side side (const LocalPoint &p, Scalar tolerance) const
 Returns the side of the surface on which the point is.
virtual
ReferenceCountingPointer
< TangentPlane
tangentPlane (const LocalPoint &) const
 Tangent plane to surface from global point.
virtual
ReferenceCountingPointer
< TangentPlane
tangentPlane (const GlobalPoint &) const
 Tangent plane to surface from global point.
GlobalPoint vertex () const
 Global position of the cone vertex.

Static Public Member Functions

static ConePointer build (const PositionType &pos, const RotationType &rot, const PositionType &vert, Geom::Theta< Scalar > angle)
 Construct a cone with the specified vertex and opening angle.

Protected Member Functions

 Cone (const PositionType &pos, const RotationType &rot, const PositionType &vert, Geom::Theta< Scalar > angle, MediumProperties *mp)

Private Attributes

Geom::Theta< ScalartheAngle
GlobalPoint theVertex


Detailed Description

A Cone.

Warning:
Surfaces are reference counted, so only ReferenceCountingPointer should be used to point to them. For this reason, they should be using the static build() method. (The normal constructors will become private in the future).
Date
2007/07/31 15:20:07
Revision
1.2

Definition at line 20 of file Cone.h.


Member Typedef Documentation

typedef ReferenceCountingPointer<Cone> Cone::ConePointer

Definition at line 22 of file Cone.h.

typedef ReferenceCountingPointer<Cone> Cone::ConstConePointer

Definition at line 23 of file Cone.h.


Constructor & Destructor Documentation

Cone::Cone ( const PositionType pos,
const RotationType rot,
const PositionType vert,
Geom::Theta< Scalar angle 
) [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 42 of file Cone.h.

Referenced by build().

00043                                                            :
00044     Surface( pos, rot), theVertex(vert), theAngle(angle) {}

Cone::Cone ( const PositionType pos,
const RotationType rot,
const PositionType vert,
Geom::Theta< Scalar angle,
MediumProperties mp 
) [inline, protected]

Definition at line 68 of file Cone.h.

00070                              : 
00071     Surface(pos, rot, mp), theVertex(vert), theAngle(angle) {}


Member Function Documentation

static ConePointer Cone::build ( const PositionType pos,
const RotationType rot,
const PositionType vert,
Geom::Theta< Scalar angle 
) [inline, static]

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 29 of file Cone.h.

References Cone().

00032                                                     {
00033     return ConePointer(new Cone(pos, rot, vert, angle));
00034   }

Geom::Theta<float> Cone::openingAngle (  )  const [inline]

Angle of the cone.

Definition at line 53 of file Cone.h.

References theAngle.

Referenced by SteppingHelixPropagator::refToMagVolume(), and MagGeoBuilderFromDDD::volumeHandle::sameSurface().

00053 {return theAngle;}

virtual Side Cone::side ( const GlobalPoint p,
Scalar  tolerance 
) const [virtual]

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.

Surface::Side Cone::side ( const LocalPoint p,
Scalar  tolerance 
) const [inline, virtual]

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 58 of file Cone.h.

References Surface::toGlobal().

00058 {return side( toGlobal(p), tolerance);}

virtual ReferenceCountingPointer<TangentPlane> Cone::tangentPlane ( const LocalPoint  )  const [virtual]

Tangent plane to surface from global point.

Returns a new 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.

ReferenceCountingPointer< TangentPlane > Cone::tangentPlane ( const GlobalPoint  )  const [virtual]

Tangent plane to surface from global point.

Returns a new 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 GenMuonPlsPt100GeV_cfg::cout, and lat::endl().

00008                                                                                    {
00009   // FIXME: to be implemented...
00010   std::cout << "*** WARNING: Cone::tangentPlane not implemented." <<std::endl;
00011   abort();
00012   return ReferenceCountingPointer<TangentPlane>();
00013 }

GlobalPoint Cone::vertex (  )  const [inline]

Global position of the cone vertex.

Definition at line 50 of file Cone.h.

References theVertex.

Referenced by SteppingHelixPropagator::refToMagVolume(), and MagGeoBuilderFromDDD::volumeHandle::sameSurface().

00050 {return theVertex;}


Member Data Documentation

Geom::Theta<Scalar> Cone::theAngle [private]

Definition at line 76 of file Cone.h.

Referenced by openingAngle().

GlobalPoint Cone::theVertex [private]

Definition at line 75 of file Cone.h.

Referenced by vertex().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:16:38 2009 for CMSSW by  doxygen 1.5.4