CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
PV2DBase< T, PVType, FrameType > Class Template Reference

#include <PV2DBase.h>

Public Types

typedef Basic2DVector< TBasicVectorType
 
typedef BasicVectorType::MathVector MathVector
 
typedef BasicVectorType::Polar Polar
 
typedef T ScalarType
 

Public Member Functions

T barePhi () const
 
const BasicVectorTypebasicVector () const
 
T mag () const
 
T mag2 () const
 
MathVector const & mathVector () const
 
MathVectormathVector ()
 
Geom::Phi< Tphi () const
 
 PV2DBase ()
 
 PV2DBase (const T &x, const T &y)
 construct from cartesian coordinates More...
 
 PV2DBase (const Polar &set)
 construct from polar coordinates More...
 
template<class U >
 PV2DBase (const Basic2DVector< U > &v)
 
T r () const
 
T x () const
 
T y () const
 

Protected Member Functions

BasicVectorTypebasicVector ()
 

Protected Attributes

BasicVectorType theVector
 

Detailed Description

template<class T, class PVType, class FrameType>
class PV2DBase< T, PVType, FrameType >

Definition at line 10 of file PV2DBase.h.

Member Typedef Documentation

◆ BasicVectorType

template<class T, class PVType, class FrameType>
typedef Basic2DVector<T> PV2DBase< T, PVType, FrameType >::BasicVectorType

Definition at line 13 of file PV2DBase.h.

◆ MathVector

template<class T, class PVType, class FrameType>
typedef BasicVectorType::MathVector PV2DBase< T, PVType, FrameType >::MathVector

Definition at line 15 of file PV2DBase.h.

◆ Polar

template<class T, class PVType, class FrameType>
typedef BasicVectorType::Polar PV2DBase< T, PVType, FrameType >::Polar

Definition at line 14 of file PV2DBase.h.

◆ ScalarType

template<class T, class PVType, class FrameType>
typedef T PV2DBase< T, PVType, FrameType >::ScalarType

Definition at line 12 of file PV2DBase.h.

Constructor & Destructor Documentation

◆ PV2DBase() [1/4]

template<class T, class PVType, class FrameType>
PV2DBase< T, PVType, FrameType >::PV2DBase ( )
inline

default constructor uses default constructor of T to initialize the components. For built-in floating-point types this means initialization to zero

Definition at line 21 of file PV2DBase.h.

21 : theVector() {}
BasicVectorType theVector
Definition: PV2DBase.h:55

◆ PV2DBase() [2/4]

template<class T, class PVType, class FrameType>
PV2DBase< T, PVType, FrameType >::PV2DBase ( const T x,
const T y 
)
inline

construct from cartesian coordinates

Definition at line 24 of file PV2DBase.h.

24 : theVector(x, y) {}
T x() const
Definition: PV2DBase.h:43
T y() const
Definition: PV2DBase.h:44
BasicVectorType theVector
Definition: PV2DBase.h:55

◆ PV2DBase() [3/4]

template<class T, class PVType, class FrameType>
PV2DBase< T, PVType, FrameType >::PV2DBase ( const Polar set)
inline

construct from polar coordinates

Definition at line 27 of file PV2DBase.h.

27 : theVector(set) {}
BasicVectorType theVector
Definition: PV2DBase.h:55

◆ PV2DBase() [4/4]

template<class T, class PVType, class FrameType>
template<class U >
PV2DBase< T, PVType, FrameType >::PV2DBase ( const Basic2DVector< U > &  v)
inlineexplicit

Explicit constructor from BasicVectorType, possibly of different precision

Definition at line 32 of file PV2DBase.h.

32 : theVector(v) {}
BasicVectorType theVector
Definition: PV2DBase.h:55

Member Function Documentation

◆ barePhi()

template<class T, class PVType, class FrameType>
T PV2DBase< T, PVType, FrameType >::barePhi ( ) const
inline

Definition at line 48 of file PV2DBase.h.

