#include <Vector3DBase.h>
Public Types | |
typedef PV3DBase< T, VectorTag, FrameTag > | BaseClass |
typedef BaseClass::BasicVectorType | BasicVectorType |
typedef BaseClass::Cylindrical | Cylindrical |
typedef BaseClass::Polar | Polar |
typedef BaseClass::Spherical | Spherical |
typedef Vector3DBase< T, FrameTag > | VectorType |
Public Types inherited from PV3DBase< T, VectorTag, FrameTag > | |
typedef Basic3DVector< T > | BasicVectorType |
typedef BasicVectorType::Cylindrical | Cylindrical |
typedef BasicVectorType::MathVector | MathVector |
typedef BasicVectorType::Polar | Polar |
typedef T | ScalarType |
typedef BasicVectorType::Spherical | Spherical |
Public Member Functions | |
template<class U > | |
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > | cross (const Vector3DBase< U, FrameTag > &v) const |
template<class U > | |
PreciseFloatType< T, U >::Type | dot (const Vector3DBase< U, FrameTag > &v) const |
Vector3DBase & | operator*= (const T &t) |
Scaling by a scalar value (multiplication) More... | |
template<class U > | |
Vector3DBase & | operator+= (const Vector3DBase< U, FrameTag > &v) |
Vector3DBase | operator- () const |
Unary minus, returns a vector with components (-x(),-y(),-z()) More... | |
template<class U > | |
Vector3DBase & | operator-= (const Vector3DBase< U, FrameTag > &v) |
Vector3DBase & | operator/= (const T &t) |
Scaling by a scalar value (division) More... | |
bool | operator== (const Vector3DBase &rh) const |
Vector3DBase | unit () const |
Vector3DBase () | |
template<class U > | |
Vector3DBase (const Basic3DVector< U > &v) | |
Vector3DBase (const Cylindrical &set) | |
Vector3DBase (const Geom::Theta< T > &th, const Geom::Phi< T > &ph, const T &r) | |
Vector3DBase (const Polar &set) | |
construct from polar coordinates More... | |
Vector3DBase (const T &x, const T &y, const T &z) | |
construct from cartesian coordinates More... | |
template<class U > | |
Vector3DBase (const Vector3DBase< U, FrameTag > &v) | |
Public Member Functions inherited from PV3DBase< T, VectorTag, FrameTag > | |
T | barePhi () const |
T | bareTheta () const |
const BasicVectorType & | basicVector () const |
T | eta () const |
T | mag () const |
T | mag2 () const |
MathVector & | mathVector () |
MathVector const & | mathVector () const |
T | perp () const |
T | perp2 () const |
Geom::Phi< T > | phi () const |
PV3DBase () | |
PV3DBase (const Basic3DVector< U > &v) | |
PV3DBase (const Cylindrical &set) | |
PV3DBase (const Geom::Theta< T > &th, const Geom::Phi< T > &ph, const T &r) | |
PV3DBase (const Polar &set) | |
construct from polar coordinates More... | |
PV3DBase (const T &x, const T &y, const T &z) | |
construct from cartesian coordinates More... | |
Geom::Theta< T > | theta () const |
T | transverse () const |
T | x () const |
T | y () const |
T | z () const |
Additional Inherited Members | |
Protected Attributes inherited from PV3DBase< T, VectorTag, FrameTag > | |
BasicVectorType | theVector |
Definition at line 8 of file Vector3DBase.h.
typedef PV3DBase<T, VectorTag, FrameTag> Vector3DBase< T, FrameTag >::BaseClass |
Definition at line 10 of file Vector3DBase.h.
typedef BaseClass::BasicVectorType Vector3DBase< T, FrameTag >::BasicVectorType |
Definition at line 15 of file Vector3DBase.h.
typedef BaseClass::Cylindrical Vector3DBase< T, FrameTag >::Cylindrical |
Definition at line 12 of file Vector3DBase.h.
typedef BaseClass::Polar Vector3DBase< T, FrameTag >::Polar |
Definition at line 14 of file Vector3DBase.h.
typedef BaseClass::Spherical Vector3DBase< T, FrameTag >::Spherical |
Definition at line 13 of file Vector3DBase.h.
typedef Vector3DBase<T, FrameTag> Vector3DBase< T, FrameTag >::VectorType |
Definition at line 11 of file Vector3DBase.h.
|
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 Vector3DBase.h.
Referenced by Vector3DBase< Scalar, GlobalTag >::operator-(), and Vector3DBase< Scalar, GlobalTag >::unit().
|
inline |
Construct from another point in the same reference frame, possiblly with different precision
Definition at line 27 of file Vector3DBase.h.
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
Deprecated construct from polar coordinates, use constructor from Polar( theta, phi, r) instead.
Definition at line 42 of file Vector3DBase.h.
|
inlineexplicit |
Explicit constructor from BasicVectorType, bypasses consistency checks for point/vector and for coordinate frame. To be used as carefully as e.g. const_cast.
Definition at line 49 of file Vector3DBase.h.
|
inline |
Vector (or cross) product with a vector of possibly different precision, defined in the same reference frame. The product is computed without loss of precision. The precision of the returned Vector is the higher precision of the scalar types of the two vectors.
Definition at line 110 of file Vector3DBase.h.
Referenced by gen::EvtGenInterface::addToHepMC(), RPCSeedPattern::computePtwithSegment(), RodPlaneBuilderFromDet::computeRotation(), PlaneBuilderForGluedDet::computeRotation(), DTDigitizer::computeTime(), Line::distance(), SignedImpactParameter3D::distanceWithJetAxis(), TransverseImpactPointExtrapolator::doExtrapolation(), RPCSeedPattern::extropolateStep(), Cylinder::fastTangent(), AlCaHOCalibProducer::fillHOStore(), jacobianCartesianToCurvilinear(), jacobianCurvilinearToCartesian(), PathToPlane2Order::operator()(), RPCSeedPattern::SegmentAlgorithmSpecial(), Cylinder::tangentPlane(), TransverseImpactPointExtrapolator::tipSurface(), TkRotation< align::Scalar >::TkRotation(), and L1MuonPixelTrackFitter::valPhi().
|
inline |
Scalar (or dot) product with a vector of possibly different precision, defined in the same reference frame. The product is computed without loss of precision. The type of the returned scalar is the more precise of the scalar types of the two vectors.
Definition at line 99 of file Vector3DBase.h.
Referenced by GlobalTrackerMuonAlignment::analyzeTrackTrack(), GlobalTrackerMuonAlignment::analyzeTrackTrajectory(), SignedImpactParameter3D::apply(), SignedDecayLength3D::apply(), HGCDoublet::areAligned(), btagbtvdeep::TrackPairInfoBuilder::buildTrackPairInfo(), TwoTrackMinimumDistanceLineLine::calculate(), Line::closerPointToLine(), JacobianCurvilinearToLocal::compute(), JacobianLocalToCurvilinear::compute(), TIBRing::computeHelicity(), DTDigitizer::computeTime(), Line::distance(), SignedImpactParameter3D::distanceWithJetAxis(), V0Fitter::fitAll(), getDistInPlane(), getDistInPlaneSimple(), spr::getDistInPlaneTrackDir(), getDistInPlaneTrackDir(), Plane::localZ(), OuterDetCompatibility::maximalLocalDisplacement(), TSCBLBuilderWithPropagator::operator()(), MagGeoBuilderFromDDD::volumeHandle::referencePlane(), BtoCharmDecayVertexMergerT< VTX >::resolveBtoDchain(), and SignedTransverseImpactParameter::zImpactParameter().
|
inline |
Scaling by a scalar value (multiplication)
Definition at line 81 of file Vector3DBase.h.
|
inline |
Increment by another Vector of possibly different precision, defined in the same reference frame
Definition at line 63 of file Vector3DBase.h.
|
inline |
Unary minus, returns a vector with components (-x(),-y(),-z())
Definition at line 78 of file Vector3DBase.h.
|
inline |
Decrement by another Vector of possibly different precision, defined in the same reference frame
Definition at line 72 of file Vector3DBase.h.
|
inline |
Scaling by a scalar value (division)
Definition at line 87 of file Vector3DBase.h.
|
inline |
Definition at line 57 of file Vector3DBase.h.
|
inline |
Unit vector parallel to this. If mag() is zero, a zero vector is returned.
Definition at line 54 of file Vector3DBase.h.
Referenced by gen::EvtGenInterface::addToHepMC(), SignedImpactParameter3D::apply(), SignedDecayLength3D::apply(), SignedTransverseImpactParameter::apply(), btagbtvdeep::TrackPairInfoBuilder::buildTrackPairInfo(), SignedDecayLength3D::closestApproachToJet(), SignedImpactParameter3D::closestApproachToJet(), ForwardDiskSectorBuilderFromDet::computeBounds(), ForwardRingDiskBuilderFromDet::computeBounds(), AnalyticalCurvilinearJacobian::computeFullJacobian(), AnalyticalCurvilinearJacobian::computeStraightLineJacobian(), ForwardDetLayer::computeSurface(), DTDigitizer::computeTime(), TSCPBuilderNoMaterial::createFTSatTransverseImpactPointCharged(), fastsim::TrackerSimHitProducer::createHitOnDetector(), RPCSeedPattern::createSeed(), GlobalTrajectoryParameters::direction(), CTPPSPixelLocalTrack::directionVector(), SignedImpactParameter3D::distanceWithJetAxis(), DTRecSegment4D::DTRecSegment4D(), TrajectoryExtrapolatorToLine::extrapolate(), RPCSeedPattern::extropolateStep(), ConformalMappingFit::findRot(), DTSegmentUpdator::fit(), trackingTools::ftsFromVertexToPoint(), getDistInPlane(), getDistInPlaneSimple(), spr::getDistInPlaneTrackDir(), getDistInPlaneTrackDir(), TrackDetectorAssociator::getTAMuonChamberMatches(), BasicTrajectoryState::globalDirection(), PixelTemplateSmearerBase::hitsMerge(), SeedFromConsecutiveHitsTripletOnlyCreator::initialKinematic(), SeedForPhotonConversion1Leg::initialKinematic(), SeedFromConsecutiveHitsCreator::initialKinematic(), SeedForPhotonConversionFromQuadruplets::initialKinematic(), jacobianCartesianToCurvilinear(), PerigeeConversions::jacobianCurvilinear2Perigee(), jacobianCurvilinearToCartesian(), PerigeeConversions::jacobianPerigee2Curvilinear(), IPTools::linearizedSignedImpactParameter3D(), BasicTrajectoryState::localDirection(), FlatHexagon::makeAxis(), TruncatedPyramid::makeAxis(), FlatTrd::makeAxis(), TrajectoryManager::makeSinglePSimHit(), OuterDetCompatibility::maximalLocalDisplacement(), TransverseBoundPlaneFactory::operator()(), PropagationDirectionChooser::operator()(), MuonSimHitProducer::produce(), CosmicRegionalSeedGenerator::regions(), SeedGeneratorForCRack::seeds(), RPCSeedPattern::SegmentAlgorithmSpecial(), CosmicMuonUtilities::stepPropagate(), ThirdHitPredictionFromInvLine::ThirdHitPredictionFromInvLine(), TkRotation< align::Scalar >::TkRotation(), ConversionSeedFinder::trackStateFromClusters(), Geant4ePropagator::transformToG4SurfaceTarget(), Vector3DBase< Scalar, GlobalTag >::unit(), and CSCCrossGap::unitVector().