|
|
| B2Vector3 (void) |
| | empty Constructor sets everything to 0
|
| |
|
| B2Vector3 (const DataType xVal, const DataType yVal, const DataType zVal) |
| | Constructor expecting 3 coordinates.
|
| |
|
| B2Vector3 (const DataType(&coords)[3]) |
| | Constructor using a reference.
|
| |
|
| B2Vector3 (const DataType(*coords)[3]) |
| | Constructor using a pointer.
|
| |
|
| B2Vector3 (const TVector3 &tVec3) |
| | Constructor expecting a TVector3.
|
| |
|
| B2Vector3 (const TVector3 *tVec3) |
| | Constructor expecting a pointer to a TVector3.
|
| |
|
| B2Vector3 (const B2Vector3< DataType > &b2Vec3) |
| | Constructor expecting a B2Vector3 of same type.
|
| |
|
| B2Vector3 (const B2Vector3< DataType > *b2Vec3) |
| | Constructor expecting a pointer to a B2Vector3.
|
| |
|
template<typename OtherType > |
| | B2Vector3 (const B2Vector3< OtherType > &b2Vec3) |
| | Constructor expecting a B2Vector3 of different type.
|
| |
|
template<typename OtherType > |
| | B2Vector3 (const B2Vector3< OtherType > *b2Vec3) |
| | Constructor expecting a pointer to a B2Vector3 of different type.
|
| |
|
| B2Vector3 (const ROOT::Math::XYZVector &xyzVec) |
| | Constructor expecting a XYZVector.
|
| |
|
| B2Vector3 (const ROOT::Math::XYZVector *xyzVec) |
| | Constructor expecting a pointer to a XYZVector.
|
| |
|
DataType | operator() (unsigned i) const |
| | member access without boundary check
|
| |
|
DataType | operator[] (unsigned i) const |
| | member access without boundary check
|
| |
|
DataType & | operator() (unsigned i) |
| | member access without boundary check
|
| |
|
DataType & | operator[] (unsigned i) |
| | member access without boundary check
|
| |
|
B2Vector3< DataType > & | operator= (const B2Vector3< DataType > &b) |
| | Assignment via B2Vector3.
|
| |
|
B2Vector3< DataType > & | operator= (const TVector3 &b) |
| | Assignment via TVector3.
|
| |
|
B2Vector3< DataType > & | operator= (const ROOT::Math::XYZVector &b) |
| | Assignment via XYZVector.
|
| |
|
| operator TVector3 () const |
| | type conversion in TVector3
|
| |
|
| operator ROOT::Math::XYZVector () const |
| | type conversion in ROOT::Math::XYZVector
|
| |
|
bool | operator== (const B2Vector3< DataType > &b) const |
| | Comparison for equality with a B2Vector3.
|
| |
|
bool | operator== (const TVector3 &b) const |
| | Comparison for equality with a TVector3.
|
| |
|
bool | operator== (const ROOT::Math::XYZVector &b) const |
| | Comparison for equality with a XYZVector.
|
| |
|
bool | operator!= (const B2Vector3< DataType > &b) const |
| | Comparison != with a B2Vector3.
|
| |
|
bool | operator!= (const TVector3 &b) const |
| | Comparison != with a TVector3.
|
| |
|
bool | operator!= (const ROOT::Math::XYZVector &b) const |
| | Comparison != with a XYZVector.
|
| |
|
B2Vector3< DataType > & | operator+= (const B2Vector3< DataType > &b) |
| | addition
|
| |
|
B2Vector3< DataType > & | operator-= (const B2Vector3< DataType > &b) |
| | subtraction
|
| |
| B2Vector3< DataType > & | operator*= (DataType a) |
| | scaling with real numbers More...
|
| |
|
B2Vector3< DataType > | operator- () const |
| | unary minus
|
| |
|
B2Vector3< DataType > | operator+ (const B2Vector3< DataType > &b) const |
| | Addition of 3-vectors.
|
| |
|
B2Vector3< DataType > | operator- (const B2Vector3< DataType > &b) const |
| | Subtraction of 3-vectors.
|
| |
|
B2Vector3< DataType > | operator* (DataType a) const |
| | Scaling of 3-vectors with a real number.
|
| |
|
B2Vector3< DataType > | operator/ (DataType a) const |
| | Scaling of 3-vectors with a real number.
|
| |
|
DataType | operator* (const B2Vector3< DataType > &b) const |
| | Scalar product of 3-vectors.
|
| |
| DataType | Phi () const |
| | The azimuth angle. More...
|
| |
|
DataType | Theta () const |
| | The polar angle.
|
| |
|
DataType | CosTheta () const |
| | Cosine of the polar angle.
|
| |
|
DataType | Mag2 () const |
| | The magnitude squared (rho^2 in spherical coordinate system).
|
| |
|
DataType | Mag () const |
| | The magnitude (rho in spherical coordinate system).
|
| |
|
void | SetPhi (DataType phi) |
| | Set phi keeping mag and theta constant.
|
| |
|
void | SetTheta (DataType theta) |
| | Set theta keeping mag and phi constant.
|
| |
|
void | SetMag (DataType mag) |
| | Set magnitude keeping theta and phi constant.
|
| |
|
DataType | Perp2 () const |
| | The transverse component squared (R^2 in cylindrical coordinate system).
|
| |
|
DataType | Pt () const |
| | The transverse component (R in cylindrical coordinate system).
|
| |
|
DataType | Perp () const |
| | The transverse component (R in cylindrical coordinate system).
|
| |
|
void | SetPerp (DataType r) |
| | Set the transverse component keeping phi and z constant.
|
| |
| DataType | Perp2 (const B2Vector3< DataType > &axis) const |
| | The transverse component w.r.t. More...
|
| |
| DataType | Pt (const B2Vector3< DataType > &axis) const |
| | The transverse component w.r.t. More...
|
| |
| DataType | Perp (const B2Vector3< DataType > &axis) const |
| | The transverse component w.r.t. More...
|
| |
|
DataType | DeltaPhi (const B2Vector3< DataType > &v) const |
| | returns phi in the interval [-PI,PI)
|
| |
|
DataType | DeltaR (const B2Vector3< DataType > &v) const |
| | return deltaR with respect to input-vector
|
| |
|
DataType | DrEtaPhi (const B2Vector3< DataType > &v) const |
| | return DrEtaPhi with respect to input-vector
|
| |
|
void | SetMagThetaPhi (DataType mag, DataType theta, DataType phi) |
| | setter with mag, theta, phi
|
| |
|
B2Vector3< DataType > | Unit () const |
| | Unit vector parallel to this.
|
| |
|
B2Vector3< DataType > | Orthogonal () const |
| | Vector orthogonal to this one.
|
| |
|
DataType | Dot (const B2Vector3< DataType > &p) const |
| | Scalar product.
|
| |
|
B2Vector3< DataType > | Cross (const B2Vector3< DataType > &p) const |
| | Cross product.
|
| |
| DataType | Angle (const B2Vector3< DataType > &q) const |
| | The angle w.r.t. More...
|
| |
| DataType | PseudoRapidity () const |
| | Returns the pseudo-rapidity, i.e. More...
|
| |
|
DataType | Eta () const |
| | Returns the pseudo-rapidity.
|
| |
|
void | RotateX (DataType angle) |
| | Rotates the B2Vector3 around the x-axis.
|
| |
|
void | RotateY (DataType angle) |
| | Rotates the B2Vector3 around the y-axis.
|
| |
|
void | RotateZ (DataType angle) |
| | Rotates the B2Vector3 around the z-axis.
|
| |
|
void | RotateUz (const B2Vector3< DataType > &NewUzVector) |
| | Rotates reference frame from Uz to newUz (unit vector).
|
| |
| void | Rotate (DataType alpha, const B2Vector3< DataType > &v) |
| | Rotation around an arbitrary axis v with angle alpha. More...
|
| |
|
void | Abs () |
| | calculates the absolute value of the coordinates element-wise
|
| |
|
void | Sqrt () |
| | calculates the square root of the absolute values of the coordinates element-wise
|
| |
| DataType | at (unsigned i) const |
| | safe member access (with boundary check!) More...
|
| |
|
DataType | x () const |
| | access variable X (= .at(0) without boundary check)
|
| |
|
DataType | y () const |
| | access variable Y (= .at(1) without boundary check)
|
| |
|
DataType | z () const |
| | access variable Z (= .at(2) without boundary check)
|
| |
|
DataType | X () const |
| | access variable X (= .at(0) without boundary check)
|
| |
|
DataType | Y () const |
| | access variable Y (= .at(1) without boundary check)
|
| |
|
DataType | Z () const |
| | access variable Z (= .at(2) without boundary check)
|
| |
|
DataType | Px () const |
| | access variable X (= .at(0) without boundary check)
|
| |
|
DataType | Py () const |
| | access variable Y (= .at(1) without boundary check)
|
| |
|
DataType | Pz () const |
| | access variable Z (= .at(2) without boundary check)
|
| |
|
void | GetXYZ (Double_t *carray) const |
| | directly copies coordinates to an array of double
|
| |
|
void | GetXYZ (Float_t *carray) const |
| | directly copies coordinates to an array of float
|
| |
|
void | GetXYZ (TVector3 *tVec) const |
| | directly copies coordinates to a TVector3
|
| |
|
void | GetXYZ (ROOT::Math::XYZVector *xyzVec) const |
| | directly copies coordinates to a XYZVector
|
| |
|
TVector3 | GetTVector3 () const |
| | returns a TVector3 containing the same coordinates
|
| |
| ROOT::Math::XYZVector | GetXYZVector () const |
| | returns a XYZVector containing the same coordinates More...
|
| |
|
void | SetX (DataType x) |
| | set X/1st-coordinate
|
| |
|
void | SetY (DataType y) |
| | set Y/2nd-coordinate
|
| |
|
void | SetZ (DataType z) |
| | set Z/3rd-coordinate
|
| |
|
void | SetXYZ (DataType x, DataType y, DataType z) |
| | set all coordinates using data type
|
| |
|
void | SetXYZ (const TVector3 &tVec) |
| | set all coordinates using a reference to TVector3
|
| |
|
void | SetXYZ (const TVector3 *tVec) |
| | set all coordinates using a pointer to TVector3
|
| |
|
void | SetXYZ (const ROOT::Math::XYZVector &xyzVec) |
| | set all coordinates using a reference to XYZVector
|
| |
|
void | SetXYZ (const ROOT::Math::XYZVector *xyzVec) |
| | set all coordinates using a pointer to XYZVector
|
| |
|
std::string | PrintString (unsigned precision=4) const |
| | create a string containing vector in cartesian and spherical coordinates
|
| |
|
std::string | PrintStringXYZ (unsigned precision=4) const |
| | create a string containing vector in cartesian coordinates
|
| |
|
std::string | PrintStringCyl (unsigned precision=4) const |
| | create a string containing vector in spherical coordinates
|
| |
|
void | Print () |
| | just for backward compatibility, should not be used with new code
|
| |
template<typename DataType>
class Belle2::B2Vector3< DataType >
A fast and root compatible alternative to TVector3.
Goals:
- vectorizable
- root compatible
- fixed size
- featureset comparable to TVector3 (long term goal)
- interface/member functions compatible to TVector3
DataType: shall be the data type one wants to store in the B2Vector (e.g. double)
Definition at line 42 of file B2Vector3.h.