Geant4  v4-10.4-release
HepGeom::Vector3D< T > 클래스 템플릿 참조

#include <Transform3D.h>

HepGeom::Vector3D< T >에 대한 상속 다이어그램 :

## Public 타입

enum  {
X = 0, Y = 1, Z = 2, NUM_COORDINATES = 3,
SIZE = NUM_COORDINATES
}

## Public 멤버 함수

operator T * ()

operator const T * () const

operator CLHEP::Hep3Vector () const

BasicVector3D< T > & operator+= (const BasicVector3D< T > &v)

BasicVector3D< T > & operator-= (const BasicVector3D< T > &v)

BasicVector3D< T > & operator*= (double a)

BasicVector3D< T > & operator/= (double a)

operator() (int i) const

T & operator() (int i)

operator[] (int i) const

T & operator[] (int i)

x () const

y () const

z () const

void setX (T a)

void setY (T a)

void setZ (T a)

void set (T x1, T y1, T z1)

perp2 () const

perp2 (const BasicVector3D< T > &v) const

perp () const

perp (const BasicVector3D< T > &v) const

rho () const

void setPerp (T rh)

mag2 () const

mag () const

r () const

phi () const

theta () const

cosTheta () const

getR () const

getPhi () const

getTheta () const

void setMag (T ma)

void setR (T ma)

void setPhi (T ph)

void setTheta (T th)

pseudoRapidity () const

template<>
float pseudoRapidity () const

template<>
double pseudoRapidity () const

eta () const

getEta () const

void setEta (T a)

template<>
void setEta (float a)

template<>
void setEta (double a)

dot (const BasicVector3D< T > &v) const

BasicVector3D< T > cross (const BasicVector3D< T > &v) const

angle (const BasicVector3D< T > &v) const

template<>
float angle (const BasicVector3D< float > &v) const

template<>
double angle (const BasicVector3D< double > &v) const

BasicVector3D< T > unit () const

BasicVector3D< T > orthogonal () const

BasicVector3D< T > & rotateX (T a)

template<>
BasicVector3D< float > & rotateX (float a)

template<>
BasicVector3D< double > & rotateX (double a)

BasicVector3D< T > & rotateY (T a)

template<>
BasicVector3D< float > & rotateY (float a)

template<>
BasicVector3D< double > & rotateY (double a)

BasicVector3D< T > & rotateZ (T a)

template<>
BasicVector3D< float > & rotateZ (float a)

template<>
BasicVector3D< double > & rotateZ (double a)

BasicVector3D< T > & rotate (T a, const BasicVector3D< T > &v)

template<>
BasicVector3D< float > & rotate (float a, const BasicVector3D< float > &v)

template<>
BasicVector3D< double > & rotate (double a, const BasicVector3D< double > &v)

v_ [3]

## 관련된 함수들

(다음은 멤버 함수들이 아닙니다. 주의하십시오.)

Vector3D< float > operator* (const Transform3D &m, const Vector3D< float > &v)

Vector3D< double > operator* (const Transform3D &m, const Vector3D< double > &v)

std::ostream & operator<< (std::ostream &, const BasicVector3D< float > &)

std::ostream & operator<< (std::ostream &, const BasicVector3D< double > &)

std::istream & operator>> (std::istream &, BasicVector3D< float > &)

std::istream & operator>> (std::istream &, BasicVector3D< double > &)

BasicVector3D< float > operator+ (const BasicVector3D< float > &v)

BasicVector3D< float > operator+ (const BasicVector3D< float > &a, const BasicVector3D< float > &b)

BasicVector3D< double > operator+ (const BasicVector3D< double > &v)

BasicVector3D< double > operator+ (const BasicVector3D< double > &a, const BasicVector3D< double > &b)

BasicVector3D< float > operator- (const BasicVector3D< float > &v)

BasicVector3D< float > operator- (const BasicVector3D< float > &a, const BasicVector3D< float > &b)

BasicVector3D< double > operator- (const BasicVector3D< double > &v)

BasicVector3D< double > operator- (const BasicVector3D< double > &a, const BasicVector3D< double > &b)

BasicVector3D< float > operator* (const BasicVector3D< float > &v, double a)

float operator* (const BasicVector3D< float > &a, const BasicVector3D< float > &b)

BasicVector3D< float > operator* (double a, const BasicVector3D< float > &v)

BasicVector3D< double > operator* (const BasicVector3D< double > &v, double a)

double operator* (const BasicVector3D< double > &a, const BasicVector3D< double > &b)

