CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

Surface Class Reference

#include <Surface.h>

Inheritance diagram for Surface:
GloballyPositioned< float > BasicReferenceCounted BoundSurface Cone Cylinder Plane BoundCylinder BoundPlane BoundCylinder BoundaryPlane BoundPlane TangentPlane BoundDisk BoundDiskSector BoundDisk BoundDiskSector

List of all members.

Public Types

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

Public Member Functions

const MediumPropertiesmediumProperties () const
void setMediumProperties (const MediumProperties &mp)
void setMediumProperties (MediumProperties *mp)
virtual Side side (const LocalPoint &p, Scalar tolerance=0) const =0
virtual Side side (const GlobalPoint &p, Scalar tolerance=0) const
 Surface (const PositionType &pos, const RotationType &rot, MediumProperties *mp)
 Surface (const Surface &iSurface)
 Surface (const PositionType &pos, const RotationType &rot)
 Surface (const PositionType &pos, const RotationType &rot, MediumProperties mp)
virtual
ReferenceCountingPointer
< TangentPlane
tangentPlane (const GlobalPoint &) const =0
virtual
ReferenceCountingPointer
< TangentPlane
tangentPlane (const LocalPoint &) const =0
GlobalPoint toGlobal (const Point2DBase< Scalar, LocalTag > lp) const
virtual ~Surface ()=0

Private Attributes

bool m_mpSet
MediumProperties theMediumProperties

Detailed Description

Base class for 2D surfaces in 3D space. May have MediumProperties.

Definition at line 32 of file Surface.h.


Member Typedef Documentation

Definition at line 38 of file Surface.h.

Definition at line 36 of file Surface.h.


Constructor & Destructor Documentation

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

Definition at line 40 of file Surface.h.

                                                             :
    Base( pos, rot), theMediumProperties(0.,0.), m_mpSet(false) {}
Surface::Surface ( const PositionType pos,
const RotationType rot,
MediumProperties mp 
) [inline]

Definition at line 43 of file Surface.h.

                                 : 
    Base( pos, rot), 
    theMediumProperties(mp? *mp : MediumProperties(0.,0.)),
    m_mpSet(mp)
  {}
Surface::Surface ( const PositionType pos,
const RotationType rot,
MediumProperties  mp 
) [inline]

Definition at line 50 of file Surface.h.

                                :
    Base( pos, rot),
    theMediumProperties(mp),
    m_mpSet(true)
  {}
Surface::Surface ( const Surface iSurface) [inline]

Definition at line 57 of file Surface.h.

                                     : 
  Base( iSurface), 
  theMediumProperties(iSurface.theMediumProperties),
  m_mpSet(iSurface.m_mpSet)
  {}
Surface::~Surface ( ) [inline, pure virtual]

Definition at line 129 of file Surface.h.

{}

Member Function Documentation

const MediumProperties* Surface::mediumProperties ( ) const [inline]
void Surface::setMediumProperties ( const MediumProperties mp) [inline]

Definition at line 97 of file Surface.h.

References m_mpSet, and theMediumProperties.

Referenced by TrackerInteractionGeometry::TrackerInteractionGeometry().

                                                          {
    theMediumProperties = mp;
    m_mpSet = true;
  }
void Surface::setMediumProperties ( MediumProperties mp) [inline]

Definition at line 102 of file Surface.h.

References m_mpSet, and theMediumProperties.

                                                   {
    if (mp) {
      theMediumProperties = *mp;
      m_mpSet = true;
    } else {
      theMediumProperties = MediumProperties(0.,0.);
      m_mpSet = false;
    }
  }
virtual Side Surface::side ( const GlobalPoint p,
Scalar  tolerance = 0 
) const [inline, virtual]

Reimplemented in Cone, and Plane.

Definition at line 71 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 Cone, Cylinder, and Plane.

Referenced by side().

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

Tangent plane to surface from local point.

Implemented in Cone, Cylinder, and Plane.

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

Tangent plane to surface from global point. Returns a new 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 Cone, Cylinder, and Plane.

Referenced by GlobalTrackerMuonAlignment::analyzeTrackTrack(), GlobalTrackerMuonAlignment::analyzeTrackTrajectory(), MuonSimHitProducer::applyMaterialEffects(), SteppingHelixStateInfo::getStateOnSurface(), ConvBremSeedProducer::makeTrajectoryState(), TrajectoryManager::makeTrajectoryState(), and GlobalMuonTrackMatcher::samePlane().

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

Definition at line 78 of file Surface.h.

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

