CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
CoordinateSystem.hpp File Reference
#include <corsika/framework/core/PhysicalUnits.hpp>
#include <corsika/framework/geometry/QuantityVector.hpp>
#include <corsika/framework/core/Logging.hpp>
#include <Eigen/Dense>
#include <stdexcept>
#include <memory>
#include <corsika/detail/framework/geometry/CoordinateSystem.inl>
Include dependency graph for CoordinateSystem.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  corsika::Vector< TDimension >
 
class  corsika::CoordinateSystem
 A class to store the reference coordinate system for a geometric object. More...
 

Namespaces

 corsika
 `, since they are used everywhere as integral part of the framework.
 

Typedefs

typedef Eigen::Transform< double, 3, Eigen::Affine > corsika::EigenTransform
 
typedef Eigen::Translation< double, 3 > corsika::EigenTranslation
 
using corsika::CoordinateSystemPtr = std::shared_ptr< CoordinateSystem const >
 To refer to CoordinateSystems, only the CoordinateSystemPtr must be used.
 

Functions

CoordinateSystemPtr const & corsika::get_root_CoordinateSystem ()
 this is the only way to create ONE unique root CS More...
 
CoordinateSystemPtr corsika::make_translation (CoordinateSystemPtr const &cs, QuantityVector< length_d > const &vector)
 Creates new CoordinateSystemPtr by translation along vector.
 
template<typename TDim >
CoordinateSystemPtr corsika::make_rotationToZ (CoordinateSystemPtr const &cs, Vector< TDim > const &vVec)
 creates a new CoordinateSystem in which vVec points in direction of the new z-axis, vVec
 
template<typename TDim >
CoordinateSystemPtr corsika::make_rotation (CoordinateSystemPtr const &cs, QuantityVector< TDim > const &axis, double const angle)
 creates a new CoordinateSystem, rotated around axis by angle.
 
template<typename TDim >
CoordinateSystemPtr corsika::make_translationAndRotation (CoordinateSystemPtr const &cs, QuantityVector< length_d > const &translation, QuantityVector< TDim > const &axis, double const angle)
 creates a new CoordinateSystem, translated by translation and rotated around axis by angle.
 
EigenTransform corsika::get_transformation (CoordinateSystem const &c1, CoordinateSystem const &c2)
 Transformation matrix from one reference system to another. More...