CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SimpleCylinderBounds Class Referencefinal

#include <SimpleCylinderBounds.h>

Inheritance diagram for SimpleCylinderBounds:
Bounds

Public Member Functions

Boundsclone () const override
 
virtual bool inside (const Local2DPoint &p) const
 
virtual bool inside (const Local2DPoint &p, const LocalError &err) const
 
virtual bool inside (const Local2DPoint &p, const LocalError &err, float scale=1.f) const
 Determine if a 2D point is inside the bounds, taking error into account. More...
 
virtual bool inside (const Local2DPoint &p, float tollerance) const
 Determine if a point is inside the bounds, taking a tollerance into account. More...
 
virtual bool inside (const Local3DPoint &) const=0
 Determine if the point is inside the bounds. More...
 
virtual bool inside (const Local3DPoint &, const LocalError &, float scale=1.f) const=0
 Determine if a point is inside the bounds, taking error into account. More...
 
bool inside (const Local3DPoint &p) const override
 Determine if the point is inside the bounds. More...
 
bool inside (const Local3DPoint &p, const LocalError &err, float scale) const override
 Determine if a point is inside the bounds, taking error into account. More...
 
float length () const override
 Lenght of the cylinder. More...
 
 SimpleCylinderBounds (float rmin, float rmax, float zmin, float zmax)
 
float thickness () const override
 Thikness of the "pipe", i.e. difference between outer and inner radius. More...
 
float width () const override
 Outer diameter of the cylinder. More...
 
- Public Member Functions inherited from Bounds
void computeSpan (Surface const &plane)
 
virtual bool inside (const Local2DPoint &p) const
 
virtual bool inside (const Local2DPoint &p, const LocalError &err, float scale=1.f) const
 Determine if a 2D point is inside the bounds, taking error into account. More...
 
virtual bool inside (const Local2DPoint &p, float tollerance) const
 Determine if a point is inside the bounds, taking a tollerance into account. More...
 
std::pair< float, float > const & phiSpan () const
 
std::pair< float, float > const & rSpan () const
 
virtual float significanceInside (const Local3DPoint &, const LocalError &) const
 
virtual float widthAtHalfLength () const
 Width at half length. Useful for e.g. pitch definition. More...
 
std::pair< float, float > const & zSpan () const
 
virtual ~Bounds ()
 

Private Attributes

float theRmax
 
float theRmin
 
float theZmax
 
float theZmin
 

Detailed Description

Cylinder bounds. The cylinder axis coincides with the Z axis. The bounds limit the length at constant Z, and allow finite thickness. The cylinder bound in this way looks like a pipe cut perpendicularily to it's axis. Width is intended as the (outer) diameter of the pipe and thickness as the thickness of the pipe, i.e. difference between outer and inner radius

Definition at line 19 of file SimpleCylinderBounds.h.

Constructor & Destructor Documentation

◆ SimpleCylinderBounds()

SimpleCylinderBounds::SimpleCylinderBounds ( float  rmin,
float  rmax,
float  zmin,
float  zmax 
)

Definition at line 4 of file SimpleCylinderBounds.cc.

5  : theRmin(rmin), theRmax(rmax), theZmin(zmin), theZmax(zmax) {
6  if (theRmin > theRmax)
8  if (theZmin > theZmax)
10 }

References std::swap(), theRmax, theRmin, theZmax, and theZmin.

Referenced by clone().

Member Function Documentation

◆ clone()

Bounds * SimpleCylinderBounds::clone ( void  ) const
overridevirtual

Implements Bounds.

Definition at line 24 of file SimpleCylinderBounds.cc.

24 { return new SimpleCylinderBounds(*this); }

References SimpleCylinderBounds().

◆ inside() [1/8]

virtual bool Bounds::inside
inline

Definition at line 39 of file Bounds.h.

39 { return inside(Local3DPoint(p.x(), p.y(), 0)); }

◆ inside() [2/8]

bool SimpleCylinderBounds::inside ( const Local2DPoint p,
const LocalError err 
) const
virtual

◆ inside() [3/8]

virtual bool Bounds::inside
inline

Determine if a 2D point is inside the bounds, taking error into account.

Definition at line 57 of file Bounds.h.

57  {
58  return inside(Local3DPoint(p.x(), p.y(), 0), err, scale);
59  }

◆ inside() [4/8]

virtual bool Bounds::inside
inline

Determine if a point is inside the bounds, taking a tollerance into account.

Definition at line 42 of file Bounds.h.