Referenced by BetaCalculatorRPC::addInfoToCandidate(), TrackerDpgAnalysis::analyze(), BeamHaloAnalyzer::analyze(), SiPixelTrackResidualSource::analyze(), SiPixelMuonHLT::analyze(), TestHits::analyze(), SiPixelErrorEstimation::analyze(), RPCEfficiency::analyze(), SiPixelTrackingRecHitsValid::analyze(), ElectronSeedAnalyzer::analyze(), SiStripMonitorMuonHLT::analyze(), SiPixelLorentzAngle::analyze(), TestTrackHits::analyze(), TestSmoothHits::analyze(), SiStripMonitorMuonHLT::analyzeOnTrackClusters(), TrackingRecHitLessFromGlobalPosition::barrelForwardLess(), SortHitsByGlobalPosition::barrelForwardLess(), SortHitPointersByGlobalPosition::barrelForwardLess(), TrackerDpgAnalysis::beginRun(), BoundingBox::BoundingBox(), SeedFromGenericPairOrTriplet::buildSeed(), CSCHaloAlgo::Calculate(), GlobalHaloAlgo::Calculate(), tkDetUtil::calculatePhiWindow(), CSCLayer::centerOfStrip(), CSCLayer::centerOfWireGroup(), BasicTrajectoryState::checkGlobalParameters(), PixelHitMatcher::compatibleHits(), PixelHitMatcher::compatibleSeeds(), SiPixelErrorEstimation::computeAnglesFromDetPosition(), PixelCPEBase::computeAnglesFromDetPosition(), NavVolume6Faces::computeBounds(), PlaneBuilderForGluedDet::computeRectBounds(), RodPlaneBuilderFromDet::computeRotation(), PlaneBuilderForGluedDet::computeRotation(), boundSpan::computeSpan(), BoundingBox::corners(), CSCSegtoRPC::CSCSegtoRPC(), SiLinearChargeDivider::DeconvolutionShape(), RingMaker::determineExtensions(), DTDigiSyncTOFCorr::digitizerOffset(), DTSegtoRPC::DTSegtoRPC(), ForwardMeasurementEstimator::estimate(), BarrelMeasurementEstimator::estimate(), AlignmentMonitorTracksFromTrajectories::event(), AlignmentMonitorMuonResiduals::event(), Cylinder::fastTangent(), SiPixelClusterModule::fill(), SiPixelRecHitsValid::fillBarrel(), MuonSimHitsValidAnalyzer::fillDT(), TrackerValidationVariables::fillHitQuantities(), GlobalHitsProdHist::fillMuon(), GlobalHitsAnalyzer::fillMuon(), GlobalHitsProducer::fillMuon(), RoadSearchCloudMakerAlgorithm::FillPixRecHitsIntoCloud(), RoadSearchCloudMakerAlgorithm::FillRecHitsIntoCloudGeneral(), MuonSimHitsValidAnalyzer::fillRPC(), TrackerOfflineValidation::fillTree(), TrackerOfflineValidationSummary::fillTree(), GlobalHitsAnalyzer::fillTrk(), GlobalHitsProducer::fillTrk(), GlobalHitsProdHist::fillTrk(), SiStripMonitorMuonHLT::GeometryFromTrackGeom(), DTTrigGeom::getGeom(), CSCSectorReceiverLUT::getGlobalEtaValue(), TrackAssociatorByPosition::getState(), CachedTrajectory::getWideTrajectory(), CSCDriftSim::getWireHit(), GlobalDetRangeRPhi::GlobalDetRangeRPhi(), GlobalDetRangeZPhi::GlobalDetRangeZPhi(), GlobalDetRodRangeZPhi::GlobalDetRodRangeZPhi(), TrackerRecHit::globalPosition(), TransientTrackingRecHit::globalPosition(), RKPropagatorInS::gtpFromLocal(), HelixBarrelCylinderCrossing::HelixBarrelCylinderCrossing(), HLTRPCTrigNoSyncFilter::hltFilter(), TrackingRecHitLessFromGlobalPosition::insideOutLess(), SortHitPointersByGlobalPosition::insideOutLess(), SortHitsByGlobalPosition::insideOutLess(), SiPixelGaussianSmearingRecHitConverterAlgorithm::isFlipped(), PixelCPEBase::isFlipped(), JacobianCurvilinearToLocal::JacobianCurvilinearToLocal(), JacobianLocalToCurvilinear::JacobianLocalToCurvilinear(), HSCPValidator::makeSimDigiPlotsRPC(), TrajectoryManager::makeSinglePSimHit(), SiTrackerGaussianSmearingRecHitConverter::matchHits(), CosmicParametersDefinerForTP::momentum(), MultiTrajectoryStateMode::momentumFromModeLocal(), GeneralNSurfaceDelimitedBounds::myInside(), SiStripMonitorMuonHLT::Normalizer(), CosmicTrackingParticleSelector::operator()(), PropagationDirectionChooser::operator()(), SeedFromNuclearInteraction::outerHitPosition(), StraightLineBarrelCylinderCrossing::pathLength(), SiLinearChargeDivider::PeakShape(), MultiTrajectoryStateMode::positionFromModeLocal(), DTDigitizer::produce(), PixelClusterSelectorTopBottom::produce(), TrackingRecHitProjector< ResultingHit >::project(), TestSmoothHits::projectHit(), GlobalRecHitsProducer::projectHit(), TestHits::projectHit(), TestTrackHits::projectHit(), GlobalRecHitsAnalyzer::projectHit(), SiStripRecHitsValid::projectHit(), SiStripTrackingRecHitsValid::projectHit(), GSRecHitMatcher::projectOnly(), Geant4ePropagator::propagate(), RKPropagatorInR::propagate(), StraightLinePropagator::propagateParametersOnCylinder(), SiStripDigitizerAlgorithm::run(), RoadSearchHelixMakerAlgorithm::run(), Cone::side(), TrackClusterSplitter::splitCluster(), Cylinder::tangentPlane(), TkGluedMeasurementDet::testStrips(), DTTrigGeom::toGlobal(), GeomDet::toGlobal(), NavSurface::toGlobal(), TracktoRPC::TracktoRPC(), ValidateGeometry::validateCSChamberGeometry(), ValidateGeometry::validateCSCLayerGeometry(), ValidateGeometry::validateDTChamberGeometry(), ValidateGeometry::validateDTLayerGeometry(), ValidateGeometry::validateRPCGeometry(), and CosmicParametersDefinerForTP::vertex().

                                                                       {
    return GlobalPoint( rotation().multiplyInverse( lp.basicVector()) +
                        position().basicVector());
  }

Member Data Documentation

bool Surface::m_mpSet [private]

Definition at line 126 of file Surface.h.

Referenced by mediumProperties(), and setMediumProperties().

Definition at line 125 of file Surface.h.

Referenced by mediumProperties(), and setMediumProperties().