CMS 3D CMS Logo

Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

Surface Class Reference

#include <Surface.h>

Inheritance diagram for Surface:
GloballyPositioned< float > BasicReferenceCounted GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > Plane BoundaryPlane GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO >

List of all members.

Public Types

typedef GloballyPositioned< float > Base
typedef SurfaceOrientation::Side Side

Public Member Functions

const Boundsbounds () const
const MediumPropertiesmediumProperties () const
std::pair< float, float > const & phiSpan () const
std::pair< float, float > const & rSpan () const
void setMediumProperties (const MediumProperties &mp)
virtual Side side (const LocalPoint &p, Scalar tolerance=0) const =0
virtual Side side (const GlobalPoint &p, Scalar tolerance=0) const
virtual
ReferenceCountingPointer
< TangentPlane > 
tangentPlane (const GlobalPoint &) const =0
virtual
ReferenceCountingPointer
< TangentPlane > 
tangentPlane (const LocalPoint &) const =0
GlobalPoint toGlobal (const Point2DBase< Scalar, LocalTag > lp) const
std::pair< float, float > const & zSpan () const
virtual ~Surface ()

Protected Member Functions

 Surface ()
 Surface (Surface &&iSurface)
 Surface (const Surface &iSurface)
 Surface (const PositionType &pos, const RotationType &rot, MediumProperties mp, Bounds *bounds)
 Surface (const PositionType &pos, const RotationType &rot, MediumProperties mp)
 Surface (const PositionType &pos, const RotationType &rot, Bounds *bounds)
 Surface (const PositionType &pos, const RotationType &rot)

Protected Attributes

extstd::clone_ptr< BoundstheBounds
MediumProperties theMediumProperties

Detailed Description

Base class for 2D surfaces in 3D space. May have MediumProperties. may have bounds The Bounds define a region AROUND the surface. Surfaces which differ only by the shape of their bounds are of the same "surface" type (e.g. Plane or Cylinder).

Definition at line 48 of file Surface.h.


Member Typedef Documentation

Definition at line 52 of file Surface.h.


Constructor & Destructor Documentation

virtual Surface::~Surface ( ) [inline, virtual]

Definition at line 56 of file Surface.h.

{}
Surface::Surface ( ) [inline, protected]

Definition at line 59 of file Surface.h.

{}
Surface::Surface ( const PositionType pos,
const RotationType rot 
) [inline, protected]

Definition at line 60 of file Surface.h.

                                                             :
    Base( pos, rot) {}
Surface::Surface ( const PositionType pos,
const RotationType rot,
Bounds bounds 
) [inline, protected]

Definition at line 63 of file Surface.h.

                           :
    Base( pos, rot),
    theBounds(bounds)
  {}
Surface::Surface ( const PositionType pos,
const RotationType rot,
MediumProperties  mp 
) [inline, protected]

Definition at line 70 of file Surface.h.

Surface::Surface ( const PositionType pos,
const RotationType rot,
MediumProperties  mp,
Bounds bounds 
) [inline, protected]

Definition at line 76 of file Surface.h.

                           :
    Base( pos, rot),
    theMediumProperties(mp),
    theBounds(bounds)
  {}
Surface::Surface ( const Surface iSurface) [inline, protected]

Definition at line 86 of file Surface.h.

                                     : 
  Base( iSurface), 
  theMediumProperties(iSurface.theMediumProperties),
  theBounds(iSurface.theBounds)
  {}
Surface::Surface ( Surface &&  iSurface) [inline, protected]

Definition at line 93 of file Surface.h.

                               : 
  Base(iSurface), 
  theMediumProperties(iSurface.theMediumProperties),
  theBounds(std::move(iSurface.theBounds))
  {}

Member Function Documentation

const Bounds& Surface::bounds ( ) const [inline]

Reimplemented in GCC11_FINAL< T, TOPO >.

Definition at line 128 of file Surface.h.

References theBounds.

