CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 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
void Bounds::computeSpan ( Surface const &  plane)
inline

Definition at line 69 of file Bounds.h.

References BoundSpan::compute(), and m_span.

69 { m_span.compute(plane); }
void compute(Surface const &plane)
Definition: BoundSpan.cc:8
BoundSpan m_span
Definition: Bounds.h:72
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 39 of file Bounds.h.

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

Referenced by inside().

39 { 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 42 of file Bounds.h.

References validate-o2o-wbm::f, and inside().

42  {
43  return inside(p, LocalError(tollerance * tollerance, 0.f, tollerance * tollerance));
44  }
virtual bool inside(const Local3DPoint &) const =0
Determine if the point is inside the bounds.
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 57 of file Bounds.h.

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

57  {
58  return inside(Local3DPoint(p.x(), p.y(), 0), err, scale);
59  }
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(), TkLayerLess::barrelForwardLess(), SiPixelPhase1Analyzer::BookBarrelBins(), SiPixelPhase1Analyzer::BookForwardBins(), MTDPixelTopologyBuilder::build(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), RPCGeometryBuilderFromCondDB::build(), RPCGeometryBuilder::buildGeometry(), DTGeometryValidate::compareShape(), GEMGeometryValidate::compareShape(), RPCGeometryValidate::compareShape(), ME0GeometryValidate::compareShape(), CSCGeometryValidate::compareShape(), ValidateGeometry::compareShape(), 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(), SimpleNavigationSchool::linkNextForwardLayer(), TrajectoryManager::makeSinglePSimHit(), MSLayer::MSLayer(), MuonResidualsFromTrack::MuonResidualsFromTrack(), TIBLayer::overlap(), PixelBlade::overlap(), Phase1PixelBlade::overlap(), VectorHitBuilderAlgorithmBase::printCluster(), MuonNavigationPrinter::printLayer(), TrackingRecHitStripGSPlugin::process(), PixelTemplateSmearerBase::process(), ValidateGeometry::validateDTLayerGeometry(), TracktoRPC::ValidRPCSurface(), and SimpleNavigableLayer::wellInside().

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

Definition at line 65 of file Bounds.h.

References m_span, and BoundSpan::phiSpan().

Referenced by Surface::phiSpan().

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

Definition at line 67 of file Bounds.h.

References m_span, and BoundSpan::rSpan().

Referenced by Surface::rSpan().

67 { return m_span.rSpan(); }
BoundSpan m_span
Definition: Bounds.h:72
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.

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(), SiPixelLorentzAnglePCLWorker::analyze(), SiStripDetInfoFileWriter::beginRun(), SiPixelLorentzAnglePCLHarvester::beginRun(), SiPixelPhase1Analyzer::BookBarrelBins(), CSCGeometryBuilder::buildChamber(), 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(), SiPixelLorentzAngleCalibration::derivatives(), SiStripBackplaneCalibration::derivatives(), SiPixelDigitizerAlgorithm::digitize(), shallow::drift(), Pixel3DDigitizerAlgorithm::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(), SiHitDigitizer::processHit(), StandaloneTrackMonitor::processHit(), DeDxEstimatorProducer::processHit(), MuonSimHitProducer::produce(), SiStripTrackingRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis_matched(), StripSubClusterShapeFilterBase::testLastHit(), 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, DiskSectorBounds, RectangularPlaneBounds, FourPointPlaneBounds, SimpleDiskBounds, and OpenBounds.

Referenced by SiStripHitEffFromCalibTree::algoAnalyze(), HitEff::analyze(), SiPixelPhase1Analyzer::BookBarrelBins(), SiPixelPhase1Analyzer::BookForwardBins(), MTDPixelTopologyBuilder::build(), PixelTopologyBuilder::build(), StripTopologyBuilder::build(), DTGeometryValidate::compareShape(), GEMGeometryValidate::compareShape(), RPCGeometryValidate::compareShape(), ME0GeometryValidate::compareShape(), CSCGeometryValidate::compareShape(), ValidateGeometry::compareShape(), MTDTrayBarrelLayer::compatibleDets(), MuRodBarrelLayer::compatibleDets(), Cylinder::computeRadius(), fastsim::TrackerSimHitProducer::createHitOnDetector(), FWTGeoRecoGeometryESProducer::createShape(), SiStripHitEfficiencyWorker::fillForTraj(), ApeEstimator::fillHitVariables(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), TrajectoryManager::makeSinglePSimHit(), SiStripGainCosmicCalculator::moduleWidth(), MuonResidualsFromTrack::MuonResidualsFromTrack(), VectorHitBuilderAlgorithmBase::printCluster(), PixelTemplateSmearerBase::process(), l1tVertexFinder::Stub::setModuleInfo(), tmtt::TrackerModule::TrackerModule(), 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.

Definition at line 35 of file Bounds.h.

References width().

Referenced by StripTopologyBuilder::build().

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

Definition at line 66 of file Bounds.h.

References m_span, and BoundSpan::zSpan().

Referenced by Surface::zSpan().

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

Member Data Documentation

BoundSpan Bounds::m_span
private

Definition at line 72 of file Bounds.h.

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