BasicVector3D< double > operator* (double a, const BasicVector3D< double > &v)

BasicVector3D< float > operator/ (const BasicVector3D< float > &v, double a)

BasicVector3D< double > operator/ (const BasicVector3D< double > &v, double a)

bool operator== (const BasicVector3D< float > &a, const BasicVector3D< float > &b)

bool operator== (const BasicVector3D< double > &a, const BasicVector3D< double > &b)

bool operator!= (const BasicVector3D< float > &a, const BasicVector3D< float > &b)

bool operator!= (const BasicVector3D< double > &a, const BasicVector3D< double > &b)

## 상세한 설명

### template<class T> class HepGeom::Vector3D< T >

Geometrical 3D Vector. This is just a declaration of the class needed to define specializations Vector3D<float> and Vector3D<double>.

Transform3D.h 파일의 128 번째 라인에서 정의되었습니다.

## 멤버 열거형 문서화

template<class T>
 anonymous enum
inherited

Safe indexing of the coordinates when using with matrices, arrays, etc.

열거형 멤버
X

index for x-component

Y

index for y-component

Z

index for z-component

NUM_COORDINATES

number of components

SIZE

number of components

BasicVector3D.h 파일의 41 번째 라인에서 정의되었습니다.

## 멤버 함수 문서화

template<>
 float HepGeom::BasicVector3D< float >::angle ( const BasicVector3D< float > & v ) const
inherited

BasicVector3D.cc 파일의 36 번째 라인에서 정의되었습니다.

다음을 참조함 : HepGeom::BasicVector3D< T >::mag().

template<>
 double HepGeom::BasicVector3D< double >::angle ( const BasicVector3D< double > & v ) const
inherited

BasicVector3D.cc 파일의 192 번째 라인에서 정의되었습니다.

다음을 참조함 : HepGeom::BasicVector3D< T >::mag().

template<class T>
 T HepGeom::BasicVector3D< T >::angle ( const BasicVector3D< T > & v ) const
inherited

Returns angle w.r.t. another vector.

template<class T>
 T HepGeom::BasicVector3D< T >::cosTheta ( ) const
inlineinherited

Gets cosine of polar angle.

BasicVector3D.h 파일의 211 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D HepGeom::BasicVector3D< T >::cross ( const BasicVector3D< T > & v ) const
inlineinherited
template<class T>
 T HepGeom::BasicVector3D< T >::dot ( const BasicVector3D< T > & v ) const
inlineinherited

Scalar product.

BasicVector3D.h 파일의 269 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::eta ( ) const
inlineinherited

Gets pseudo-rapidity.

BasicVector3D.h 파일의 254 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::getEta ( ) const
inlineinherited

Gets pseudo-rapidity.

BasicVector3D.h 파일의 257 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::getPhi ( ) const
inlineinherited

Gets phi-component in spherical coordinate system

BasicVector3D.h 파일의 218 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::getR ( ) const
inlineinherited

Gets r-component in spherical coordinate system

BasicVector3D.h 파일의 215 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::getTheta ( ) const
inlineinherited

Gets theta-component in spherical coordinate system

BasicVector3D.h 파일의 221 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::mag ( ) const
inlineinherited
template<class T>
 T HepGeom::BasicVector3D< T >::mag2 ( ) const
inlineinherited

Gets magnitude squared of the vector.

BasicVector3D.h 파일의 192 번째 라인에서 정의되었습니다.

template<class T>
 HepGeom::BasicVector3D< T >::operator CLHEP::Hep3Vector ( ) const
inlineinherited

Conversion (cast) to CLHEP::Hep3Vector. This operator is needed only for backward compatibility and in principle should not exit.

BasicVector3D.h 파일의 85 번째 라인에서 정의되었습니다.

template<class T>
 HepGeom::BasicVector3D< T >::operator const T * ( ) const
inlineinherited

Conversion (cast) to ordinary const array.

BasicVector3D.h 파일의 78 번째 라인에서 정의되었습니다.

다음을 참조함 : HepGeom::BasicVector3D< T >::v_.

template<class T>
 HepGeom::BasicVector3D< T >::operator T * ( )
inlineinherited

Conversion (cast) to ordinary array.

BasicVector3D.h 파일의 74 번째 라인에서 정의되었습니다.

다음을 참조함 : HepGeom::BasicVector3D< T >::v_.

template<class T>
 T HepGeom::BasicVector3D< T >::operator() ( int i ) const
inlineinherited

Gets components by index.

