|
OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
|
#include <Quaternion.hpp>
Inherits ippl::Vector< double, 4 >.
Public Member Functions | |
| Quaternion () | |
| Quaternion (const Quaternion &) | |
| Quaternion (const double &, const double &, const double &, const double &) | |
| Quaternion (const ippl::Vector< double, 3 > &) | |
| Quaternion (const double &, const ippl::Vector< double, 3 > &) | |
| Quaternion (const matrix_t &) | |
| 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 |
| ippl::Vector< double, 3 > | imag () const |
| ippl::Vector< double, 3 > | rotate (const ippl::Vector< double, 3 > &) const |
| matrix_t | getRotationMatrix () const |
Definition at line 6 of file Quaternion.hpp.
|
inline |
Definition at line 44 of file Quaternion.hpp.
Referenced by conjugate(), getRotationMatrix(), inverse(), normalize(), operator*(), operator*(), operator*=(), operator/(), operator=(), Quaternion(), Quaternion(), Quaternion(), and rotate().
|
inline |
Definition at line 48 of file Quaternion.hpp.
References Quaternion().
|
inline |
Definition at line 52 of file Quaternion.hpp.
|
inline |
Definition at line 58 of file Quaternion.hpp.
References Quaternion().
|
inline |
Definition at line 63 of file Quaternion.hpp.
References Quaternion().
| Quaternion::Quaternion | ( | const matrix_t & | M | ) |
Definition at line 22 of file Quaternion.cpp.
|
inline |
Definition at line 88 of file Quaternion.hpp.
References imag(), Quaternion(), and real().
Referenced by OpalBeamline::compute3DLattice(), ParallelTracker::computeSpaceChargeFields(), Util::getTaitBryantAngles(), inverse(), CoordinateSystemTrafo::operator*=(), rotate(), OpalBeamline::save3DInput(), and OpalElement::update().
| matrix_t Quaternion::getRotationMatrix | ( | ) | const |
Definition at line 135 of file Quaternion.cpp.
References normalize(), and Quaternion().
|
inline |
Definition at line 98 of file Quaternion.hpp.
Referenced by conjugate(), operator*(), operator*=(), and operator/().
| Quaternion Quaternion::inverse | ( | ) | const |
Definition at line 116 of file Quaternion.cpp.
References conjugate(), normalize(), and Quaternion().
|
inline |
Definition at line 80 of file Quaternion.hpp.
Referenced by isPureUnit().
|
inline |
Definition at line 84 of file Quaternion.hpp.
References isPure(), and isUnit().
|
inline |
Definition at line 76 of file Quaternion.hpp.
References Norm().
Referenced by isPureUnit(), and rotate().
|
inline |
Definition at line 72 of file Quaternion.hpp.
References Norm().
Referenced by normalize().
|
inline |
Definition at line 68 of file Quaternion.hpp.
References dot().
Referenced by isUnit(), length(), normalize(), and rotate().
| Quaternion & Quaternion::normalize | ( | ) |
Definition at line 104 of file Quaternion.cpp.
References length(), Norm(), and Quaternion().
Referenced by getRotationMatrix(), and inverse().
| Quaternion Quaternion::operator* | ( | const double & | d | ) | const |
Definition at line 71 of file Quaternion.cpp.
References imag(), Quaternion(), and real().
| Quaternion Quaternion::operator* | ( | const Quaternion & | other | ) | const |
Definition at line 77 of file Quaternion.cpp.
References Quaternion().
| Quaternion & Quaternion::operator*= | ( | const Quaternion & | other | ) |
Definition at line 82 of file Quaternion.cpp.
References cross(), imag(), and Quaternion().
| Quaternion Quaternion::operator/ | ( | const double & | d | ) | const |
Definition at line 98 of file Quaternion.cpp.
References imag(), Quaternion(), and real().
|
default |
|
inline |
Definition at line 94 of file Quaternion.hpp.
Referenced by conjugate(), operator*(), and operator/().
| ippl::Vector< double, 3 > Quaternion::rotate | ( | const ippl::Vector< double, 3 > & | vec | ) | const |
Definition at line 122 of file Quaternion.cpp.
References conjugate(), isUnit(), Norm(), and Quaternion().
Referenced by OpalBeamline::compute3DLattice(), Util::getTaitBryantAngles(), and CoordinateSystemTrafo::operator*=().