CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
Bounds Class Referenceabstract

#include <Bounds.h>

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

Public Member Functions

virtual Boundsclone () const =0
 
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 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
 
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...
 
virtual ~Bounds ()
 

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

virtual Bounds::~Bounds ( )
inlinevirtual

Definition at line 20 of file Bounds.h.

20 {}

Member Function Documentation

virtual Bounds* Bounds::clone ( ) const
pure virtual
virtual bool Bounds::inside ( const Local3DPoint ) const
pure virtual
virtual bool Bounds::inside ( const Local2DPoint p) const
inlinevirtual

Reimplemented in CSCLayerGeometry, TrapezoidalPlaneBounds, RectangularPlaneBounds, and GeneralTrapezoidalPlaneBounds.

Definition at line 39 of file Bounds.h.

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

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

Definition at line 54 of file Bounds.h.

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

55  {
56  return inside( Local3DPoint(p.x(), p.y(), 0), err, scale);
57  }
T y() const
Definition: PV2DBase.h:40
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
Point3DBase< float, LocalTag > Local3DPoint
Definition: LocalPoint.h:9
T x() const
Definition: PV2DBase.h:39
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, GeneralTrapezoidalPlaneBounds, RectangularPlaneBounds, DiskSectorBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by MuonNavigationSchool::addBarrelLayer(), MuonTkNavigationSchool::addBarrelLayer(), FWRecoGeometryESProducer::addDTGeometry(), MuonNavigationSchool::addEndcapLayer(), MuonTkNavigationSchool::addEndcapLayer(), CkfDebugger::analyseRecHitNotFound(), python.Vispa.Views.LineDecayView.DecayLine::arrowBoundingRect(), TkLayerLess::barrelForwardLess(), BoundingBox::BoundingBox(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), DirectMuonNavigation::checkCompatible(), DirectTrackerNavigation::checkCompatible(), ValidateGeometry::compareShape(), MuDetRod::compatibleDets(), BoundingBox::corners(), TIBLayer::cylinder(), RingMaker::determineExtensions(), MultipleScatteringGeometry::detLayers(), cms::HICSeedMeasurementEstimator::estimate(), HICMeasurementEstimator::estimate(), RectangularEtaPhiTrackingRegion::estimator(), StripCPE::fillParam(), cms::HICTkOuterStartingLayerFinder::findBarrelLayers(), SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRangeRPhi::GlobalDetRangeRPhi(), GlobalDetRangeZPhi::GlobalDetRangeZPhi(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), PropagateToMuon::init(), ThirdHitRZPredictionBase::initLayer(), SmartPropagator::insideTkVol(), DeDxDiscriminatorTools::IsFarFromBorder(), ShallowGainCalibration::IsFarFromBorder(), SiStripGainFromData::IsFarFromBorder(), python.Vispa.Views.LineDecayView.DecayLine::labelBoundingRect(), SimpleNavigationSchool::linkNextForwardLayer(), TrajectoryManager::makeSinglePSimHit(), MSLayer::MSLayer(), TIBLayer::overlap(), TOBRod::overlap(), PixelBlade::overlap(), python.Vispa.Views.LineDecayView.DecayLine::paint(), MuonNavigationPrinter::printLayer(), ParticlePropagator::setPropagationConditions(), cms::HICTkOuterStartingLayerFinder::startingLayers(), TIBLayer::TIBLayer(), TOBLayer::TOBLayer(), ValidateGeometry::validateDTLayerGeometry(), TracktoRPC::ValidRPCSurface(), and SimpleNavigableLayer::wellInside().

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, RectangularPlaneBounds, GeneralTrapezoidalPlaneBounds, DiskSectorBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by FWRecoGeometryESProducer::addDTGeometry(), DeDxDiscriminatorLearner::algoBeginJob(), DeDxDiscriminatorLearnerFromCalibTree::algoBeginJob(), SiStripCalibLorentzAngle::algoBeginJob(), SiStripGainFromData::algoBeginJob(), SiStripGainFromCalibTree::algoBeginJob(), SiStripLAProfileBooker::analyze(), SiStripTrackingRecHitsValid::analyze(), SiStripDetInfoFileWriter::beginRun(), SiStripLAProfileBooker::beginRun(), DeDxEstimatorProducer::beginRun(), DeDxEstimatorProducerPixelTripplet::beginRun(), DeDxDiscriminatorProducer::beginRun(), BoundingBox::BoundingBox(), CSCGeometryBuilder::buildChamber(), ValidateGeometry::compareShape(), ForwardDetLayer::compatible(), MuRingForwardDoubleLayer::compatible(), MuRingForwardDoubleLayer::computeSurface(), TIBLayer::computeWindowSize(), BoundingBox::corners(), TIBLayer::cylinder(), RingMaker::determineExtensions(), MultipleScatteringGeometry::detLayers(), SiPixelDigitizerAlgorithm::digitize(), shallow::drift(), RectangularEtaPhiTrackingRegion::estimator(), StripCPE::fillParam(), ClusterShapeHitFilter::getCotangent(), MuonDetIdAssociator::getDetIdPoints(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), PixelTripletNoTipGenerator::hitTriplets(), InnerDeltaPhi::initBarrelLayer(), InnerDeltaPhi::initForwardLayer(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), TrajectoryManager::makeSinglePSimHit(), SiStripGainCosmicCalculator::moduleThickness(), MSLayer::MSLayer(), CylinderBuilderFromDet::operator()(), TIDLayer::overlapInR(), EnergyLossPlain::process(), SiHitDigitizer::processHit(), MuonSimHitProducer::produce(), PixelCPEBase::setTheDet(), TIBLayer::TIBLayer(), TIDLayer::TIDLayer(), TOBLayer::TOBLayer(), ValidateGeometry::validateDTLayerGeometry(), and SimpleNavigableLayer::wellInside().

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, RectangularPlaneBounds, GeneralTrapezoidalPlaneBounds, DiskSectorBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by python.Vispa.Main.MainWindow.MainWindow::_saveIni(), FWRecoGeometryESProducer::addDTGeometry(), CkfDebugger::analyseRecHitNotFound(), python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), BoundingBox::BoundingBox(), python.Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), ValidateGeometry::compareShape(), MuRodBarrelLayer::compatibleDets(), python.Vispa.Gui.VispaWidget.VispaWidget::contentRect(), BoundingBox::corners(), HICTrajectoryCorrector::correct(), python.Vispa.Gui.VispaWidget.VispaWidget::defineArrowBackgroundShape(), python.Vispa.Gui.VispaWidget.VispaWidget::defineCircleBackgroundShape(), python.Vispa.Gui.VispaWidget.VispaWidget::defineRoundRectBackgroundShape(), RingMaker::determineExtensions(), python.Vispa.Gui.VispaWidget.VispaWidget::drawHeaderBackground(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::drawPortNames(), cms::HICSeedMeasurementEstimator::estimate(), HICMeasurementEstimator::estimate(), StripCPE::fillParam(), SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRangeRPhi::GlobalDetRangeRPhi(), GlobalDetRangeZPhi::GlobalDetRangeZPhi(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), python.Vispa.Gui.VispaWidget.VispaWidget::imageRectF(), DeDxDiscriminatorTools::IsFarFromBorder(), ShallowGainCalibration::IsFarFromBorder(), SiStripGainFromData::IsFarFromBorder(), TrajectoryManager::makeSinglePSimHit(), SiStripGainCosmicCalculator::moduleWidth(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), python.Vispa.Views.PropertyView.PropertyView::resizeEvent(), python.Vispa.Views.PropertyView.PropertyView::sectionResized(), ParticlePropagator::setPropagationConditions(), python.Vispa.Gui.VispaWidget.VispaWidget::setZoom(), python.Vispa.Main.MainWindow.MainWindow::updateStartupScreenGeometry(), ValidateGeometry::validateDTLayerGeometry(), TracktoRPC::ValidRPCSurface(), and widthAtHalfLength().

virtual float Bounds::widthAtHalfLength ( ) const
inlinevirtual

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

Reimplemented in TrapezoidalPlaneBounds, and GeneralTrapezoidalPlaneBounds.

Definition at line 35 of file Bounds.h.

References width().

Referenced by StripTopologyBuilder::build().

35 {return width();}
virtual float width() const =0