BasicVector3D.h 파일의 123 번째 라인에서 정의되었습니다.

template<class T>
 T& HepGeom::BasicVector3D< T >::operator() ( int i )
inlineinherited

Sets components by index.

BasicVector3D.h 파일의 130 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::operator*= ( double a )
inlineinherited

Multiplication by scalar.

BasicVector3D.h 파일의 108 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::operator+= ( const BasicVector3D< T > & v )
inlineinherited

BasicVector3D.h 파일의 98 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::operator-= ( const BasicVector3D< T > & v )
inlineinherited

Subtraction.

BasicVector3D.h 파일의 103 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::operator/= ( double a )
inlineinherited

Division by scalar.

BasicVector3D.h 파일의 113 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::operator[] ( int i ) const
inlineinherited

Gets components by index.

BasicVector3D.h 파일의 126 번째 라인에서 정의되었습니다.

template<class T>
 T& HepGeom::BasicVector3D< T >::operator[] ( int i )
inlineinherited

Sets components by index.

BasicVector3D.h 파일의 133 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D HepGeom::BasicVector3D< T >::orthogonal ( ) const
inlineinherited

Returns orthogonal vector.

BasicVector3D.h 파일의 312 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::perp ( ) const
inlineinherited

Gets transverse component.

BasicVector3D.h 파일의 172 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::perp ( const BasicVector3D< T > & v ) const
inlineinherited

Returns transverse component w.r.t. given axis.

BasicVector3D.h 파일의 290 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::perp2 ( ) const
inlineinherited

Gets transverse component squared.

BasicVector3D.h 파일의 169 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : HepGeom::BasicVector3D< G4double >::perp().

template<class T>
 T HepGeom::BasicVector3D< T >::perp2 ( const BasicVector3D< T > & v ) const
inlineinherited

Returns transverse component w.r.t. given axis squared.

BasicVector3D.h 파일의 283 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::phi ( ) const
inlineinherited

Gets azimuth angle.

BasicVector3D.h 파일의 201 번째 라인에서 정의되었습니다.

template<>
 float HepGeom::BasicVector3D< float >::pseudoRapidity ( ) const
inherited

BasicVector3D.cc 파일의 13 번째 라인에서 정의되었습니다.

다음을 참조함 : FLT_MAX, z.

template<>
 double HepGeom::BasicVector3D< double >::pseudoRapidity ( ) const
inherited

BasicVector3D.cc 파일의 169 번째 라인에서 정의되었습니다.

다음을 참조함 : DBL_MAX, z.

template<class T>
 T HepGeom::BasicVector3D< T >::pseudoRapidity ( ) const
inherited

Gets pseudo-rapidity: -ln(tan(theta/2))

template<class T>
 T HepGeom::BasicVector3D< T >::r ( ) const
inlineinherited

Gets r-component in spherical coordinate system

BasicVector3D.h 파일의 198 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : HepGeom::BasicVector3D< G4double >::getR().

template<class T>
 T HepGeom::BasicVector3D< T >::rho ( ) const
inlineinherited

Gets rho-component in cylindrical coordinate system

BasicVector3D.h 파일의 175 번째 라인에서 정의되었습니다.

template<>
 BasicVector3D< float > & HepGeom::BasicVector3D< float >::rotate ( float a, const BasicVector3D< float > & v )
inherited

BasicVector3D.cc 파일의 77 번째 라인에서 정의되었습니다.

template<>
 BasicVector3D< double > & HepGeom::BasicVector3D< double >::rotate ( double a, const BasicVector3D< double > & v )
inherited

BasicVector3D.cc 파일의 233 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::rotate ( T a, const BasicVector3D< T > & v )
inherited

Rotates around the axis specified by another vector.

template<>
 BasicVector3D< float > & HepGeom::BasicVector3D< float >::rotateX ( float a )
inherited

BasicVector3D.cc 파일의 49 번째 라인에서 정의되었습니다.

다음을 참조함 : y, z.

template<>
 BasicVector3D< double > & HepGeom::BasicVector3D< double >::rotateX ( double a )
inherited

BasicVector3D.cc 파일의 205 번째 라인에서 정의되었습니다.

다음을 참조함 : y, z.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::rotateX ( T a )
inherited

Rotates around x-axis.

template<>
 BasicVector3D< float > & HepGeom::BasicVector3D< float >::rotateY ( float a )
inherited

BasicVector3D.cc 파일의 58 번째 라인에서 정의되었습니다.

다음을 참조함 : x, z.

template<>
 BasicVector3D< double > & HepGeom::BasicVector3D< double >::rotateY ( double a )
inherited

BasicVector3D.cc 파일의 214 번째 라인에서 정의되었습니다.

다음을 참조함 : x, z.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::rotateY ( T a )
inherited

Rotates around y-axis.

template<>
 BasicVector3D< float > & HepGeom::BasicVector3D< float >::rotateZ ( float a )
inherited

BasicVector3D.cc 파일의 67 번째 라인에서 정의되었습니다.

다음을 참조함 : x, y.

template<>
 BasicVector3D< double > & HepGeom::BasicVector3D< double >::rotateZ ( double a )
inherited

BasicVector3D.cc 파일의 223 번째 라인에서 정의되었습니다.

다음을 참조함 : x, y.

template<class T>
 BasicVector3D& HepGeom::BasicVector3D< T >::rotateZ ( T a )
inherited

Rotates around z-axis.

template<class T>
 void HepGeom::BasicVector3D< T >::set ( T x1, T y1, T z1 )
inlineinherited
template<>
 void HepGeom::BasicVector3D< float >::setEta ( float a )
inherited

BasicVector3D.cc 파일의 23 번째 라인에서 정의되었습니다.

template<>
 void HepGeom::BasicVector3D< double >::setEta ( double a )
inherited

BasicVector3D.cc 파일의 179 번째 라인에서 정의되었습니다.

template<class T>
 void HepGeom::BasicVector3D< T >::setEta ( T a )
inherited

Sets pseudo-rapidity, keeping magnitude and phi fixed.

template<class T>
 void HepGeom::BasicVector3D< T >::setMag ( T ma )
inlineinherited

Sets magnitude.

BasicVector3D.h 파일의 225 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : HepGeom::BasicVector3D< G4double >::setR().

template<class T>
 void HepGeom::BasicVector3D< T >::setPerp ( T rh )
inlineinherited

Sets transverse component keeping phi and z constant.

BasicVector3D.h 파일의 179 번째 라인에서 정의되었습니다.

template<class T>
 void HepGeom::BasicVector3D< T >::setPhi ( T ph )
inlineinherited

Sets phi-component in spherical coordinate system.

BasicVector3D.h 파일의 236 번째 라인에서 정의되었습니다.

template<class T>
 void HepGeom::BasicVector3D< T >::setR ( T ma )
inlineinherited

Sets r-component in spherical coordinate system.

BasicVector3D.h 파일의 233 번째 라인에서 정의되었습니다.

template<class T>
 void HepGeom::BasicVector3D< T >::setTheta ( T th )
inlineinherited

Sets theta-component in spherical coordinate system.

BasicVector3D.h 파일의 239 번째 라인에서 정의되었습니다.

template<class T>
 void HepGeom::BasicVector3D< T >::setX ( T a )
inlineinherited

Sets x-component in cartesian coordinate system.

BasicVector3D.h 파일의 151 번째 라인에서 정의되었습니다.

template<class T>
 void HepGeom::BasicVector3D< T >::setY ( T a )
inlineinherited

Sets y-component in cartesian coordinate system.

BasicVector3D.h 파일의 154 번째 라인에서 정의되었습니다.

template<class T>
 void HepGeom::BasicVector3D< T >::setZ ( T a )
inlineinherited

Sets z-component in cartesian coordinate system.

BasicVector3D.h 파일의 157 번째 라인에서 정의되었습니다.

template<class T>
 T HepGeom::BasicVector3D< T >::theta ( ) const
inlineinherited

Gets polar angle.

BasicVector3D.h 파일의 206 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D HepGeom::BasicVector3D< T >::unit ( ) const
inlineinherited

Returns unit vector parallel to this.

BasicVector3D.h 파일의 304 번째 라인에서 정의되었습니다.

## Friend, 그리고 관련된 함수 문서화

template<class T>
 bool operator!= ( const BasicVector3D< float > & a, const BasicVector3D< float > & b )
related

Comparison of two vectors for inequality.

BasicVector3D.h 파일의 447 번째 라인에서 정의되었습니다.

template<class T>
 bool operator!= ( const BasicVector3D< double > & a, const BasicVector3D< double > & b )
related

Comparison of two vectors for inequality.

BasicVector3D.h 파일의 556 번째 라인에서 정의되었습니다.

template<class T>
 Vector3D< float > operator* ( const Transform3D & m, const Vector3D< float > & v )
related

Transformation of Vector<float> by Transform3D.

