#include <extBasic2DVector.h>
Public Types | |
typedef Vec2< T > | MathVector |
typedef mathSSE::Vec2< T > | MathVector |
typedef Basic2DVector< T > | MathVector |
typedef Geom::Polar2Cartesian< T > | Polar |
typedef Geom::Polar2Cartesian< T > | Polar |
typedef Geom::Polar2Cartesian< T > | Polar |
typedef T | ScalarType |
typedef T | ScalarType |
typedef T | ScalarType |
typedef mathSSE::Vec2< T > | VectorType |
typedef Vec2< T > | VectorType |
Public Member Functions | |
T | barePhi () const |
T | barePhi () const |
T | barePhi () const |
Basic2DVector () | |
Basic2DVector () | |
Basic2DVector (const Basic2DVector &p) | |
Copy constructor from same type. Should not be needed but for gcc bug 12685. More... | |
Basic2DVector (const Basic2DVector &p) | |
Copy constructor from same type. Should not be needed but for gcc bug 12685. More... | |
Basic2DVector () | |
Basic2DVector (const Basic2DVector &p) | |
Copy constructor from same type. Should not be needed but for gcc bug 12685. More... | |
template<typename U > | |
Basic2DVector (const Basic2DVector< U > &p) | |
template<typename U > | |
Basic2DVector (const Basic2DVector< U > &p) | |
template<class Other > | |
Basic2DVector (const Other &p) | |
template<class Other > | |
Basic2DVector (const Other &p) | |
template<class Other > | |
Basic2DVector (const Other &p) | |
Basic2DVector (const T &x, const T &y) | |
construct from cartesian coordinates More... | |
Basic2DVector (const T &x, const T &y) | |
construct from cartesian coordinates More... | |
Basic2DVector (const T &x, const T &y) | |
construct from cartesian coordinates More... | |
Basic2DVector (MathVector const &iv) | |
template<typename U > | |
Basic2DVector (mathSSE::Vec2< U > const &iv) | |
template<typename U > | |
Basic2DVector (Vec2< U > const &iv) | |
template<typename U > | |
Basic2DVector (mathSSE::Vec4< U > const &iv) | |
template<typename U > | |
Basic2DVector (Vec4< U > const &iv) | |
T | cross (const Basic2DVector &lh) const |
Vector product, or "cross" product, with a vector of same type. More... | |
T | cross (const Basic2DVector &lh) const |
Vector product, or "cross" product, with a vector of same type. More... | |
template<class U > | |
PreciseFloatType< T, U >::Type | cross (const Basic2DVector< U > &lh) const |
template<class U > | |
PreciseFloatType< T, U >::Type | cross (const Basic2DVector< U > &lh) const |
T | cross (const Basic2DVector &v) const |
Vector product, or "cross" product, with a vector of same type. More... | |
template<class U > | |
PreciseFloatType< T, U >::Type | cross (const Basic2DVector< U > &v) const |
T | dot (const Basic2DVector &lh) const |
Scalar product, or "dot" product, with a vector of same type. More... | |
T | dot (const Basic2DVector &lh) const |
Scalar product, or "dot" product, with a vector of same type. More... | |
template<class U > | |
PreciseFloatType< T, U >::Type | dot (const Basic2DVector< U > &lh) const |
template<class U > | |
PreciseFloatType< T, U >::Type | dot (const Basic2DVector< U > &lh) const |
T | dot (const Basic2DVector &v) const |
Scalar product, or "dot" product, with a vector of same type. More... | |
template<class U > | |
PreciseFloatType< T, U >::Type | dot (const Basic2DVector< U > &v) const |
T | mag () const |
The vector magnitude. Equivalent to sqrt(vec.mag2()) More... | |
T | mag () const |
The vector magnitude. Equivalent to sqrt(vec.mag2()) More... | |
T | mag () const |
The vector magnitude. Equivalent to sqrt(vec.mag2()) More... | |
T | mag2 () const |
The vector magnitude squared. Equivalent to vec.dot(vec) More... | |
T | mag2 () const |
The vector magnitude squared. Equivalent to vec.dot(vec) More... | |
T | mag2 () const |
The vector magnitude squared. Equivalent to vec.dot(vec) More... | |
MathVector const & | mathVector () const |
MathVector const & | mathVector () const |
MathVector & | mathVector () |
MathVector & | mathVector () |
Basic2DVector & | operator*= (T t) |
Scaling by a scalar value (multiplication) More... | |
Basic2DVector & | operator*= (T t) |
Scaling by a scalar value (multiplication) More... | |
Basic2DVector & | operator*= (const T &t) |
Scaling by a scalar value (multiplication) More... | |
template<class U > | |
Basic2DVector & | operator+= (const Basic2DVector< U > &p) |
template<class U > | |
Basic2DVector & | operator+= (const Basic2DVector< U > &p) |
template<class U > | |
Basic2DVector & | operator+= (const Basic2DVector< U > &p) |
Basic2DVector | operator- () const |
Unary minus, returns a vector with components (-x(),-y(),-z()) More... | |
Basic2DVector | operator- () const |
Unary minus, returns a vector with components (-x(),-y(),-z()) More... | |
Basic2DVector | operator- () const |
Unary minus, returns a vector with components (-x(),-y(),-z()) More... | |
template<class U > | |
Basic2DVector & | operator-= (const Basic2DVector< U > &p) |
template<class U > | |
Basic2DVector & | operator-= (const Basic2DVector< U > &p) |
template<class U > | |
Basic2DVector & | operator-= (const Basic2DVector< U > &p) |
Basic2DVector & | operator/= (T t) |
Scaling by a scalar value (division) More... | |
Basic2DVector & | operator/= (T t) |
Scaling by a scalar value (division) More... | |
Basic2DVector & | operator/= (const T &t) |
Scaling by a scalar value (division) More... | |
Basic2DVector & | operator= (const Basic2DVector &)=default |
Assignment operator. More... | |
Basic2DVector & | operator= (const Basic2DVector &)=default |
Assignment operator. More... | |
T | operator[] (int i) const |
T & | operator[] (int i) |
T | operator[] (int i) const |
T | operator[] (int i) const |
T & | operator[] (int i) |
Geom::Phi< T > | phi () const |
Geom::Phi< T > | phi () const |
Geom::Phi< T > | phi () const |
T | r () const |
Radius, same as mag() More... | |
T | r () const |
Radius, same as mag() More... | |
T | r () const |
Radius, same as mag() More... | |
Basic2DVector | unit () const |
Basic2DVector | unit () const |
Basic2DVector | unit () const |
T | x () const |
Cartesian x coordinate. More... | |
T | x () const |
Cartesian x coordinate. More... | |
T | x () const |
Cartesian x coordinate. More... | |
T | y () const |
Cartesian y coordinate. More... | |
T | y () const |
Cartesian y coordinate. More... | |
T | y () const |
Cartesian y coordinate. More... | |
Public Attributes | |
Vec2< T > | v |
mathSSE::Vec2< T > | v |
Private Attributes | |
T | theX |
T | theY |
Definition at line 13 of file extBasic2DVector.h.
typedef Vec2<T> Basic2DVector< T >::MathVector |
Definition at line 17 of file extBasic2DVector.h.
typedef mathSSE::Vec2<T> Basic2DVector< T >::MathVector |
Definition at line 17 of file sseBasic2DVector.h.
typedef Basic2DVector<T> Basic2DVector< T >::MathVector |
Definition at line 19 of file oldBasic2DVector.h.
typedef Geom::Polar2Cartesian<T> Basic2DVector< T >::Polar |
Definition at line 18 of file extBasic2DVector.h.
typedef Geom::Polar2Cartesian<T> Basic2DVector< T >::Polar |
Definition at line 18 of file sseBasic2DVector.h.
typedef Geom::Polar2Cartesian<T> Basic2DVector< T >::Polar |
Definition at line 22 of file oldBasic2DVector.h.
typedef T Basic2DVector< T >::ScalarType |
Definition at line 15 of file sseBasic2DVector.h.
typedef T Basic2DVector< T >::ScalarType |
Definition at line 15 of file extBasic2DVector.h.
typedef T Basic2DVector< T >::ScalarType |
Definition at line 21 of file oldBasic2DVector.h.
typedef mathSSE::Vec2<T> Basic2DVector< T >::VectorType |
Definition at line 16 of file sseBasic2DVector.h.
typedef Vec2<T> Basic2DVector< T >::VectorType |
Definition at line 16 of file extBasic2DVector.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 24 of file extBasic2DVector.h.
Referenced by Basic2DVector< float >::operator-().
|
inline |
Copy constructor from same type. Should not be needed but for gcc bug 12685.
Definition at line 27 of file extBasic2DVector.h.
|
inline |
Definition at line 33 of file extBasic2DVector.h.
|
inlineexplicit |
Explicit constructor from other (possibly unrelated) vector classes The only constraint on the argument type is that it has methods x() and y(), and that these methods return a type convertible to T. Examples of use are
construction from a Basic2DVector with different precision
construction from a coordinate system converter
Definition at line 43 of file extBasic2DVector.h.
|
inline |
|
inline |
Definition at line 49 of file extBasic2DVector.h.
|
inline |
Definition at line 51 of file extBasic2DVector.h.
|
inline |
Definition at line 53 of file extBasic2DVector.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 28 of file oldBasic2DVector.h.
|
inline |
Copy constructor from same type. Should not be needed but for gcc bug 12685.
Definition at line 31 of file oldBasic2DVector.h.
|
inlineexplicit |
Explicit constructor from other (possibly unrelated) vector classes The only constraint on the argument type is that it has methods x() and y(), and that these methods return a type convertible to T. Examples of use are
construction from a Basic2DVector with different precision
construction from a coordinate system converter
Definition at line 42 of file oldBasic2DVector.h.
|
inline |
|
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 24 of file sseBasic2DVector.h.
|
inline |
Copy constructor from same type. Should not be needed but for gcc bug 12685.
Definition at line 27 of file sseBasic2DVector.h.
|
inline |
Definition at line 33 of file sseBasic2DVector.h.
|
inlineexplicit |
Explicit constructor from other (possibly unrelated) vector classes The only constraint on the argument type is that it has methods x() and y(), and that these methods return a type convertible to T. Examples of use are
construction from a Basic2DVector with different precision
construction from a coordinate system converter
Definition at line 43 of file sseBasic2DVector.h.
|
inline |
|
inline |
Definition at line 50 of file sseBasic2DVector.h.
|
inline |
Definition at line 52 of file sseBasic2DVector.h.
|
inline |
Azimuthal angle. The value is returned in radians, in the range (-pi,pi]. Same precision as the system atan2(x,y) function. The return type is Geom::Phi<T>, see it's documentation.
Definition at line 79 of file extBasic2DVector.h.
Referenced by PV2DBase< double, PointTag, LocalTag >::barePhi().
|
inline |
Azimuthal angle. The value is returned in radians, in the range (-pi,pi]. Same precision as the system atan2(x,y) function. The return type is Geom::Phi<T>, see it's documentation.
Definition at line 79 of file sseBasic2DVector.h.
|
inline |
Azimuthal angle. The value is returned in radians, in the range (-pi,pi]. Same precision as the system atan2(x,y) function. The return type is Geom::Phi<T>, see it's documentation.
Definition at line 88 of file oldBasic2DVector.h.
|
inline |
Vector product, or "cross" product, with a vector of same type.
Definition at line 137 of file extBasic2DVector.h.
Referenced by Basic2DVector< float >::cross().
|
inline |
Vector product, or "cross" product, with a vector of same type.
Definition at line 137 of file sseBasic2DVector.h.
|
inline |
Vector (or cross) product with a vector of different precision. 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 145 of file extBasic2DVector.h.
|
inline |
Vector (or cross) product with a vector of different precision. 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 145 of file sseBasic2DVector.h.
|
inline |
Vector product, or "cross" product, with a vector of same type.
Definition at line 150 of file oldBasic2DVector.h.
|
inline |
Vector (or cross) product with a vector of different precision. 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 158 of file oldBasic2DVector.h.
|
inline |
Scalar product, or "dot" product, with a vector of same type.
Definition at line 123 of file extBasic2DVector.h.
Referenced by Vector2DBase< float, GlobalTag >::dot(), Basic2DVector< float >::dot(), and InnerDeltaPhi::phiRange().
|
inline |
Scalar product, or "dot" product, with a vector of same type.
Definition at line 123 of file sseBasic2DVector.h.
|
inline |
Scalar (or dot) product with a vector of different precision. 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 131 of file extBasic2DVector.h.
|
inline |
Scalar (or dot) product with a vector of different precision. 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 131 of file sseBasic2DVector.h.
|
inline |
Scalar product, or "dot" product, with a vector of same type.
Definition at line 135 of file oldBasic2DVector.h.
|
inline |
Scalar (or dot) product with a vector of different precision. 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 143 of file oldBasic2DVector.h.
|
inline |
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition at line 70 of file extBasic2DVector.h.
Referenced by HelixBarrelCylinderCrossing::HelixBarrelCylinderCrossing(), ThirdHitPredictionFromCircle::invCenterOnAxis(), PV2DBase< double, PointTag, LocalTag >::mag(), HelixBarrelPlaneCrossingByCircle::pathLength(), InnerDeltaPhi::phiRange(), Basic2DVector< float >::r(), PixelFitterByHelixProjections::run(), TrackFitter::run(), and Basic2DVector< float >::unit().
|
inline |
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition at line 70 of file sseBasic2DVector.h.
|
inline |
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition at line 79 of file oldBasic2DVector.h.
|
inline |
The vector magnitude squared. Equivalent to vec.dot(vec)
Definition at line 67 of file extBasic2DVector.h.
Referenced by ThirdHitPredictionFromCircle::angle(), HelixBarrelPlaneCrossingByCircle::chooseSolution(), HelixBarrelCylinderCrossing::chooseSolution(), Basic2DVector< float >::mag(), PV2DBase< double, PointTag, LocalTag >::mag2(), ThirdHitPredictionFromCircle::phi(), InnerDeltaPhi::phiRange(), and ThirdHitPredictionFromCircle::HelixRZ::zAtR().
|
inline |
The vector magnitude squared. Equivalent to vec.dot(vec)
Definition at line 67 of file sseBasic2DVector.h.
|
inline |
The vector magnitude squared. Equivalent to vec.dot(vec)
Definition at line 76 of file oldBasic2DVector.h.
|
inline |
Definition at line 54 of file sseBasic2DVector.h.
|
inline |
Definition at line 55 of file sseBasic2DVector.h.
|
inline |
Definition at line 55 of file extBasic2DVector.h.
|
inline |
Definition at line 56 of file extBasic2DVector.h.
|
inline |
|
inline |
|
inline |
|
inline |
Operator += with a Basic2DVector of possibly different precision.
Definition at line 93 of file sseBasic2DVector.h.
|
inline |
Operator += with a Basic2DVector of possibly different precision.
Definition at line 93 of file extBasic2DVector.h.
|
inline |
Operator += with a Basic2DVector of possibly different precision.
Definition at line 102 of file oldBasic2DVector.h.
|
inline |
Unary minus, returns a vector with components (-x(),-y(),-z())
Definition at line 107 of file sseBasic2DVector.h.
|
inline |
Unary minus, returns a vector with components (-x(),-y(),-z())
Definition at line 107 of file extBasic2DVector.h.
|
inline |
Unary minus, returns a vector with components (-x(),-y(),-z())
Definition at line 118 of file oldBasic2DVector.h.
|
inline |
Operator -= with a Basic2DVector of possibly different precision.
Definition at line 101 of file sseBasic2DVector.h.
|
inline |
Operator -= with a Basic2DVector of possibly different precision.
Definition at line 101 of file extBasic2DVector.h.
|
inline |
Operator -= with a Basic2DVector of possibly different precision.
Definition at line 111 of file oldBasic2DVector.h.
|
inline |
|
inline |
|
inline |
|
default |
Assignment operator.
|
default |
Assignment operator.
|
inline |
Definition at line 57 of file sseBasic2DVector.h.
|
inline |
Definition at line 58 of file extBasic2DVector.h.
|
inline |
Definition at line 58 of file sseBasic2DVector.h.
|
inline |
Definition at line 66 of file oldBasic2DVector.h.
|
inline |
Definition at line 67 of file oldBasic2DVector.h.
|
inline |
Definition at line 80 of file sseBasic2DVector.h.
Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), datamodel.Object::p4(), and ntupleDataFormat.Track::phiPull().
|
inline |
Definition at line 80 of file extBasic2DVector.h.
Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), datamodel.Object::p4(), ThirdHitPredictionFromCircle::phi(), PV2DBase< double, PointTag, LocalTag >::phi(), and ntupleDataFormat.Track::phiPull().
|
inline |
Definition at line 89 of file oldBasic2DVector.h.
Referenced by Particle.Particle::__str__(), datamodel.Object::DeltaR(), datamodel.Object::p4(), and ntupleDataFormat.Track::phiPull().
|
inline |
Radius, same as mag()
Definition at line 73 of file sseBasic2DVector.h.
|
inline |
Radius, same as mag()
Definition at line 73 of file extBasic2DVector.h.
Referenced by PixelTripletLargeTipGenerator::hitTriplets(), and PV2DBase< double, PointTag, LocalTag >::r().
|
inline |
Radius, same as mag()
Definition at line 82 of file oldBasic2DVector.h.
|
inline |
Unit vector parallel to this. If mag() is zero, a zero vector is returned.
Definition at line 85 of file sseBasic2DVector.h.
|
inline |
Unit vector parallel to this. If mag() is zero, a zero vector is returned.
Definition at line 85 of file extBasic2DVector.h.
Referenced by InnerDeltaPhi::phiRange(), and TkRotation2D< Scalar >::TkRotation2D().
|
inline |
Unit vector parallel to this. If mag() is zero, a zero vector is returned.
Definition at line 94 of file oldBasic2DVector.h.
|
inline |
Cartesian x coordinate.
Definition at line 61 of file sseBasic2DVector.h.
Referenced by svgfig.Curve.Sample::__repr__(), svgfig.Ellipse::__repr__(), geometryXMLparser.Alignable::pos(), ntupleDataFormat._HitObject::r(), and ntupleDataFormat._HitObject::r3D().
|
inline |
Cartesian x coordinate.
Definition at line 61 of file extBasic2DVector.h.
Referenced by svgfig.Curve.Sample::__repr__(), svgfig.Ellipse::__repr__(), Basic2DVector< float >::barePhi(), Basic2DVector< float >::Basic2DVector(), HelixBarrelPlaneCrossingByCircle::chooseSolution(), HelixBarrelCylinderCrossing::chooseSolution(), Basic2DVector< float >::cross(), ThirdHitPredictionFromCircle::curvature(), Basic2DVector< float >::dot(), ClusterShapeTrackFilter::getGlobalDirs(), HelixBarrelCylinderCrossing::HelixBarrelCylinderCrossing(), ThirdHitPredictionFromCircle::invCenterOnAxis(), operator*(), Basic2DVector< float >::operator-(), Basic2DVector< float >::phi(), geometryXMLparser.Alignable::pos(), HelixBarrelPlaneCrossingByCircle::position(), ntupleDataFormat._HitObject::r(), ntupleDataFormat._HitObject::r3D(), ThirdHitPredictionFromCircle::HelixRZ::rAtZ(), PixelFitterByHelixProjections::run(), TrackFitter::run(), KFBasedPixelFitter::run(), TkRotation2D< Scalar >::TkRotation2D(), and PV2DBase< double, PointTag, LocalTag >::x().
|
inline |
Cartesian x coordinate.
Definition at line 70 of file oldBasic2DVector.h.
Referenced by svgfig.Curve.Sample::__repr__(), svgfig.Ellipse::__repr__(), geometryXMLparser.Alignable::pos(), ntupleDataFormat._HitObject::r(), and ntupleDataFormat._HitObject::r3D().
|
inline |
Cartesian y coordinate.
Definition at line 64 of file sseBasic2DVector.h.
Referenced by svgfig.Ellipse::__repr__(), geometryXMLparser.Alignable::pos(), ntupleDataFormat._HitObject::r(), and ntupleDataFormat._HitObject::r3D().
|
inline |
Cartesian y coordinate.
Definition at line 64 of file extBasic2DVector.h.
Referenced by svgfig.Ellipse::__repr__(), Basic2DVector< float >::barePhi(), Basic2DVector< float >::Basic2DVector(), HelixBarrelPlaneCrossingByCircle::chooseSolution(), HelixBarrelCylinderCrossing::chooseSolution(), Basic2DVector< float >::cross(), ThirdHitPredictionFromCircle::curvature(), Basic2DVector< float >::dot(), ClusterShapeTrackFilter::getGlobalDirs(), HelixBarrelCylinderCrossing::HelixBarrelCylinderCrossing(), ThirdHitPredictionFromCircle::invCenterOnAxis(), operator*(), Basic2DVector< float >::operator-(), Basic2DVector< float >::phi(), geometryXMLparser.Alignable::pos(), HelixBarrelPlaneCrossingByCircle::position(), ntupleDataFormat._HitObject::r(), ntupleDataFormat._HitObject::r3D(), ThirdHitPredictionFromCircle::HelixRZ::rAtZ(), PixelFitterByHelixProjections::run(), TrackFitter::run(), KFBasedPixelFitter::run(), TkRotation2D< Scalar >::TkRotation2D(), and PV2DBase< double, PointTag, LocalTag >::y().
|
inline |
Cartesian y coordinate.
Definition at line 73 of file oldBasic2DVector.h.
Referenced by svgfig.Ellipse::__repr__(), geometryXMLparser.Alignable::pos(), ntupleDataFormat._HitObject::r(), and ntupleDataFormat._HitObject::r3D().
|
private |
Definition at line 164 of file oldBasic2DVector.h.
Referenced by Basic2DVector< float >::barePhi(), Basic2DVector< float >::mag2(), Basic2DVector< float >::operator*=(), Basic2DVector< float >::operator+=(), Basic2DVector< float >::operator-=(), Basic2DVector< float >::operator/=(), Basic2DVector< float >::operator[](), Basic2DVector< float >::phi(), and Basic2DVector< float >::x().
|
private |
Definition at line 165 of file oldBasic2DVector.h.
Referenced by Basic2DVector< float >::barePhi(), Basic2DVector< float >::mag2(), Basic2DVector< float >::operator*=(), Basic2DVector< float >::operator+=(), Basic2DVector< float >::operator-=(), Basic2DVector< float >::operator/=(), Basic2DVector< float >::operator[](), Basic2DVector< float >::phi(), and Basic2DVector< float >::y().
mathSSE::Vec2<T> Basic2DVector< T >::v |
Definition at line 151 of file sseBasic2DVector.h.
Vec2<T> Basic2DVector< T >::v |
Definition at line 151 of file extBasic2DVector.h.
Referenced by Basic2DVector< float >::cross(), Basic2DVector< float >::dot(), Basic2DVector< float >::mag2(), PV2DBase< double, PointTag, LocalTag >::mathVector(), Basic2DVector< float >::mathVector(), Basic2DVector< float >::operator*=(), Basic2DVector< float >::operator+=(), Basic2DVector< float >::operator-(), Basic2DVector< float >::operator-=(), Basic2DVector< float >::operator/=(), Basic2DVector< float >::operator[](), LinkByRecHit::testECALAndPSByRecHit(), TkRotation2D< Scalar >::TkRotation2D(), Basic2DVector< float >::x(), and Basic2DVector< float >::y().