CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 Local3DPoint &) const =0
 Determine if the point is inside the bounds. More...
 
virtual bool inside (const Local2DPoint &p) const
 
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 LocalError &, float scale=1.f) const =0
 Determine if a point is inside the bounds, taking error into account. More...
 
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 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 20 of file Bounds.h.

Constructor & Destructor Documentation

virtual Bounds::~Bounds ( )
inlinevirtual

Definition at line 22 of file Bounds.h.

References length(), thickness(), and width().

22 {}

Member Function Documentation

virtual Bounds* Bounds::clone ( ) const
pure virtual
void Bounds::computeSpan ( Surface const &  plane)
inline

Definition at line 71 of file Bounds.h.

References BoundSpan::compute(), and m_span.

71 { m_span.compute(plane); }
void compute(Surface const &plane)
Definition: BoundSpan.cc:8
BoundSpan m_span
Definition: Bounds.h:74
virtual bool Bounds::inside ( const Local3DPoint ) const
pure virtual
virtual bool Bounds::inside ( const Local2DPoint p) const
inlinevirtual

Reimplemented in CSCLayerGeometry, TrapezoidalPlaneBounds, and RectangularPlaneBounds.

Definition at line 41 of file Bounds.h.

References inside(), PV2DBase< T, PVType, FrameType >::x(), and PV2DBase< T, PVType, FrameType >::y().

Referenced by inside().

41 { return inside(Local3DPoint(p.x(), p.y(), 0)); }
T y() const
Definition: PV2DBase.h:44
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
T x() const
Definition: PV2DBase.h:43
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
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 44 of file Bounds.h.

References f, inside(), and Scenarios_cff::scale.

44  {
45  return inside(p, LocalError(tollerance * tollerance, 0.f, tollerance * tollerance));
46  }
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
double f[11][100]
virtual bool Bounds::inside ( const Local3DPoint ,
const LocalError ,
float  scale = 1.f 
) const
pure virtual
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 TrapezoidalPlaneBounds, RectangularPlaneBounds, and OpenBounds.

Definition at line 59 of file Bounds.h.

References clone(), inside(), Scenarios_cff::scale, significanceInside(), PV2DBase< T, PVType, FrameType >::x(), and PV2DBase< T, PVType, FrameType >::y().

59  {
60  return inside(Local3DPoint(p.x(), p.y(), 0), err, scale);
61  }
T y() const
Definition: PV2DBase.h:44
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
T x() const
Definition: PV2DBase.h:43
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
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 GroupedCkfTrajectoryBuilder::advanceOneLayer(), Vispa.Views.LineDecayView.DecayLine::arrowBoundingRect(), TkLayerLess::barrelForwardLess(), MTDTopologyBuilder::build(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), RPCGeometryBuilderFromCondDB::build(), RPCGeometryBuilderFromDDD::buildGeometry(), DTGeometryValidate::compareShape(), RPCGeometryValidate::compareShape(), ValidateGeometry::compareShape(), TOBRod::computeWindowSize(), Phase2OTBarrelRod::computeWindowSize(), fastsim::TrackerSimHitProducer::createHitOnDetector(), FWTGeoRecoGeometryESProducer::createShape(), TIBLayer::cylinder(), RectangularEtaPhiTrackingRegion::estimator(), ApeEstimator::fillHitVariables(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), ThirdHitCorrection::init(), InnerDeltaPhi::initBarrelMS(), ThirdHitRZPredictionBase::initLayer(), DeDxTools::IsFarFromBorder(), ShallowGainCalibration::IsFarFromBorder(), SiStripGainFromData::IsFarFromBorder(), Vispa.Views.LineDecayView.DecayLine::labelBoundingRect(), SimpleNavigationSchool::linkNextForwardLayer(), TrajectoryManager::makeSinglePSimHit(), MSLayer::MSLayer(), MuonResidualsFromTrack::MuonResidualsFromTrack(), TIBLayer::overlap(), PixelBlade::overlap(), Phase1PixelBlade::overlap(), Vispa.Views.LineDecayView.DecayLine::paint(), MTDNavigationPrinter::printLayer(), MuonNavigationPrinter::printLayer(), TrackingRecHitStripGSPlugin::process(), PixelTemplateSmearerBase::process(), ValidateGeometry::validateDTLayerGeometry(), TracktoRPC::ValidRPCSurface(), SimpleNavigableLayer::wellInside(), and ~Bounds().

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

Definition at line 67 of file Bounds.h.

References m_span, and BoundSpan::phiSpan().

67 { return m_span.phiSpan(); }
std::pair< float, float > const & phiSpan() const
Definition: BoundSpan.h:19
BoundSpan m_span
Definition: Bounds.h:74
std::pair<float, float> const& Bounds::rSpan ( ) const
inline

Definition at line 69 of file Bounds.h.

References m_span, and BoundSpan::rSpan().

