OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <CoordinateSystemTrafo.h>
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 |
CoordinateSystemTrafo & | operator= (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 |
Tenzor< double, 3 > | rotationMatrix_m |
Definition at line 8 of file CoordinateSystemTrafo.h.
CoordinateSystemTrafo::CoordinateSystemTrafo | ( | ) |
Definition at line 6 of file CoordinateSystemTrafo.cpp.
CoordinateSystemTrafo::CoordinateSystemTrafo | ( | const CoordinateSystemTrafo & | right | ) |
Definition at line 12 of file CoordinateSystemTrafo.cpp.
CoordinateSystemTrafo::CoordinateSystemTrafo | ( | const Vector_t & | origin, |
const Quaternion & | orientation | ||
) |
Definition at line 18 of file CoordinateSystemTrafo.cpp.
|
inline |
Definition at line 60 of file CoordinateSystemTrafo.h.
References origin_m.
Referenced by OpalBeamline::save3DInput(), OpalBeamline::save3DLattice(), OpalRBend::update(), OpalRBend3D::update(), and OpalSBend::update().
|
inline |
Definition at line 65 of file CoordinateSystemTrafo.h.
References orientation_m.
Referenced by OpalBeamline::save3DInput(), OpalRBend::update(), OpalRBend3D::update(), OpalSBend::update(), and H5PartWrapperForPT::writeStepHeader().
void CoordinateSystemTrafo::invert | ( | ) |
Definition at line 25 of file CoordinateSystemTrafo.cpp.
References Quaternion::conjugate(), orientation_m, origin_m, Quaternion::rotate(), rotationMatrix_m, and transpose().
Referenced by inverted().
|
inline |
Definition at line 70 of file CoordinateSystemTrafo.h.
References invert().
Referenced by MeshGenerator::add(), Undulator::apply(), ParallelTTracker::applyFractionalStep(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelTTracker::computeSpaceChargeFields(), ParallelTTracker::computeWakefield(), ParallelTTracker::emitParticles(), ParallelTTracker::execute(), ThickTracker::ThickTracker(), ParallelTTracker::updateRefToLabCSTrafo(), and ParallelTTracker::writePhaseSpace().
CoordinateSystemTrafo CoordinateSystemTrafo::operator* | ( | const CoordinateSystemTrafo & | right | ) | const |
Definition at line 31 of file CoordinateSystemTrafo.cpp.
void CoordinateSystemTrafo::operator*= | ( | const CoordinateSystemTrafo & | right | ) |
Definition at line 38 of file CoordinateSystemTrafo.cpp.
References Quaternion::conjugate(), Quaternion::getRotationMatrix(), Quaternion::normalize(), orientation_m, origin_m, Quaternion::rotate(), and rotationMatrix_m.
|
default |
|
inline |
Definition at line 53 of file CoordinateSystemTrafo.h.
References Quaternion::conjugate(), orientation_m, origin_m, and Quaternion::rotate().
Referenced by operator<<().
Definition at line 93 of file CoordinateSystemTrafo.h.
References dot(), rotationMatrix_m, and transpose().
Referenced by ParallelTTracker::applyFractionalStep(), Monitor::applyToReferenceParticle(), Bend2D::calcEntranceFringeField(), Bend2D::calcExitFringeField(), ScatteringPhysics::computeCoulombScattering(), ThickTracker::dump_m(), Bend2D::getSurfaceMesh(), OpalBeamline::rotateFrom(), ParallelTTracker::updateReferenceParticle(), ParallelTTracker::updateRefToLabCSTrafo(), and ParallelTTracker::writePhaseSpace().
Definition at line 88 of file CoordinateSystemTrafo.h.
References dot(), and rotationMatrix_m.
Referenced by MeshGenerator::add(), Undulator::apply(), ScatteringPhysics::computeCoulombScattering(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelTTracker::computeSpaceChargeFields(), ParallelTTracker::computeWakefield(), ThickTracker::dump_m(), ParallelTTracker::emitParticles(), ParallelTTracker::execute(), ParallelTTracker::findStartPosition(), OpalBeamline::rotateTo(), ParallelTTracker::transformBunch(), ParallelTTracker::updateReferenceParticle(), and ParallelTTracker::writePhaseSpace().
Definition at line 83 of file CoordinateSystemTrafo.h.
References dot(), origin_m, rotationMatrix_m, and transpose().
Referenced by ParallelTTracker::applyFractionalStep(), Monitor::applyToReferenceParticle(), ScatteringPhysics::computeCoulombScattering(), ElementBase::getBoundingBoxInLabCoords(), Bend2D::getBoundingBoxInLabCoords(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), Bend2D::setFieldCalcParam(), OpalBeamline::transformFrom(), and ParallelTTracker::updateRefToLabCSTrafo().
Definition at line 78 of file CoordinateSystemTrafo.h.
References dot(), origin_m, and rotationMatrix_m.
Referenced by MeshGenerator::add(), Undulator::apply(), Bend2D::calcEntranceFringeField(), Bend2D::calcExitFringeField(), Bend2D::calculateMapField(), ParallelTTracker::computeExternalFields(), ParallelTTracker::computeParticleMatterInteraction(), ParallelTTracker::computeSpaceChargeFields(), ParallelTTracker::computeWakefield(), ThickTracker::dump_m(), ParallelTTracker::emitParticles(), ParallelTTracker::execute(), Bend2D::getOutline(), Bend2D::getSurfaceMesh(), Bend2D::inMagnetCentralRegion(), Bend2D::inMagnetExitRegion(), ElementBase::isInsideTransverse(), Bend2D::isPositionInExitField(), Bend2D::setFieldCalcParam(), ParallelTTracker::transformBunch(), OpalBeamline::transformTo(), Bend2D::transformToEntranceRegion(), Bend2D::transformToExitRegion(), and ParallelTTracker::updateReferenceParticle().
|
private |
Definition at line 36 of file CoordinateSystemTrafo.h.
Referenced by getRotation(), invert(), operator*=(), and print().
|
private |
Definition at line 35 of file CoordinateSystemTrafo.h.
Referenced by getOrigin(), invert(), operator*=(), print(), transformFrom(), and transformTo().
|
private |
Definition at line 37 of file CoordinateSystemTrafo.h.
Referenced by invert(), operator*=(), rotateFrom(), rotateTo(), transformFrom(), and transformTo().