Vector3D.cc 파일의 21 번째 라인에서 정의되었습니다.

template<class T>
 Vector3D< double > operator* ( const Transform3D & m, const Vector3D< double > & v )
related

Transformation of Vector<double> by Transform3D.

Vector3D.cc 파일의 41 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< float > operator* ( const BasicVector3D< float > & v, double a )
related

Multiplication vector by scalar.

BasicVector3D.h 파일의 402 번째 라인에서 정의되었습니다.

template<class T>
 float operator* ( const BasicVector3D< float > & a, const BasicVector3D< float > & b )
related

Scalar product of two vectors.

BasicVector3D.h 파일의 411 번째 라인에서 정의되었습니다.

다음을 참조함 : HepGeom::BasicVector3D< T >::dot().

template<class T>
 BasicVector3D< float > operator* ( double a, const BasicVector3D< float > & v )
related

Multiplication scalar by vector.

BasicVector3D.h 파일의 420 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< double > operator* ( const BasicVector3D< double > & v, double a )
related

Multiplication vector by scalar.

BasicVector3D.h 파일의 510 번째 라인에서 정의되었습니다.

template<class T>
 double operator* ( const BasicVector3D< double > & a, const BasicVector3D< double > & b )
related

Scalar product of two vectors.

BasicVector3D.h 파일의 519 번째 라인에서 정의되었습니다.

다음을 참조함 : HepGeom::BasicVector3D< T >::dot().

template<class T>
 BasicVector3D< double > operator* ( double a, const BasicVector3D< double > & v )
related

Multiplication scalar by vector.

BasicVector3D.h 파일의 528 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< float > operator+ ( const BasicVector3D< float > & v )
related

Unary plus.

BasicVector3D.h 파일의 368 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< float > operator+ ( const BasicVector3D< float > & a, const BasicVector3D< float > & b )
related

BasicVector3D.h 파일의 375 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< double > operator+ ( const BasicVector3D< double > & v )
related

Unary plus.

BasicVector3D.h 파일의 476 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< double > operator+ ( const BasicVector3D< double > & a, const BasicVector3D< double > & b )
related

BasicVector3D.h 파일의 483 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< float > operator- ( const BasicVector3D< float > & v )
related

Unary minus.

BasicVector3D.h 파일의 384 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< float > operator- ( const BasicVector3D< float > & a, const BasicVector3D< float > & b )
related

Subtraction of two vectors.

BasicVector3D.h 파일의 393 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< double > operator- ( const BasicVector3D< double > & v )
related

Unary minus.

BasicVector3D.h 파일의 492 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< double > operator- ( const BasicVector3D< double > & a, const BasicVector3D< double > & b )
related

Subtraction of two vectors.

BasicVector3D.h 파일의 501 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< float > operator/ ( const BasicVector3D< float > & v, double a )
related

Division vector by scalar.

BasicVector3D.h 파일의 429 번째 라인에서 정의되었습니다.

template<class T>
 BasicVector3D< double > operator/ ( const BasicVector3D< double > & v, double a )
related

Division vector by scalar.

BasicVector3D.h 파일의 537 번째 라인에서 정의되었습니다.

template<class T>
 std::ostream & operator<< ( std::ostream & , const BasicVector3D< float > & )
related

Output to stream.

BasicVector3D.cc 파일의 107 번째 라인에서 정의되었습니다.

template<class T>
 std::ostream & operator<< ( std::ostream & , const BasicVector3D< double > & )
related

Output to stream.

BasicVector3D.cc 파일의 263 번째 라인에서 정의되었습니다.

template<class T>
 bool operator== ( const BasicVector3D< float > & a, const BasicVector3D< float > & b )
related

Comparison of two vectors for equality.

BasicVector3D.h 파일의 438 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4Solver< Function >::operator!=().

template<class T>
 bool operator== ( const BasicVector3D< double > & a, const BasicVector3D< double > & b )
related

Comparison of two vectors for equality.

BasicVector3D.h 파일의 546 번째 라인에서 정의되었습니다.

template<class T>
 std::istream & operator>> ( std::istream & , BasicVector3D< float > & )
related

Input from stream.

BasicVector3D.cc 파일의 114 번째 라인에서 정의되었습니다.

template<class T>
 std::istream & operator>> ( std::istream & , BasicVector3D< double > & )
related

Input from stream.

BasicVector3D.cc 파일의 270 번째 라인에서 정의되었습니다.

## 멤버 데이타 문서화

이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: