CMS 3D CMS Logo

Public Member Functions

Bounds Class Reference

#include <Bounds.h>

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

List of all members.

Public Member Functions

virtual Boundsclone () const =0
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.
virtual bool inside (const Local3DPoint &) const =0
 Determine if the point is inside the bounds.
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.
virtual bool inside (const Local2DPoint &p, float tollerance) const
 Determine if a point is inside the bounds, taking a tollerance into account.
virtual bool inside (const Local2DPoint &p) const
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.
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 ( ) [inline, virtual]

Definition at line 20 of file Bounds.h.

{}

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 LocalError err,
float  scale = 1.f 
) const [inline, virtual]

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

Reimplemented in GeneralTrapezoidalPlaneBounds, OpenBounds, RectangularPlaneBounds, and TrapezoidalPlaneBounds.

Definition at line 59 of file Bounds.h.

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

                                              {
    return inside( Local3DPoint(p.x(), p.y(), 0), err, scale);
  }
virtual bool Bounds::inside ( const Local3DPoint ,
const LocalError ,
float  scale = 1.f 
) const [pure virtual]
virtual bool Bounds::inside ( const Local2DPoint p,
float  tollerance 
) const [inline, virtual]

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().

                                                                     {
    return inside(p,LocalError(tollerance*tollerance,0.f,tollerance*tollerance));
  }
virtual bool Bounds::inside ( const Local2DPoint p) const [inline, virtual]
virtual float Bounds::length ( ) const [pure virtual]

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

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

Referenced by MuonNavigationSchool::addBarrelLayer(), MuonTkNavigationSchool::addBarrelLayer(), FWTGeoRecoGeometryESProducer::addDTGeometry(), FWRecoGeometryESProducer::addDTGeometry(), MuonNavigationSchool::addEndcapLayer(), MuonTkNavigationSchool::addEndcapLayer(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), CkfDebugger::analyseRecHitNotFound(), TkLayerLess::barrelForwardLess(), BoundingBox::BoundingBox(), StripTopologyBuilder::build(), PixelTopologyBuilder::build(), DirectTrackerNavigation::checkCompatible(), DirectMuonNavigation::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(), ShallowGainCalibration::IsFarFromBorder(), DeDxDiscriminatorTools::IsFarFromBorder(), SiStripGainFromData::IsFarFromBorder(), SimpleNavigationSchool::linkNextForwardLayer(), TrajectoryManager::makeSinglePSimHit(), MSLayer::MSLayer(), TIBLayer::overlap(), PixelBlade::overlap(), TOBRod::overlap(), 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 GeneralNSurfaceDelimitedBounds, GeneralTrapezoidalPlaneBounds, OpenBounds, RectangularPlaneBounds, SimpleConeBounds, SimpleCylinderBounds, SimpleDiskBounds, TrapezoidalPlaneBounds, FourPointPlaneBounds, and DiskSectorBounds.

Referenced by FWTGeoRecoGeometryESProducer::addDTGeometry(), FWRecoGeometryESProducer::addDTGeometry(), SiStripGainFromData::algoBeginJob(), DeDxDiscriminatorLearner::algoBeginJob(), DeDxDiscriminatorLearnerFromCalibTree::algoBeginJob(), SiStripGainFromCalibTree::algoBeginJob(), SiStripCalibLorentzAngle::algoBeginJob(), SiStripLAProfileBooker::analyze(), SiStripTrackingRecHitsValid::analyze(), DeDxDiscriminatorProducer::beginRun(), DeDxEstimatorProducerPixelTripplet::beginRun(), SiStripLAProfileBooker::beginRun(), SiStripDetInfoFileWriter::beginRun(), DeDxEstimatorProducer::beginRun(), BoundingBox::BoundingBox(), CSCGeometryBuilder::buildChamber(), ValidateGeometry::compareShape(), MuRingForwardDoubleLayer::compatible(), ForwardDetLayer::compatible(), MuRingForwardDoubleLayer::computeSurface(), TIBLayer::computeWindowSize(), 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()(), TIDLayer::overlapInR(), SiHitDigitizer::processHit(), MuonSimHitProducer::produce(), PixelCPEBase::setTheDet(), TIBLayer::TIBLayer(), TIDLayer::TIDLayer(), TOBLayer::TOBLayer(), ValidateGeometry::validateDTLayerGeometry(), and SimpleNavigableLayer::wellInside().

virtual float Bounds::width ( ) const [pure virtual]
virtual float Bounds::widthAtHalfLength ( ) const [inline, virtual]

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

Reimplemented in GeneralTrapezoidalPlaneBounds, and TrapezoidalPlaneBounds.

Definition at line 35 of file Bounds.h.

References width().

Referenced by StripTopologyBuilder::build().

{return width();}