69 { return m_span.rSpan(); }
BoundSpan m_span
Definition: Bounds.h:74
std::pair< float, float > const & rSpan() const
Definition: BoundSpan.h:21
float Bounds::significanceInside ( const Local3DPoint ,
const LocalError  
) const
virtual

Reimplemented in TrapezoidalPlaneBounds, and RectangularPlaneBounds.

Definition at line 4 of file Bounds.cc.

Referenced by inside().

4  {
5  throw GeometryError("howMuchInside not implemented");
6 }
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(), CSCGeometryBuilder::buildChamber(), DTGeometryValidate::compareShape(), RPCGeometryValidate::compareShape(), ValidateGeometry::compareShape(), Cylinder::computeRadius(), TIBLayer::computeWindowSize(), fastsim::TrackerSimHitProducer::createHitOnDetector(), FWTGeoRecoGeometryESProducer::createShape(), TIBLayer::cylinder(), SiPixelLorentzAngleCalibration::derivatives(), SiStripBackplaneCalibration::derivatives(), SiPixelDigitizerAlgorithm::digitize(), shallow::drift(), Phase2TrackerDigitizerAlgorithm::drift(), SiPixelDigitizerAlgorithm::drift(), SiStripLorentzAngleCalibration::effectiveThickness(), RectangularEtaPhiTrackingRegion::estimator(), ApeEstimator::fillHitVariables(), Phase2StripCPE::fillParam(), ClusterShapeHitFilter::getCotangent(), MuonDetIdAssociator::getDetIdPoints(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerZ(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), PixelTripletNoTipGenerator::hitTriplets(), InnerDeltaPhi::initBarrelLayer(), InnerDeltaPhi::initForwardLayer(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), SiStripGainCosmicCalculator::moduleThickness(), MSLayer::MSLayer(), CylinderBuilderFromDet::operator()(), StandaloneTrackMonitor::processClusters(), StandaloneTrackMonitor::processHit(), HSCPDeDxInfoProducer::processHit(), DeDxHitInfoProducer::processHit(), SiHitDigitizer::processHit(), DeDxEstimatorProducer::processHit(), MuonSimHitProducer::produce(), SiStripTrackingRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis_matched(), StripSubClusterShapeFilterBase::testLastHit(), ValidateGeometry::validateDTLayerGeometry(), SimpleNavigableLayer::wellInside(), and ~Bounds().

virtual float Bounds::width ( ) const
pure virtual

"width" of the bounds; refer to the concrete class documentation for the specific definition.

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

Referenced by Vispa.Main.MainWindow.MainWindow::_saveIni(), SiStripHitEffFromCalibTree::algoAnalyze(), HitEff::analyze(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), MTDTopologyBuilder::build(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), DTGeometryValidate::compareShape(), RPCGeometryValidate::compareShape(), ValidateGeometry::compareShape(), MTDTrayBarrelLayer::compatibleDets(), MuRodBarrelLayer::compatibleDets(), Cylinder::computeRadius(), Vispa.Gui.VispaWidget.VispaWidget::contentRect(), fastsim::TrackerSimHitProducer::createHitOnDetector(), FWTGeoRecoGeometryESProducer::createShape(), Vispa.Gui.VispaWidget.VispaWidget::defineArrowBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineCircleBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineRoundRectBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::drawHeaderBackground(), Vispa.Gui.ConnectableWidget.ConnectableWidget::drawPortLines(), Vispa.Gui.ConnectableWidget.ConnectableWidget::drawPortNames(), ApeEstimator::fillHitVariables(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), Vispa.Gui.VispaWidget.VispaWidget::imageRectF(), TrajectoryManager::makeSinglePSimHit(), SiStripGainCosmicCalculator::moduleWidth(), MuonResidualsFromTrack::MuonResidualsFromTrack(), Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), PixelTemplateSmearerBase::process(), Vispa.Gui.VispaWidget.VispaWidget::resize(), Vispa.Views.PropertyView.PropertyView::resizeEvent(), Vispa.Views.PropertyView.PropertyView::sectionResized(), Vispa.Gui.VispaWidget.VispaWidget::setZoom(), Vispa.Main.MainWindow.MainWindow::updateStartupScreenGeometry(), ValidateGeometry::validateDTLayerGeometry(), TracktoRPC::ValidRPCSurface(), widthAtHalfLength(), and ~Bounds().

virtual float Bounds::widthAtHalfLength ( ) const
inlinevirtual

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

Reimplemented in TrapezoidalPlaneBounds.

Definition at line 37 of file Bounds.h.

References inside(), and width().

Referenced by StripTopologyBuilder::build().

37 { return width(); }
virtual float width() const =0
std::pair<float, float> const& Bounds::zSpan ( ) const
inline

Definition at line 68 of file Bounds.h.

References m_span, and BoundSpan::zSpan().

68 { return m_span.zSpan(); }
std::pair< float, float > const & zSpan() const
Definition: BoundSpan.h:20
BoundSpan m_span
Definition: Bounds.h:74

Member Data Documentation

BoundSpan Bounds::m_span
private

Definition at line 74 of file Bounds.h.

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