48 { return basicVector().barePhi(); }
const BasicVectorType & basicVector() const
Definition: PV2DBase.h:37
T barePhi() const

◆ basicVector() [1/2]

template<class T, class PVType, class FrameType>
const BasicVectorType& PV2DBase< T, PVType, FrameType >::basicVector ( ) const
inline

◆ basicVector() [2/2]

template<class T, class PVType, class FrameType>
BasicVectorType& PV2DBase< T, PVType, FrameType >::basicVector ( )
inlineprotected

Definition at line 53 of file PV2DBase.h.

53 { return theVector; }
BasicVectorType theVector
Definition: PV2DBase.h:55

◆ mag()

template<class T, class PVType, class FrameType>
T PV2DBase< T, PVType, FrameType >::mag ( ) const
inline

Definition at line 47 of file PV2DBase.h.

47 { return basicVector().mag(); }
const BasicVectorType & basicVector() const
Definition: PV2DBase.h:37
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())

◆ mag2()

template<class T, class PVType, class FrameType>
T PV2DBase< T, PVType, FrameType >::mag2 ( ) const
inline

Definition at line 45 of file PV2DBase.h.

45 { return basicVector().mag2(); }
T mag2() const
The vector magnitude squared. Equivalent to vec.dot(vec)
const BasicVectorType & basicVector() const
Definition: PV2DBase.h:37

◆ mathVector() [1/2]

template<class T, class PVType, class FrameType>
MathVector const& PV2DBase< T, PVType, FrameType >::mathVector ( ) const
inline

Definition at line 39 of file PV2DBase.h.

39 { return theVector.v; }
BasicVectorType theVector
Definition: PV2DBase.h:55

◆ mathVector() [2/2]

template<class T, class PVType, class FrameType>
MathVector& PV2DBase< T, PVType, FrameType >::mathVector ( )
inline

Definition at line 40 of file PV2DBase.h.

40 { return theVector.v; }
BasicVectorType theVector
Definition: PV2DBase.h:55

◆ phi()

template<class T, class PVType, class FrameType>
Geom::Phi<T> PV2DBase< T, PVType, FrameType >::phi ( ) const
inline

Definition at line 49 of file PV2DBase.h.

Referenced by Particle.Particle::__str__(), and ntupleDataFormat.Track::phiPull().

49 { return basicVector().phi(); }
Geom::Phi< T > phi() const
const BasicVectorType & basicVector() const
Definition: PV2DBase.h:37

◆ r()

template<class T, class PVType, class FrameType>
T PV2DBase< T, PVType, FrameType >::r ( ) const
inline

Definition at line 46 of file PV2DBase.h.

46 { return basicVector().r(); }
const BasicVectorType & basicVector() const
Definition: PV2DBase.h:37
T r() const
Radius, same as mag()

◆ x()

template<class T, class PVType, class FrameType>
T PV2DBase< T, PVType, FrameType >::x ( ) const
inline

Definition at line 43 of file PV2DBase.h.

