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 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
 
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:45
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:44
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, and inside().

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, GeneralTrapezoidalPlaneBounds, and OpenBounds.

Definition at line 59 of file Bounds.h.

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

60  {
61  return inside( Local3DPoint(p.x(), p.y(), 0), err, scale);
62  }
T y() const
Definition: PV2DBase.h:45
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:44
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, GeneralTrapezoidalPlaneBounds, RectangularPlaneBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by MuonNavigationSchool::addBarrelLayer(), MuonTkNavigationSchool::addBarrelLayer(), FWRecoGeometryESProducer::addDTGeometry(), FWTGeoRecoGeometryESProducer::addDTGeometry(), MuonNavigationSchool::addEndcapLayer(), MuonTkNavigationSchool::addEndcapLayer(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), CkfDebugger::analyseRecHitNotFound(), Vispa.Views.LineDecayView.DecayLine::arrowBoundingRect(), TkLayerLess::barrelForwardLess(), BoundingBox::BoundingBox(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), DirectMuonNavigation::checkCompatible(), DirectTrackerNavigation::checkCompatible(), ValidateGeometry::compareShape(), MuDetRod::compatibleDets(), BoundingBox::corners(), FWTGeoRecoGeometryESProducer::createShape(), RingMaker::determineExtensions(), MultipleScatteringGeometry::detLayers(), cms::HICSeedMeasurementEstimator::estimate(), HICMeasurementEstimator::estimate(), RectangularEtaPhiTrackingRegion::estimator(), 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(), Vispa.Views.LineDecayView.DecayLine::labelBoundingRect(), SimpleNavigationSchool::linkNextForwardLayer(), TrajectoryManager::makeSinglePSimHit(), MSLayer::MSLayer(), Vispa.Views.LineDecayView.DecayLine::paint(), MuonNavigationPrinter::printLayer(), ParticlePropagator::setPropagationConditions(), cms::HICTkOuterStartingLayerFinder::startingLayers(), 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, DiskSectorBounds, GeneralTrapezoidalPlaneBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by FWRecoGeometryESProducer::addDTGeometry(), FWTGeoRecoGeometryESProducer::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(), BoundingBox::corners(), FWTGeoRecoGeometryESProducer::createShape(), RingMaker::determineExtensions(), MultipleScatteringGeometry::detLayers(), SiPixelDigitizerAlgorithm::digitize(), shallow::drift(), RectangularEtaPhiTrackingRegion::estimator(), ClusterShapeHitFilter::getCotangent(), MuonDetIdAssociator::getDetIdPoints(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerZ(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), PixelTripletNoTipGenerator::hitTriplets(), InnerDeltaPhi::initBarrelLayer(), InnerDeltaPhi::initForwardLayer(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), TrajectoryManager::makeSinglePSimHit(), SiStripGainCosmicCalculator::moduleThickness(), MSLayer::MSLayer(), CylinderBuilderFromDet::operator()(), EnergyLossPlain::process(), SiHitDigitizer::processHit(), MuonSimHitProducer::produce(), PixelCPEBase::setTheDet(), 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, DiskSectorBounds, GeneralTrapezoidalPlaneBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by Vispa.Main.MainWindow.MainWindow::_saveIni(), FWRecoGeometryESProducer::addDTGeometry(), FWTGeoRecoGeometryESProducer::addDTGeometry(), CkfDebugger::analyseRecHitNotFound(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), BoundingBox::BoundingBox(), Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), ValidateGeometry::compareShape(), MuRodBarrelLayer::compatibleDets(), Vispa.Gui.VispaWidget.VispaWidget::contentRect(), BoundingBox::corners(), HICTrajectoryCorrector::correct(), FWTGeoRecoGeometryESProducer::createShape(), Vispa.Gui.VispaWidget.VispaWidget::defineArrowBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineCircleBackgroundShape(), Vispa.Gui.VispaWidget.VispaWidget::defineRoundRectBackgroundShape(), RingMaker::determineExtensions(), Vispa.Gui.VispaWidget.VispaWidget::drawHeaderBackground(), Vispa.Gui.ConnectableWidget.ConnectableWidget::drawPortNames(), cms::HICSeedMeasurementEstimator::estimate(), HICMeasurementEstimator::estimate(), SiTrackerGaussianSmearingRecHitConverter::gaussianSmearing(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRangeRPhi::GlobalDetRangeRPhi(), GlobalDetRangeZPhi::GlobalDetRangeZPhi(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), Vispa.Gui.VispaWidget.VispaWidget::imageRectF(), TrajectoryManager::makeSinglePSimHit(), SiStripGainCosmicCalculator::moduleWidth(), Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), Vispa.Views.PropertyView.PropertyView::resizeEvent(), Vispa.Views.PropertyView.PropertyView::sectionResized(), ParticlePropagator::setPropagationConditions(), Vispa.Gui.VispaWidget.VispaWidget::setZoom(), 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