OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
|
#include <Quaternion.h>
Public Member Functions | |
Quaternion () | |
Quaternion (const Quaternion &) | |
Quaternion (const double &, const double &, const double &, const double &) | |
Quaternion (const Vector_t &) | |
Quaternion (const double &, const Vector_t &) | |
Quaternion (const Tenzor< double, 3 > &) | |
Quaternion | operator* (const double &) const |
Quaternion | operator* (const Quaternion &) const |
Quaternion & | operator= (const Quaternion &)=default |
Quaternion & | operator*= (const Quaternion &) |
Quaternion | operator/ (const double &) const |
double | Norm () const |
double | length () const |
Quaternion & | normalize () |
bool | isUnit () const |
bool | isPure () const |
bool | isPureUnit () const |
Quaternion | inverse () const |
Quaternion | conjugate () const |
double | real () const |
Vector_t | imag () const |
Vector_t | rotate (const Vector_t &) const |
Tenzor< double, 3 > | getRotationMatrix () const |
Public Member Functions inherited from Vektor< double, 4 > | |
Vektor () | |
Vektor (const Vektor< double, D > &rhs) | |
Vektor (const Vektor< T1, D1 > &rhs) | |
Vektor (const double &x00) | |
Vektor (const double &x00, const double &x01) | |
Vektor (const double &x00, const double &x01, const double &x02) | |
Vektor (const double &x00, const double &x01, const double &x02, const double &x03) | |
~Vektor () | |
const Vektor< double, D > & | operator= (const Vektor< double, D > &rhs) |
const Vektor< double, D > & | operator= (const Vektor< T1, D > &rhs) |
const Vektor< double, D > & | operator= (const double &rhs) |
Vektor< double, D > & | operator+= (const Vektor< T1, D > &rhs) |
Vektor< double, D > & | operator+= (const double &rhs) |
Vektor< double, D > & | operator-= (const Vektor< T1, D > &rhs) |
Vektor< double, D > & | operator-= (const double &rhs) |
Vektor< double, D > & | operator*= (const Vektor< T1, D > &rhs) |
Vektor< double, D > & | operator*= (const double &rhs) |
Vektor< double, D > & | operator/= (const Vektor< T1, D > &rhs) |
Vektor< double, D > & | operator/= (const double &rhs) |
Element_t & | operator[] (unsigned int i) |
Element_t | operator[] (unsigned int i) const |
Element_t & | operator() (unsigned int i) |
Element_t | operator() (unsigned int i) const |
bool | operator== (const Vektor< double, D > &that) const |
bool | operator!= (const Vektor< double, D > &that) const |
Message & | putMessage (Message &m) const |
Message & | getMessage (Message &m) |
Additional Inherited Members | |
Public Types inherited from Vektor< double, 4 > | |
enum | |
enum | |
typedef double | Element_t |
Definition at line 10 of file Quaternion.h.
|
inline |
Definition at line 50 of file Quaternion.h.
Referenced by operator*=().
|
inline |
Definition at line 55 of file Quaternion.h.
|
inline |
Definition at line 60 of file Quaternion.h.
|
inline |
Definition at line 65 of file Quaternion.h.
|
inline |
Definition at line 70 of file Quaternion.h.
Quaternion::Quaternion | ( | const Tenzor< double, 3 > & | M | ) |
Definition at line 22 of file Quaternion.cpp.
References abs(), copysign(), max(), and sqrt().
|
inline |
Definition at line 105 of file Quaternion.h.
References imag(), and real().
Referenced by OpalBeamline::compute3DLattice(), ParallelTTracker::computeSpaceChargeFields(), Util::getTaitBryantAngles(), inverse(), CoordinateSystemTrafo::invert(), CoordinateSystemTrafo::operator*=(), CoordinateSystemTrafo::print(), H5PartWrapperForPT::readStepHeader(), rotate(), OpalBeamline::save3DInput(), Bend2D::setFieldCalcParam(), and OpalElement::update().
Tenzor< double, 3 > Quaternion::getRotationMatrix | ( | ) | const |
Definition at line 135 of file Quaternion.cpp.
References normalize().
Referenced by CoordinateSystemTrafo::operator*=().
|
inline |
Definition at line 119 of file Quaternion.h.
Referenced by conjugate(), operator*(), operator*=(), and operator/().
Quaternion Quaternion::inverse | ( | ) | const |
Definition at line 115 of file Quaternion.cpp.
References conjugate(), and normalize().
|
inline |
Definition at line 93 of file Quaternion.h.
References abs(), and Physics::e.
Referenced by isPureUnit().
|
inline |
Definition at line 99 of file Quaternion.h.
References isPure(), and isUnit().
|
inline |
Definition at line 87 of file Quaternion.h.
References abs(), Physics::e, and Norm().
Referenced by isPureUnit(), and rotate().
|
inline |
Definition at line 81 of file Quaternion.h.
References Norm(), and sqrt().
Referenced by normalize().
|
inline |
Definition at line 75 of file Quaternion.h.
References dot().
Referenced by isUnit(), length(), normalize(), and rotate().
Quaternion & Quaternion::normalize | ( | ) |
Definition at line 102 of file Quaternion.cpp.
References Physics::e, length(), and Norm().
Referenced by getRotationMatrix(), inverse(), and CoordinateSystemTrafo::operator*=().
Quaternion Quaternion::operator* | ( | const double & | d | ) | const |
Definition at line 71 of file Quaternion.cpp.
References imag(), and real().
Quaternion Quaternion::operator* | ( | const Quaternion & | other | ) | const |
Definition at line 78 of file Quaternion.cpp.
Quaternion & Quaternion::operator*= | ( | const Quaternion & | other | ) |
Definition at line 84 of file Quaternion.cpp.
References cross(), dot(), imag(), and Quaternion().
Quaternion Quaternion::operator/ | ( | const double & | d | ) | const |
Definition at line 95 of file Quaternion.cpp.
References imag(), and real().
|
default |
|
inline |
Definition at line 113 of file Quaternion.h.
Referenced by conjugate(), operator*(), and operator/().
Definition at line 122 of file Quaternion.cpp.
References conjugate(), isUnit(), and Norm().
Referenced by OpalBeamline::compute3DLattice(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), Util::getTaitBryantAngles(), CoordinateSystemTrafo::invert(), CoordinateSystemTrafo::operator*=(), CoordinateSystemTrafo::print(), H5PartWrapperForPT::readStepHeader(), and Bend2D::setFieldCalcParam().