Referenced by SiStripGainFromData::algoBeginJob(), DeDxDiscriminatorLearnerFromCalibTree::algoBeginJob(), DeDxDiscriminatorLearner::algoBeginJob(), SiStripGainFromCalibTree::algoBeginJob(), SiStripCalibLorentzAngle::algoBeginJob(), SiStripLAProfileBooker::analyze(), SiStripTrackingRecHitsValid::analyze(), DeDxEstimatorProducerPixelTripplet::beginRun(), DeDxDiscriminatorProducer::beginRun(), SiStripLAProfileBooker::beginRun(), SiStripDetInfoFileWriter::beginRun(), DeDxEstimatorProducer::beginRun(), GCC11_FINAL< T, TOPO >::bounds(), CSCGeometryBuilder::buildChamber(), MuonTrackLoader::buildTrackExtra(), ValidateGeometry::compareShape(), BoundSpan::compute(), FWTGeoRecoGeometryESProducer::createShape(), SiStripBackplaneCalibration::derivatives(), SiPixelLorentzAngleCalibration::derivatives(), SiPixelDigitizerAlgorithm::digitize(), shallow::drift(), SiPixelDigitizerAlgorithm::drift(), SiStripLorentzAngleCalibration::effectiveThickness(), InsideBoundsMeasurementEstimator::estimate(), Chi2MeasurementEstimatorBase::estimate(), StripCPE::fillParams(), ClusterShapeHitFilter::getCotangent(), MuonDetIdAssociator::getDetIdPoints(), TrackDetectorAssociator::getTAMuonChamberMatches(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), GCC11_FINAL< T, TOPO >::innerRadius(), MuonDetIdAssociator::insideElement(), ShallowGainCalibration::IsFarFromBorder(), DeDxDiscriminatorTools::IsFarFromBorder(), SiStripGainFromData::IsFarFromBorder(), TrajectoryManager::makeSinglePSimHit(), SiStripGainCosmicCalculator::moduleThickness(), SiStripGainCosmicCalculator::moduleWidth(), CylinderBuilderFromDet::operator()(), GCC11_FINAL< T, TOPO >::outerRadius(), GCC11_FINAL< T, TOPO >::phiExtension(), phiSpan(), SiHitDigitizer::processHit(), MuonSimHitProducer::produce(), rSpan(), SETPatternRecognition::segmentCleaning(), PixelCPEBase::setTheDet(), TrajectoryAtInvalidHit::TrajectoryAtInvalidHit(), ValidateGeometry::validateDTLayerGeometry(), and zSpan().

{ return *theBounds; }
const MediumProperties& Surface::mediumProperties ( ) const [inline]
std::pair<float,float> const& Surface::phiSpan ( ) const [inline]

Definition at line 131 of file Surface.h.

References bounds(), and Bounds::phiSpan().

Referenced by tkDetUtil::overlapInPhi().

{ return bounds().phiSpan(); }
std::pair<float,float> const& Surface::rSpan ( ) const [inline]

Definition at line 133 of file Surface.h.

References bounds(), and Bounds::rSpan().

{ return bounds().rSpan(); }
void Surface::setMediumProperties ( const MediumProperties mp) [inline]

Definition at line 124 of file Surface.h.

References theMediumProperties.

virtual Side Surface::side ( const GlobalPoint p,
Scalar  tolerance = 0 
) const [inline, virtual]

Reimplemented in Plane.

Definition at line 107 of file Surface.h.

References side(), and GloballyPositioned< float >::toLocal().

                                                                     {
    return side( toLocal(p), tolerance);
  }
virtual Side Surface::side ( const LocalPoint p,
Scalar  tolerance = 0 
) const [pure virtual]

Returns the side of the surface on which the point is. Not defined for 1-sided surfaces (Moebius leaf etc.) For normal 2-sided surfaces the meaning of side is surface type dependent.

Implemented in Plane.

Referenced by side().

virtual ReferenceCountingPointer<TangentPlane> Surface::tangentPlane ( const LocalPoint ) const [pure virtual]

Tangent plane to surface from local point.

Implemented in Plane.

virtual ReferenceCountingPointer<TangentPlane> Surface::tangentPlane ( const GlobalPoint ) const [pure virtual]

Tangent plane to surface from global point. Returns a plane, tangent to the Surface at a point. The point must be on the surface. The return type is a ReferenceCountingPointer, so the plane will be deleted automatically when no longer needed.

Implemented in Plane.

Referenced by GlobalTrackerMuonAlignment::analyzeTrackTrack(), GlobalTrackerMuonAlignment::analyzeTrackTrajectory(), MuonSimHitProducer::applyMaterialEffects(), and SteppingHelixStateInfo::getStateOnSurface().

GlobalPoint Surface::toGlobal ( const Point2DBase< Scalar, LocalTag lp) const [inline]

Definition at line 114 of file Surface.h.

References PV2DBase< T, PointTag, FrameTag >::basicVector(), PV3DBase< T, PVType, FrameType >::basicVector(), GloballyPositioned< float >::position(), and GloballyPositioned< float >::rotation().

Referenced by SiPixelDigitizerAlgorithm::accumulateSimHits(), SiStripDigitizerAlgorithm::accumulateSimHits(), TrackerDpgAnalysis::analyze(), SiPixelMuonHLT::analyze(), SiPixelTrackResidualSource::analyze(), TestHits::analyze(), SiPixelErrorEstimation::analyze(), SiPixelTrackingRecHitsValid::analyze(), ElectronSeedAnalyzer::analyze(), SiPixelLorentzAngle::analyze(), SiStripMonitorMuonHLT::analyze(), TestTrackHits::analyze(), TestSmoothHits::analyze(), SiStripMonitorMuonHLT::analyzeOnTrackClusters(), TrackingRecHitLessFromGlobalPosition::barrelForwardLess(), TrackerDpgAnalysis::beginRun(), SeedFromGenericPairOrTriplet::buildSeed(), tkDetUtil::calculatePhiWindow(), CSCLayer::centerOfStrip(), CSCLayer::centerOfWireGroup(), PixelHitMatcher::compatibleSeeds(), BoundSpan::compute(), SiPixelErrorEstimation::computeAnglesFromDetPosition(), PixelCPEBase::computeAnglesFromDetPosition(), GCC11_FINAL< T, TOPO >::computeBounds(), PlaneBuilderForGluedDet::computeRectBounds(), RodPlaneBuilderFromDet::computeRotation(), SiLinearChargeDivider::DeconvolutionShape(), DTDigiSyncTOFCorr::digitizerOffset(), ForwardMeasurementEstimator::estimate(), BarrelMeasurementEstimator::estimate(), AlignmentMonitorMuonResiduals::event(), fastProp(), SiPixelClusterModule::fill(), SiPixelRecHitsValid::fillBarrel(), TrackerValidationVariables::fillHitQuantities(), TrackerOfflineValidation::fillTree(), TrackerOfflineValidationSummary::fillTree(), SiStripMonitorMuonHLT::GeometryFromTrackGeom(), DTTrigGeom::getGeom(), CSCSectorReceiverLUT::getGlobalEtaValue(), TrackAssociatorByPosition::getState(), CachedTrajectory::getWideTrajectory(), CSCDriftSim::getWireHit(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), TrackerRecHit::globalPosition(), TValidTrackingRecHit::globalPosition(), GCC11_FINAL< T, TOPO >::globalPosition(), TrackingRecHitLessFromGlobalPosition::insideOutLess(), SiPixelGaussianSmearingRecHitConverterAlgorithm::isFlipped(), PixelCPEBase::isFlipped(), JacobianCurvilinearToLocal::JacobianCurvilinearToLocal(), JacobianLocalToCurvilinear::JacobianLocalToCurvilinear(), TrajectoryManager::makeSinglePSimHit(), SiTrackerGaussianSmearingRecHitConverter::matchHits(), CosmicParametersDefinerForTP::momentum(), SiStripMonitorMuonHLT::Normalizer(), CosmicTrackingParticleSelector::operator()(), PropagationDirectionChooser::operator()(), SeedFromNuclearInteraction::outerHitPosition(), SiLinearChargeDivider::PeakShape(), DTDigitizer::produce(), PixelClusterSelectorTopBottom::produce(), TestSmoothHits::projectHit(), GlobalRecHitsProducer::projectHit(), TestHits::projectHit(), TestTrackHits::projectHit(), GlobalRecHitsAnalyzer::projectHit(), SiStripRecHitsValid::projectHit(), SiStripTrackingRecHitsValid::projectHit(), GSRecHitMatcher::projectOnly(), DigiSimLinkAlgorithm::run(), TrackClusterSplitter::splitCluster(), DTTrigGeom::toGlobal(), GeomDet::toGlobal(), NavSurface::toGlobal(), ValidateGeometry::validateCSChamberGeometry(), ValidateGeometry::validateCSCLayerGeometry(), ValidateGeometry::validateDTChamberGeometry(), ValidateGeometry::validateDTLayerGeometry(), ValidateGeometry::validateRPCGeometry(), and CosmicParametersDefinerForTP::vertex().

                                                                       {
    return GlobalPoint( rotation().multiplyInverse( lp.basicVector()) +
                        position().basicVector());
  }
std::pair<float,float> const& Surface::zSpan ( ) const [inline]

Definition at line 132 of file Surface.h.

References bounds(), and Bounds::zSpan().

{ return bounds().zSpan(); }

Member Data Documentation

Definition at line 150 of file Surface.h.

Referenced by bounds(), and Plane::computeSpan().

Definition at line 148 of file Surface.h.

Referenced by mediumProperties(), and setMediumProperties().