#include <GloballyPositioned.h>
Base class for surfaces and volumes positioned in global 3D space. This class defines a cartesian reference frame, called in the following the local frame. It provides position, orientation, and frame transformations for points and vectors.
Definition at line 18 of file GloballyPositioned.h.
typedef Point3DBase<T,GlobalTag> GloballyPositioned< T >::GlobalPoint |
Reimplemented in MagVolume.
Definition at line 24 of file GloballyPositioned.h.
typedef Vector3DBase<T,GlobalTag> GloballyPositioned< T >::GlobalVector |
Reimplemented in MagVolume.
Definition at line 26 of file GloballyPositioned.h.
typedef Point3DBase<T,LocalTag> GloballyPositioned< T >::LocalPoint |
Reimplemented in MagVolume.
Definition at line 25 of file GloballyPositioned.h.
typedef Vector3DBase<T,LocalTag> GloballyPositioned< T >::LocalVector |
Reimplemented in MagVolume.
Definition at line 27 of file GloballyPositioned.h.
typedef Point3DBase<T,GlobalTag> GloballyPositioned< T >::PositionType |
Definition at line 22 of file GloballyPositioned.h.
typedef TkRotation<T> GloballyPositioned< T >::RotationType |
Definition at line 23 of file GloballyPositioned.h.
typedef T GloballyPositioned< T >::Scalar |
Reimplemented in GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.
Definition at line 21 of file GloballyPositioned.h.
GloballyPositioned< T >::GloballyPositioned | ( | ) | [inline] |
Definition at line 36 of file GloballyPositioned.h.
{}
GloballyPositioned< T >::GloballyPositioned | ( | const PositionType & | pos, |
const RotationType & | rot | ||
) | [inline] |
Definition at line 37 of file GloballyPositioned.h.
: thePos(pos), theRot(rot) {resetCache();}
virtual GloballyPositioned< T >::~GloballyPositioned | ( | ) | [inline, virtual] |
Definition at line 40 of file GloballyPositioned.h.
{}
T GloballyPositioned< T >::eta | ( | ) | const [inline] |
Definition at line 50 of file GloballyPositioned.h.
Referenced by TrajectoryFactoryBase::sameSurface().
static T GloballyPositioned< T >::iniEta | ( | ) | [inline, static] |
Definition at line 32 of file GloballyPositioned.h.
Referenced by GloballyPositioned< align::Scalar >::eta(), and GloballyPositioned< align::Scalar >::resetCache().
{
return 999.9978;
}
static T GloballyPositioned< T >::iniPhi | ( | ) | [inline, static] |
Definition at line 29 of file GloballyPositioned.h.
Referenced by GloballyPositioned< align::Scalar >::phi(), and GloballyPositioned< align::Scalar >::resetCache().
{
return 999.9978;
}
void GloballyPositioned< T >::move | ( | const GlobalVector & | displacement | ) | [inline] |
Move the position of the frame in the global frame. Useful e.g. for alignment.
Definition at line 154 of file GloballyPositioned.h.
Referenced by AlignableComposite::addComponent(), AlignableBeamSpot::initialize(), AlignableDetUnit::move(), AlignableComposite::move(), AlignableBeamSpot::move(), and PedeSteerer::PedeSteerer().
{ thePos += displacement; resetCache(); }
T GloballyPositioned< T >::phi | ( | ) | const [inline] |
Definition at line 46 of file GloballyPositioned.h.
Referenced by TrajectoryFactoryBase::sameSurface().
const PositionType& GloballyPositioned< T >::position | ( | ) | const [inline] |
Definition at line 42 of file GloballyPositioned.h.
Referenced by cms::SiPixelDigitizer::accumulatePixelHits(), SiStripDigitizer::accumulateStripHits(), SiStripCalibLorentzAngle::algoBeginJob(), TestHits::analyze(), SiPixelErrorEstimation::analyze(), MuonGeometrySVGTemplate::analyze(), TestTrackHits::analyze(), GlobalTrackerMuonAlignment::analyzeTrackTrack(), GlobalTrackerMuonAlignment::analyzeTrackTrajectory(), GeomDetLess::barrelForwardLess(), MagGeoBuilderFromDDD::buildInterpolator(), MagGeoBuilderFromDDD::buildMagVolumes(), RodPlaneBuilderFromDet::computeRotation(), AlignableSiStripDet::consistifyAlignments(), ThreePlaneCrossing::crossing(), SiStripBackplaneCalibration::derivatives(), SiStripLorentzAngleCalibration::derivatives(), SiPixelLorentzAngleCalibration::derivatives(), DTDigiSyncTOFCorr::digitizerOffset(), shallow::drift(), SiPixelDigitizerAlgorithm::drift(), PixelCPEBase::driftDirection(), SiHitDigitizer::DriftDirection(), StripCPE::driftDirection(), SiPixelDigitizerAlgorithm::DriftDirection(), fastProp(), HIPAlignmentAlgorithm::fillRoot(), FWRecoGeometryESProducer::fillShapeAndPlacement(), DTTimingExtractor::fillTiming(), ClusterShapeHitFilter::getDrift(), Alignable::globalPosition(), SeedFromProtoTrack::init(), CSCStripElectronicsSim::initParameters(), GeomDetLess::insideOutLess(), StripCPEfromTemplate::localParameters(), MagGeoBuilderFromDDD::volumeHandle::maxPhi(), MagGeoBuilderFromDDD::volumeHandle::maxZ(), MagGeoBuilderFromDDD::volumeHandle::minZ(), GlobalTrackerMuonAlignment::misalignMuonL(), DTTTrigSyncTOFCorr::offset(), DTTTrigSyncFromDB::offset(), CylinderBuilderFromDet::operator()(), PixelCPEBase::param(), StraightLinePlaneCrossing::pathLength(), SurveyDet::position(), GeomDet::position(), QuadrupletSeedMerger::printHit(), GlobalMuonToMuonProducer::printTrackRecHits(), ShallowTrackClustersProducer::produce(), CachedTrajectory::propagate(), CSCPairResidualsConstraint::radius(), MagGeoBuilderFromDDD::volumeHandle::sameSurface(), TrajectoryFactoryBase::sameSurface(), MagGeoBuilderFromDDD::volumeHandle::setSurface(), PixelCPEBase::setTheDet(), CSCPairResidualsConstraint::setZplane(), TrackClusterSplitter::splitCluster(), FrameChanger::toFrame(), GloballyPositioned< align::Scalar >::toGlobal(), GloballyPositioned< align::Scalar >::toLocal(), LaserDQM::trackerStatistics(), FrameChanger::transformPlane(), and AlignableDataIO::writeAbsPos().
{ return thePos;}
void GloballyPositioned< T >::resetCache | ( | ) | [inline, private] |
Definition at line 173 of file GloballyPositioned.h.
Referenced by GloballyPositioned< align::Scalar >::GloballyPositioned(), GloballyPositioned< align::Scalar >::move(), and GloballyPositioned< align::Scalar >::rotate().
void GloballyPositioned< T >::rotate | ( | const RotationType & | rotation | ) | [inline] |
Rotate the frame in the global frame. Useful e.g. for alignment.
Definition at line 162 of file GloballyPositioned.h.
Referenced by AlignableBeamSpot::initialize(), AlignableBeamSpot::rotateInGlobalFrame(), AlignableComposite::rotateInGlobalFrame(), and AlignableDetUnit::rotateInGlobalFrame().
{ theRot *= rotation; resetCache(); }
const RotationType& GloballyPositioned< T >::rotation | ( | void | ) | const [inline] |
Definition at line 44 of file GloballyPositioned.h.
Referenced by GlobalTrackerMuonAlignment::analyzeTrackTrack(), GlobalTrackerMuonAlignment::analyzeTrackTrajectory(), MagGeoBuilderFromDDD::bLayer::bLayer(), MagGeoBuilderFromDDD::buildInterpolator(), MagGeoBuilderFromDDD::buildMagVolumes(), AlignableSiStripDet::consistifyAlignments(), PixelCPEBase::driftDirection(), SiHitDigitizer::DriftDirection(), SiPixelDigitizerAlgorithm::DriftDirection(), FWRecoGeometryESProducer::fillShapeAndPlacement(), Alignable::globalRotation(), JacobianCartesianToLocal::JacobianCartesianToLocal(), JacobianCurvilinearToLocal::JacobianCurvilinearToLocal(), JacobianLocalToCartesian::JacobianLocalToCartesian(), JacobianLocalToCurvilinear::JacobianLocalToCurvilinear(), GlobalTrackerMuonAlignment::misalignMuonL(), GloballyPositioned< align::Scalar >::rotate(), GeomDet::rotation(), SurveyDet::rotation(), FrameChanger::toFrame(), GloballyPositioned< align::Scalar >::toGlobal(), GloballyPositioned< align::Scalar >::toLocal(), ErrorFrameTransformer::transform(), FrameChanger::transformPlane(), and AlignableDataIO::writeAbsPos().
{ return theRot;}
void GloballyPositioned< T >::setCache | ( | ) | [inline, private] |
GlobalPoint GloballyPositioned< T >::toGlobal | ( | const LocalPoint & | lp | ) | const [inline] |
Transform a local point (i.e. a point with coordinates in the local frame) to the global frame
Definition at line 83 of file GloballyPositioned.h.
Referenced by RKLocalFieldProvider::inTesla(), PathToPlane2Order::operator()(), SpecialCylindricalMFGrid::toGridFrame(), TrapezoidalCartesianMFGrid::TrapezoidalCartesianMFGrid(), and GlobalGridWrapper::valueInTesla().
{ return GlobalPoint( rotation().multiplyInverse( lp.basicVector()) + position().basicVector()); }
Vector3DBase< U, GlobalTag> GloballyPositioned< T >::toGlobal | ( | const Vector3DBase< U, LocalTag > & | lv | ) | const [inline] |
Transform a local vector with different float precision from the one of the reference frame, and return a global vector with the same precision as the input one.
Definition at line 112 of file GloballyPositioned.h.
{ return Vector3DBase< U, GlobalTag>( rotation().multiplyInverse( lv.basicVector())); }
GlobalVector GloballyPositioned< T >::toGlobal | ( | const LocalVector & | lv | ) | const [inline] |
Transform a local vector (i.e. a vector with coordinates in the local frame) to the global frame
Definition at line 102 of file GloballyPositioned.h.
{ return GlobalVector( rotation().multiplyInverse( lv.basicVector())); }
Point3DBase< U, GlobalTag> GloballyPositioned< T >::toGlobal | ( | const Point3DBase< U, LocalTag > & | lp | ) | const [inline] |
Transform a local point with different float precision from the one of the reference frame, and return a global point with the same precision as the input one.
Definition at line 94 of file GloballyPositioned.h.
{ return Point3DBase< U, GlobalTag>( rotation().multiplyInverse( lp.basicVector()) + position().basicVector()); }
LocalVector GloballyPositioned< T >::toLocal | ( | const GlobalVector & | gv | ) | const [inline] |
Transform a global vector (i.e. a vector with coordinates in the global frame) to the local frame
Definition at line 137 of file GloballyPositioned.h.
{ return LocalVector( rotation() * gv.basicVector()); }
Point3DBase< U, LocalTag> GloballyPositioned< T >::toLocal | ( | const Point3DBase< U, GlobalTag > & | gp | ) | const [inline] |
Transform a global point with different float precision from the one of the reference frame, and return a local point with the same precision as the input one.
Definition at line 129 of file GloballyPositioned.h.
{ return Point3DBase< U, LocalTag>( rotation() * (gp.basicVector()-position().basicVector())); }
Vector3DBase< U, LocalTag> GloballyPositioned< T >::toLocal | ( | const Vector3DBase< U, GlobalTag > & | gv | ) | const [inline] |
Transform a global vector with different float precision from the one of the reference frame, and return a local vector with the same precision as the input one.
Definition at line 147 of file GloballyPositioned.h.
{ return Vector3DBase< U, LocalTag>( rotation() * gv.basicVector()); }
LocalPoint GloballyPositioned< T >::toLocal | ( | const GlobalPoint & | gp | ) | const [inline] |
Transform a global point (i.e. a point with coordinates in the global frame) to the local frame
Definition at line 119 of file GloballyPositioned.h.
Referenced by GCC11_FINAL< T, TOPO >::computeBounds(), PlaneBuilderForGluedDet::computeRectBounds(), BasicTrajectoryState::createLocalParameters(), SiStripLorentzAngleCalibration::derivatives(), SiStripBackplaneCalibration::derivatives(), SiPixelLorentzAngleCalibration::derivatives(), DTTrigGeomUtils::DTTrigGeomUtils(), fastProp(), SpecialCylindricalMFGrid::fromGridFrame(), DTTrigGeom::getGeom(), TrackDetectorAssociator::getTAMuonChamberMatches(), HelixBarrelPlaneCrossing2OrderLocal::HelixBarrelPlaneCrossing2OrderLocal(), RKLocalFieldProvider::inTesla(), DTTrigGeom::localPosition(), SiTrackerGaussianSmearingRecHitConverter::matchHits(), PathToPlane2Order::operator()(), PixelCPEBase::param(), DTDigitizer::produce(), Propagator::propagate(), RectangularCartesianMFGrid::RectangularCartesianMFGrid(), RectangularCylindricalMFGrid::RectangularCylindricalMFGrid(), MagGeoBuilderFromDDD::volumeHandle::sameSurface(), CSCPairResidualsConstraint::setZplane(), SpecialCylindricalMFGrid::SpecialCylindricalMFGrid(), FrameChanger::toFrame(), NavSurface::toLocal(), DTTrigGeom::toLocal(), toLocal(), GeomDet::toLocal(), FrameChanger::transformPlane(), TrapezoidalCartesianMFGrid::TrapezoidalCartesianMFGrid(), TrapezoidalCylindricalMFGrid::TrapezoidalCylindricalMFGrid(), DTTrigGeom::tubePosInCh(), and TrapezoidalCylindricalMFGrid::uncheckedValueInTesla().
{ return LocalPoint( rotation() * (gp.basicVector()-position().basicVector())); }
T GloballyPositioned< T >::theEta [mutable, private] |
Definition at line 193 of file GloballyPositioned.h.
Referenced by GloballyPositioned< align::Scalar >::eta(), GloballyPositioned< align::Scalar >::resetCache(), and GloballyPositioned< align::Scalar >::setCache().
T GloballyPositioned< T >::thePhi [mutable, private] |
Definition at line 192 of file GloballyPositioned.h.
Referenced by GloballyPositioned< align::Scalar >::phi(), GloballyPositioned< align::Scalar >::resetCache(), and GloballyPositioned< align::Scalar >::setCache().
PositionType GloballyPositioned< T >::thePos [private] |
Definition at line 169 of file GloballyPositioned.h.
Referenced by GloballyPositioned< align::Scalar >::eta(), GloballyPositioned< align::Scalar >::move(), GloballyPositioned< align::Scalar >::phi(), GloballyPositioned< align::Scalar >::position(), GloballyPositioned< align::Scalar >::resetCache(), and GloballyPositioned< align::Scalar >::setCache().
RotationType GloballyPositioned< T >::theRot [private] |
Definition at line 170 of file GloballyPositioned.h.
Referenced by GloballyPositioned< align::Scalar >::rotate(), and GloballyPositioned< align::Scalar >::rotation().