OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
CoordinateSystemTrafo Class Reference

#include <CoordinateSystemTrafo.h>

Collaboration diagram for CoordinateSystemTrafo:

Public Member Functions

 CoordinateSystemTrafo ()
 CoordinateSystemTrafo (const CoordinateSystemTrafo &right)
 CoordinateSystemTrafo (const ippl::Vector< double, 3 > &origin, const Quaternion &orientation)
ippl::Vector< double, 3 > transformTo (const ippl::Vector< double, 3 > &r) const
ippl::Vector< double, 3 > transformFrom (const ippl::Vector< double, 3 > &r) const
ippl::Vector< double, 3 > rotateTo (const ippl::Vector< double, 3 > &r) const
ippl::Vector< double, 3 > rotateFrom (const ippl::Vector< double, 3 > &r) const
void invert ()
CoordinateSystemTrafo inverted () const
CoordinateSystemTrafooperator= (const CoordinateSystemTrafo &right)=default
CoordinateSystemTrafo operator* (const CoordinateSystemTrafo &right) const
void operator*= (const CoordinateSystemTrafo &right)
ippl::Vector< double, 3 > getOrigin () const
Quaternion getRotation () const
matrix_t getRotationMatrix () const
void print (std::ostream &) const

Private Attributes

ippl::Vector< double, 3 > origin_m
Quaternion orientation_m
matrix_t rotationMatrix_m

Detailed Description

Definition at line 6 of file CoordinateSystemTrafo.h.

Constructor & Destructor Documentation

◆ CoordinateSystemTrafo() [1/3]

CoordinateSystemTrafo::CoordinateSystemTrafo ( )

Definition at line 3 of file CoordinateSystemTrafo.cpp.

References orientation_m, origin_m, and rotationMatrix_m.

Referenced by CoordinateSystemTrafo(), inverted(), operator*(), operator*=(), and operator=().

Here is the caller graph for this function:

◆ CoordinateSystemTrafo() [2/3]

CoordinateSystemTrafo::CoordinateSystemTrafo ( const CoordinateSystemTrafo & right)

Definition at line 16 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 ippl::Vector< double, 3 > & origin,
const Quaternion & orientation )

Definition at line 22 of file CoordinateSystemTrafo.cpp.

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

Here is the call graph for this function:

Member Function Documentation

◆ getOrigin()

ippl::Vector< double, 3 > CoordinateSystemTrafo::getOrigin ( ) const
inline

Definition at line 56 of file CoordinateSystemTrafo.h.

References origin_m.

Referenced by ParallelTracker::computeSpaceChargeFields(), OpalBeamline::save3DInput(), and OpalBeamline::save3DLattice().

Here is the caller graph for this function:

◆ getRotation()

Quaternion CoordinateSystemTrafo::getRotation ( ) const
inline

Definition at line 60 of file CoordinateSystemTrafo.h.

References orientation_m.

Referenced by OpalBeamline::save3DInput().

Here is the caller graph for this function:

◆ getRotationMatrix()

matrix_t CoordinateSystemTrafo::getRotationMatrix ( ) const
inline

Definition at line 65 of file CoordinateSystemTrafo.h.

References rotationMatrix_m.

Referenced by ParallelTracker::computeSpaceChargeFields(), and CoordinateSystemTrafo().

Here is the caller graph for this function:

◆ invert()

void CoordinateSystemTrafo::invert ( )

Definition at line 29 of file CoordinateSystemTrafo.cpp.

References orientation_m, origin_m, and rotationMatrix_m.

Referenced by inverted().

Here is the caller graph for this function:

◆ inverted()

CoordinateSystemTrafo CoordinateSystemTrafo::inverted ( ) const
inline

Definition at line 69 of file CoordinateSystemTrafo.h.

References CoordinateSystemTrafo(), and invert().

Referenced by MeshGenerator::add(), ParallelTracker::applyFractionalStep(), ParallelTracker::computeExternalFields(), ParallelTracker::computeSpaceChargeFields(), and ParallelTracker::updateRefToLabCSTrafo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator*()

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

Definition at line 35 of file CoordinateSystemTrafo.cpp.

References CoordinateSystemTrafo().

Here is the call graph for this function:

◆ operator*=()

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

Definition at line 42 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 50 of file CoordinateSystemTrafo.h.

References orientation_m, and origin_m.

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

Here is the caller graph for this function:

◆ rotateFrom()

ippl::Vector< double, 3 > CoordinateSystemTrafo::rotateFrom ( const ippl::Vector< double, 3 > & r) const
inline

Definition at line 92 of file CoordinateSystemTrafo.h.

References prod_boost_vector(), and rotationMatrix_m.

Referenced by transformFrom(), and ParallelTracker::updateReferenceParticle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rotateTo()

ippl::Vector< double, 3 > CoordinateSystemTrafo::rotateTo ( const ippl::Vector< double, 3 > & r) const
inline

Definition at line 87 of file CoordinateSystemTrafo.h.

References prod_boost_vector(), and rotationMatrix_m.

Referenced by MeshGenerator::add(), ParallelTracker::execute(), and ParallelTracker::updateReferenceParticle().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transformFrom()

ippl::Vector< double, 3 > CoordinateSystemTrafo::transformFrom ( const ippl::Vector< double, 3 > & r) const
inline

Definition at line 82 of file CoordinateSystemTrafo.h.

References origin_m, and rotateFrom().

Here is the call graph for this function:

◆ transformTo()

ippl::Vector< double, 3 > CoordinateSystemTrafo::transformTo ( const ippl::Vector< double, 3 > & r) const
inline

Definition at line 76 of file CoordinateSystemTrafo.h.

References origin_m, prod_boost_vector(), and rotationMatrix_m.

Referenced by MeshGenerator::add(), ParallelTracker::execute(), TBeamline< FlaggedElmPtr >::getConstChannel(), and ParallelTracker::updateReferenceParticle().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ orientation_m

Quaternion CoordinateSystemTrafo::orientation_m
private

◆ origin_m

ippl::Vector<double, 3> CoordinateSystemTrafo::origin_m
private

◆ rotationMatrix_m


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