1#ifndef COORDINATESYSTEMTRAFO
2#define COORDINATESYSTEMTRAFO
14 ippl::Vector<double, 3>
transformTo(
const ippl::Vector<double, 3>& r)
const;
15 ippl::Vector<double, 3>
transformFrom(
const ippl::Vector<double, 3>& r)
const;
17 ippl::Vector<double, 3>
rotateTo(
const ippl::Vector<double, 3>& r)
const;
18 ippl::Vector<double, 3>
rotateFrom(
const ippl::Vector<double, 3>& r)
const;
27 ippl::Vector<double, 3>
getOrigin()
const;
32 void print(std::ostream&)
const;
46 trafo.
print(os.getStream());
52 <<
"z-axis: " <<
orientation_m.conjugate().rotate(ippl::Vector<double, 3>(0, 0, 1)) <<
"\n"
53 <<
"x-axis: " <<
orientation_m.conjugate().rotate(ippl::Vector<double, 3>(1, 0, 0));
77 const ippl::Vector<double, 3>& r)
const {
78 const ippl::Vector<double, 3> delta = r -
origin_m;
83 const ippl::Vector<double, 3>& r)
const {
88 const ippl::Vector<double, 3>& r)
const {
93 const ippl::Vector<double, 3>& r)
const {
std::ostream & operator<<(std::ostream &os, const CoordinateSystemTrafo &trafo)
boost::numeric::ublas::matrix< double > matrix_t
T prod_boost_vector(boost::numeric::ublas::matrix< double > rotation, const T &vect)
ippl::Vector< double, 3 > getOrigin() const
ippl::Vector< double, 3 > transformFrom(const ippl::Vector< double, 3 > &r) const
ippl::Vector< double, 3 > rotateFrom(const ippl::Vector< double, 3 > &r) const
ippl::Vector< double, 3 > rotateTo(const ippl::Vector< double, 3 > &r) const
void operator*=(const CoordinateSystemTrafo &right)
matrix_t getRotationMatrix() const
CoordinateSystemTrafo & operator=(const CoordinateSystemTrafo &right)=default
ippl::Vector< double, 3 > transformTo(const ippl::Vector< double, 3 > &r) const
matrix_t rotationMatrix_m
void print(std::ostream &) const
CoordinateSystemTrafo inverted() const
ippl::Vector< double, 3 > origin_m
CoordinateSystemTrafo operator*(const CoordinateSystemTrafo &right) const
Quaternion getRotation() const