Referenced by svgfig.Curve.Sample::__repr__(), svgfig.Ellipse::__repr__(), SiPixelTrackResidualSource::analyze(), SiPixelErrorEstimation::analyze(), TrackerDpgAnalysis::analyze(), tkDetUtil::calculatePhiWindow(), DTTopology::channel(), FourPointPlaneBounds::checkSide(), TkPixelMeasurementDet::compHits(), SiPixelTrackResidualModule::fill(), TrackerValidationVariables::fillHitQuantities(), ApeEstimator::fillHitVariables(), Strip1DMeasurementTransformator::hitParameters(), SiPixelChargeReweightingAlgorithm::hitSignalReweight(), Phase2TrackerDigitizerAlgorithm::induce_signal(), SiPixelDigitizerAlgorithm::induce_signal(), CSCLayerGeometry::inside(), SiPixelChargeReweightingAlgorithm::lateSignalReweight(), GEMStripTopology::localError(), TrapezoidalStripTopology::localError(), CSCRadialStripTopology::localError(), TkRadialStripTopology::localError(), RectangularPixelTopology::localError(), RectangularStripTopology::localPosition(), GEMStripTopology::localPosition(), TrapezoidalStripTopology::localPosition(), DTTopology::localPosition(), OffsetRadialStripTopology::localPosition(), PixelCPEGeneric::localPosition(), TkRadialStripTopology::localPosition(), CSCRadialStripTopology::localPosition(), RectangularMTDTopology::localPosition(), RectangularPixelTopology::localPosition(), FastTrackerRecHitMatcher::match(), DTTopology::measurementPosition(), TrackerDpgAnalysis::onTrackAngles(), TTStubAlgorithm_official< T >::PatternHitCorrelation(), geometryXMLparser.Alignable::pos(), BowedSurfaceDeformation::positionCorrection(), TwoBowedSurfacesDeformation::positionCorrection(), Strip1DMeasurementTransformator::projectedTrajectoryParameters(), ntupleDataFormat._HitObject::r(), ntupleDataFormat._HitObject::r3D(), ApeEstimator::radialPositionAndError2(), SiStripRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis_matched(), PixelTemplateSmearerBase::smearHit(), trackerDTC::Stub::Stub(), TkGluedMeasurementDet::testStrips(), and DTTopology::wirePosition().

43 { return basicVector().x(); }
const BasicVectorType & basicVector() const
Definition: PV2DBase.h:37
T x() const
Cartesian x coordinate.

◆ y()

template<class T, class PVType, class FrameType>
T PV2DBase< T, PVType, FrameType >::y ( ) const
inline

Definition at line 44 of file PV2DBase.h.

Referenced by svgfig.Ellipse::__repr__(), SiPixelTrackResidualSource::analyze(), SiPixelErrorEstimation::analyze(), TrackerDpgAnalysis::analyze(), tkDetUtil::calculatePhiWindow(), FourPointPlaneBounds::checkSide(), TIBLayer::computeWindowSize(), SiPixelTrackResidualModule::fill(), TrackerValidationVariables::fillHitQuantities(), SiPixelChargeReweightingAlgorithm::hitSignalReweight(), Phase2TrackerDigitizerAlgorithm::induce_signal(), SiPixelDigitizerAlgorithm::induce_signal(), CSCLayerGeometry::inside(), SiPixelChargeReweightingAlgorithm::lateSignalReweight(), GEMStripTopology::localError(), CSCRadialStripTopology::localError(), TkRadialStripTopology::localError(), RectangularPixelTopology::localError(), RectangularStripTopology::localPosition(), GEMStripTopology::localPosition(), TrapezoidalStripTopology::localPosition(), DTTopology::localPosition(), OffsetRadialStripTopology::localPosition(), PixelCPEGeneric::localPosition(), TkRadialStripTopology::localPosition(), CSCRadialStripTopology::localPosition(), RectangularMTDTopology::localPosition(), RectangularPixelTopology::localPosition(), DTTopology::measurementPosition(), TrackerDpgAnalysis::onTrackAngles(), TTStubAlgorithm_official< T >::PatternHitCorrelation(), geometryXMLparser.Alignable::pos(), BowedSurfaceDeformation::positionCorrection(), TwoBowedSurfacesDeformation::positionCorrection(), TTStubBuilder< T >::produce(), ntupleDataFormat._HitObject::r(), ntupleDataFormat._HitObject::r3D(), ApeEstimator::radialPositionAndError2(), PixelTemplateSmearerBase::smearHit(), and trackerDTC::Stub::Stub().

44 { return basicVector().y(); }
T y() const
Cartesian y coordinate.
const BasicVectorType & basicVector() const
Definition: PV2DBase.h:37

Member Data Documentation

◆ theVector

template<class T, class PVType, class FrameType>
BasicVectorType PV2DBase< T, PVType, FrameType >::theVector
protected