OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
CoordinateSystemTrafo Class Reference

#include <CoordinateSystemTrafo.h>

Collaboration diagram for CoordinateSystemTrafo:

Public Member Functions

 CoordinateSystemTrafo ()
 CoordinateSystemTrafo (const CoordinateSystemTrafo &right)
 CoordinateSystemTrafo (const Vector_t &origin, const Quaternion &orientation)
Vector_t transformTo (const Vector_t &r) const
Vector_t transformFrom (const Vector_t &r) const
Vector_t rotateTo (const Vector_t &r) const
Vector_t rotateFrom (const Vector_t &r) const
void invert ()
CoordinateSystemTrafo inverted () const
CoordinateSystemTrafooperator= (const CoordinateSystemTrafo &right)=default
CoordinateSystemTrafo operator* (const CoordinateSystemTrafo &right) const
void operator*= (const CoordinateSystemTrafo &right)
Vector_t getOrigin () const
Quaternion getRotation () const
void print (std::ostream &) const

Private Attributes

Vector_t origin_m
Quaternion orientation_m
matrix_t rotationMatrix_m

Detailed Description

Definition at line 8 of file CoordinateSystemTrafo.h.

Constructor & Destructor Documentation

◆ CoordinateSystemTrafo() [1/3]

CoordinateSystemTrafo::CoordinateSystemTrafo ( )

◆ CoordinateSystemTrafo() [2/3]

CoordinateSystemTrafo::CoordinateSystemTrafo ( const CoordinateSystemTrafo & right)

Definition at line 22 of file CoordinateSystemTrafo.cpp.

References CoordinateSystemTrafo(), orientation_m, origin_m, and rotationMatrix_m.

Here is the call graph for this function:

◆ CoordinateSystemTrafo() [3/3]

CoordinateSystemTrafo::CoordinateSystemTrafo ( const Vector_t & origin,
const Quaternion & orientation )

Definition at line 28 of file CoordinateSystemTrafo.cpp.

References orientation_m, origin_m, and rotationMatrix_m.

Member Function Documentation

◆ getOrigin()

Vector_t CoordinateSystemTrafo::getOrigin ( ) const
inline

◆ getRotation()

Quaternion CoordinateSystemTrafo::getRotation ( ) const
inline

◆ invert()

void CoordinateSystemTrafo::invert ( )

Definition at line 35 of file CoordinateSystemTrafo.cpp.

References orientation_m, origin_m, and rotationMatrix_m.

Referenced by inverted().

◆ inverted()

CoordinateSystemTrafo CoordinateSystemTrafo::inverted ( ) const
inline

◆ operator*()

CoordinateSystemTrafo CoordinateSystemTrafo::operator* ( const CoordinateSystemTrafo & right) const

Definition at line 42 of file CoordinateSystemTrafo.cpp.

References CoordinateSystemTrafo().

Here is the call graph for this function:

◆ operator*=()

void CoordinateSystemTrafo::operator*= ( const CoordinateSystemTrafo & right)

Definition at line 49 of file CoordinateSystemTrafo.cpp.

References Quaternion::conjugate(), CoordinateSystemTrafo(), orientation_m, origin_m, Quaternion::rotate(), and rotationMatrix_m.

Here is the call graph for this function:

◆ operator=()

CoordinateSystemTrafo & CoordinateSystemTrafo::operator= ( const CoordinateSystemTrafo & right)
default

References CoordinateSystemTrafo().

Here is the call graph for this function:

◆ print()

void CoordinateSystemTrafo::print ( std::ostream & os) const
inline

Definition at line 53 of file CoordinateSystemTrafo.h.

References orientation_m, and origin_m.

Referenced by operator<<(), and operator<<().

◆ rotateFrom()

Vector_t CoordinateSystemTrafo::rotateFrom ( const Vector_t & r) const
inline

Definition at line 89 of file CoordinateSystemTrafo.h.

References prod_boost_vector(), and rotationMatrix_m.

Referenced by Bend2D::calcEntranceFringeField(), Bend2D::calcExitFringeField(), ScatteringPhysics::computeCoulombScattering(), transformFrom(), and ParallelTTracker::updateReferenceParticle().

Here is the call graph for this function:

◆ rotateTo()

◆ transformFrom()

Vector_t CoordinateSystemTrafo::transformFrom ( const Vector_t & r) const
inline

Definition at line 81 of file CoordinateSystemTrafo.h.

References origin_m, and rotateFrom().

Referenced by ScatteringPhysics::computeCoulombScattering(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), and Bend2D::setFieldCalcParam().

Here is the call graph for this function:

◆ transformTo()

Member Data Documentation

◆ orientation_m

Quaternion CoordinateSystemTrafo::orientation_m
private

◆ origin_m

◆ rotationMatrix_m

matrix_t CoordinateSystemTrafo::rotationMatrix_m
private

The documentation for this class was generated from the following files: