CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
Bounds Class Referenceabstract

#include <Bounds.h>

Inheritance diagram for Bounds:
DiskSectorBounds FourPointPlaneBounds GeneralNSurfaceDelimitedBounds OpenBounds RectangularPlaneBounds SimpleConeBounds SimpleCylinderBounds SimpleDiskBounds TrapezoidalPlaneBounds

Public Member Functions

virtual Boundsclone () const =0
 
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...
 
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...
 
virtual float length () const =0
 
std::pair< float, float > const & phiSpan () const
 
std::pair< float, float > const & rSpan () const
 
virtual float significanceInside (const Local3DPoint &, const LocalError &) const
 
virtual float thickness () const =0
 
virtual float width () const =0
 
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

BoundSpan m_span
 

Detailed Description

Abstract base class for Bounds.

Bounds provide a general way to specify the form of a concrete surface. For example, a BoundPlane with TrapezoidalPlaneBounds has a trapezoidal shape.

Definition at line 18 of file Bounds.h.

Constructor & Destructor Documentation

◆ ~Bounds()

virtual Bounds::~Bounds ( )
inlinevirtual

Definition at line 20 of file Bounds.h.

20 {}

Member Function Documentation

◆ clone()

virtual Bounds* Bounds::clone ( ) const
pure virtual

◆ computeSpan()

void Bounds::computeSpan ( Surface const &  plane)
inline

Definition at line 69 of file Bounds.h.

69 { m_span.compute(plane); }

References BoundSpan::compute(), and m_span.

◆ inside() [1/5]

virtual bool Bounds::inside ( const Local2DPoint p) const
inlinevirtual

Reimplemented in TrapezoidalPlaneBounds, RectangularPlaneBounds, and CSCLayerGeometry.

Definition at line 39 of file Bounds.h.

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

References inside(), and AlCaHLTBitMon_ParallelJobs::p.

Referenced by inside().

◆ inside() [2/5]

virtual bool Bounds::inside ( const Local2DPoint p,
const LocalError err,
float  scale = 1.f 
) const
inlinevirtual

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

Reimplemented in RectangularPlaneBounds, TrapezoidalPlaneBounds, and OpenBounds.

Definition at line 57 of file Bounds.h.

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

References submitPVResolutionJobs::err, inside(), AlCaHLTBitMon_ParallelJobs::p, and L1EGammaCrystalsEmulatorProducer_cfi::scale.

◆ inside() [3/5]

virtual bool Bounds::inside ( const Local2DPoint p,
float  tollerance 
) const
inlinevirtual

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

Reimplemented in RectangularPlaneBounds.

Definition at line 42 of file Bounds.h.

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

References f, inside(), and AlCaHLTBitMon_ParallelJobs::p.

◆ inside() [4/5]

virtual bool Bounds::inside ( const Local3DPoint ) const
pure virtual

◆ inside() [5/5]

virtual bool Bounds::inside ( const Local3DPoint ,
const LocalError ,
float  scale = 1.f 
) const
pure virtual

◆ length()

virtual float Bounds::length ( ) const
pure virtual

"Lenght" of the bounded volume; refer to the concrete class documentation for the specific definition.

Implemented in SimpleConeBounds, TrapezoidalPlaneBounds, GeneralNSurfaceDelimitedBounds, SimpleCylinderBounds, DiskSectorBounds, RectangularPlaneBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by TkLayerLess::barrelForwardLess(), RPCGeometryBuilderFromCondDB::build(), RPCGeometryBuilder::buildGeometry(), DTGeometryValidate::compareShape(), GEMGeometryValidate::compareShape(), RPCGeometryValidate::compareShape(), ME0GeometryValidate::compareShape(), CSCGeometryValidate::compareShape(), ValidateGeometry::compareShape(), fastsim::TrackerSimHitProducer::createHitOnDetector(), FWTGeoRecoGeometryESProducer::createShape(), TIBLayer::cylinder(), ApeEstimator::fillHitVariables(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), ThirdHitCorrection::init(), InnerDeltaPhi::initBarrelMS(), ThirdHitRZPredictionBase::initLayer(), ShallowGainCalibration::isFarFromBorder(), SiStripGainFromData::IsFarFromBorder(), DeDxTools::IsFarFromBorder(), SimpleNavigationSchool::linkNextForwardLayer(), TrajectoryManager::makeSinglePSimHit(), MSLayer::MSLayer(), MuonResidualsFromTrack::MuonResidualsFromTrack(), TIBLayer::overlap(), PixelBlade::overlap(), Phase1PixelBlade::overlap(), VectorHitBuilderAlgorithmBase::printCluster(), TrackingRecHitStripGSPlugin::process(), PixelTemplateSmearerBase::process(), TracktoRPC::ValidRPCSurface(), and SimpleNavigableLayer::wellInside().

◆ phiSpan()

std::pair<float, float> const& Bounds::phiSpan ( ) const
inline

Definition at line 65 of file Bounds.h.

65 { return m_span.phiSpan(); }

References m_span, and BoundSpan::phiSpan().

Referenced by Surface::phiSpan().

◆ rSpan()

std::pair<float, float> const& Bounds::rSpan ( ) const
inline

Definition at line 67 of file Bounds.h.

67 { return m_span.rSpan(); }

References m_span, and BoundSpan::rSpan().

Referenced by Surface::rSpan().

◆ significanceInside()

float Bounds::significanceInside ( const Local3DPoint ,
const LocalError  
) const
virtual

Reimplemented in TrapezoidalPlaneBounds, and RectangularPlaneBounds.

Definition at line 4 of file Bounds.cc.

4  {
5  throw GeometryError("howMuchInside not implemented");
6 }

◆ thickness()

virtual float Bounds::thickness ( ) const
pure virtual

"Thickness" of the bound around the surface; refer to the concrete class documentation for the specific definition.

Implemented in SimpleConeBounds, TrapezoidalPlaneBounds, SimpleCylinderBounds, GeneralNSurfaceDelimitedBounds, DiskSectorBounds, RectangularPlaneBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by SiStripCalibLorentzAngle::algoBeginJob(), SiStripLAProfileBooker::analyze(), SiStripDetInfoFileWriter::beginRun(), DTGeometryValidate::compareShape(), GEMGeometryValidate::compareShape(), RPCGeometryValidate::compareShape(), ME0GeometryValidate::compareShape(), CSCGeometryValidate::compareShape(), ValidateGeometry::compareShape(), MTDSectorForwardDoubleLayer::compatible(), Cylinder::computeRadius(), TIBLayer::computeWindowSize(), fastsim::TrackerSimHitProducer::createHitOnDetector(), FWTGeoRecoGeometryESProducer::createShape(), TIBLayer::cylinder(), SiPixelDigitizerAlgorithm::digitize(), shallow::drift(), Pixel3DDigitizerAlgorithm::drift(), Phase2TrackerDigitizerAlgorithm::drift(), SiPixelDigitizerAlgorithm::drift(), SiStripLorentzAngleCalibration::effectiveThickness(), ApeEstimator::fillHitVariables(), Phase2StripCPE::fillParam(), ClusterShapeHitFilter::getCotangent(), MuonDetIdAssociator::getDetIdPoints(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), PixelTripletNoTipGenerator::hitTriplets(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), SiStripGainCosmicCalculator::moduleThickness(), CylinderBuilderFromDet::operator()(), StandaloneTrackMonitor::processClusters(), SiHitDigitizer::processHit(), DeDxHitInfoProducer::processHit(), StandaloneTrackMonitor::processHit(), DeDxEstimatorProducer::processHit(), MuonSimHitProducer::produce(), SiStripTrackingRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis_matched(), StripSubClusterShapeFilterBase::testLastHit(), and SimpleNavigableLayer::wellInside().

◆ width()

virtual float Bounds::width ( ) const
pure virtual

◆ widthAtHalfLength()

virtual float Bounds::widthAtHalfLength ( ) const
inlinevirtual

Width at half length. Useful for e.g. pitch definition.

Reimplemented in TrapezoidalPlaneBounds.

Definition at line 35 of file Bounds.h.

35 { return width(); }

References width().

◆ zSpan()

std::pair<float, float> const& Bounds::zSpan ( ) const
inline

Definition at line 66 of file Bounds.h.

66 { return m_span.zSpan(); }

References m_span, and BoundSpan::zSpan().

Referenced by Surface::zSpan().

Member Data Documentation

◆ m_span

BoundSpan Bounds::m_span
private

Definition at line 72 of file Bounds.h.

Referenced by computeSpan(), phiSpan(), rSpan(), and zSpan().

Bounds::width
virtual float width() const =0
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition: L1EGammaCrystalsEmulatorProducer_cfi.py:10
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
Bounds::inside
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
Bounds::m_span
BoundSpan m_span
Definition: Bounds.h:72
BoundSpan::phiSpan
std::pair< float, float > const & phiSpan() const
Definition: BoundSpan.h:19
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
LocalError
Definition: LocalError.h:12
BoundSpan::zSpan
std::pair< float, float > const & zSpan() const
Definition: BoundSpan.h:20
BoundSpan::compute
void compute(Surface const &plane)
Definition: BoundSpan.cc:8
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
GeometryError
Definition: GeomExceptions.h:18
BoundSpan::rSpan
std::pair< float, float > const & rSpan() const
Definition: BoundSpan.h:21
Local3DPoint
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9