|
OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
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 &) |
| 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 49 of file Quaternion.h.
Referenced by operator*=().
|
inline |
Definition at line 54 of file Quaternion.h.
|
inline |
Definition at line 59 of file Quaternion.h.
|
inline |
Definition at line 64 of file Quaternion.h.
|
inline |
Definition at line 69 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 104 of file Quaternion.h.
References imag(), and real().
Referenced by OpalBeamline::compute3DLattice(), ParallelTTracker::computeSpaceChargeFields(), OpalElement::fillRegisteredAttributes(), 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 118 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 92 of file Quaternion.h.
References abs(), and Physics::e.
Referenced by isPureUnit().

|
inline |
Definition at line 98 of file Quaternion.h.
References isPure(), and isUnit().

|
inline |
Definition at line 86 of file Quaternion.h.
References abs(), Physics::e, and Norm().
Referenced by isPureUnit(), and rotate().

|
inline |
Definition at line 80 of file Quaternion.h.
References Norm(), and sqrt().
Referenced by normalize().

|
inline |
Definition at line 74 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().

|
inline |
Definition at line 112 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().

1.8.5