42  {
43  return inside(p, LocalError(tollerance * tollerance, 0.f, tollerance * tollerance));
44  }

◆ inside() [5/8]

virtual bool Bounds::inside

Determine if the point is inside the bounds.

◆ inside() [6/8]

virtual bool Bounds::inside

Determine if a point is inside the bounds, taking error into account.

◆ inside() [7/8]

bool SimpleCylinderBounds::inside ( const Local3DPoint ) const
overridevirtual

Determine if the point is inside the bounds.

Implements Bounds.

Definition at line 12 of file SimpleCylinderBounds.cc.

12  {
13  return p.z() > theZmin && p.z() < theZmax && p.perp() > theRmin && p.perp() < theRmax;
14 }

References AlCaHLTBitMon_ParallelJobs::p, theRmax, theRmin, theZmax, and theZmin.

◆ inside() [8/8]

bool SimpleCylinderBounds::inside ( const Local3DPoint ,
const LocalError ,
float  scale 
) const
overridevirtual

Determine if a point is inside the bounds, taking error into account.

Implements Bounds.

Definition at line 16 of file SimpleCylinderBounds.cc.

16  {
18 
19  return tmp.inside(p);
20 }

References submitPVResolutionJobs::err, AlCaHLTBitMon_ParallelJobs::p, L1EGammaCrystalsEmulatorProducer_cfi::scale, mathSSE::sqrt(), theRmax, theRmin, theZmax, theZmin, and createJobs::tmp.

◆ length()

float SimpleCylinderBounds::length ( ) const
inlineoverridevirtual

Lenght of the cylinder.

Implements Bounds.

Definition at line 24 of file SimpleCylinderBounds.h.

24 { return theZmax - theZmin; }

References theZmax, and theZmin.

◆ thickness()

float SimpleCylinderBounds::thickness ( ) const
inlineoverridevirtual

Thikness of the "pipe", i.e. difference between outer and inner radius.

Implements Bounds.

Definition at line 28 of file SimpleCylinderBounds.h.

28 { return theRmax - theRmin; }

References theRmax, and theRmin.

◆ width()

float SimpleCylinderBounds::width ( ) const
inlineoverridevirtual

Outer diameter of the cylinder.

Implements Bounds.

Definition at line 26 of file SimpleCylinderBounds.h.

26 { return 2 * theRmax; }

References theRmax.

Member Data Documentation

◆ theRmax

float SimpleCylinderBounds::theRmax
private

Definition at line 41 of file SimpleCylinderBounds.h.

Referenced by inside(), SimpleCylinderBounds(), thickness(), and width().

◆ theRmin

float SimpleCylinderBounds::theRmin
private

Definition at line 40 of file SimpleCylinderBounds.h.

Referenced by inside(), SimpleCylinderBounds(), and thickness().

◆ theZmax

float SimpleCylinderBounds::theZmax
private

Definition at line 43 of file SimpleCylinderBounds.h.

Referenced by inside(), length(), and SimpleCylinderBounds().

◆ theZmin

float SimpleCylinderBounds::theZmin
private

Definition at line 42 of file SimpleCylinderBounds.h.

Referenced by inside(), length(), and SimpleCylinderBounds().

L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:10
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
SimpleCylinderBounds::inside
bool inside(const Local3DPoint &p) const override
Determine if the point is inside the bounds.
Definition: SimpleCylinderBounds.cc:12
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
SiStripMonitorCluster_cfi.zmin
zmin
Definition: SiStripMonitorCluster_cfi.py:200
SimpleCylinderBounds
Definition: SimpleCylinderBounds.h:19
std::swap
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
Definition: DataFrameContainer.h:209
SiStripMonitorCluster_cfi.zmax
zmax
Definition: SiStripMonitorCluster_cfi.py:201
Bounds::inside
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
SimpleCylinderBounds::SimpleCylinderBounds
SimpleCylinderBounds(float rmin, float rmax, float zmin, float zmax)
Definition: SimpleCylinderBounds.cc:4
SimpleCylinderBounds::theZmin
float theZmin
Definition: SimpleCylinderBounds.h:42
SimpleCylinderBounds::theRmin
float theRmin
Definition: SimpleCylinderBounds.h:40
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
LocalError
Definition: LocalError.h:12
SimpleCylinderBounds::theZmax
float theZmax
Definition: SimpleCylinderBounds.h:43
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
SimpleCylinderBounds::theRmax
float theRmax
Definition: SimpleCylinderBounds.h:41
Local3DPoint
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9