1 #ifndef CARTESIANCOORDINATESYSTEM_h
2 #define CARTESIANCOORDINATESYSTEM_h
4 #include "ICoordinateSystem.h"
5 #include "CLHEP/Vector/Rotation.h"
18 _R_inv = _R.inverse();
23 virtual CLHEP::Hep3Vector
getLocalPoint( CLHEP::Hep3Vector globalPoint )
const;
26 virtual CLHEP::Hep3Vector
getGlobalPoint( CLHEP::Hep3Vector localPoint )
const;
29 virtual CLHEP::Hep3Vector
const*
getOrigin()
const {
return &_T; }
33 CLHEP::HepRotation
const*
getR()
const {
return &_R;}
36 CLHEP::Hep3Vector
getLocalXAxis(){
return _R * CLHEP::Hep3Vector(1,0,0); }
37 CLHEP::Hep3Vector getLocalYAxis(){
return _R * CLHEP::Hep3Vector(0,1,0); }
38 CLHEP::Hep3Vector getLocalZAxis(){
return _R * CLHEP::Hep3Vector(0,0,1); }
43 CLHEP::Hep3Vector _T{};
48 CLHEP::HepRotation _R{};
49 CLHEP::HepRotation _R_inv{};
virtual CLHEP::Hep3Vector getGlobalPoint(CLHEP::Hep3Vector localPoint) const
CLHEP::Hep3Vector getLocalXAxis()
Cartesian coordinate system class.
virtual CLHEP::Hep3Vector const * getOrigin() const
An abstract base class for coordinate systems.
virtual CLHEP::Hep3Vector getLocalPoint(CLHEP::Hep3Vector globalPoint) const
CLHEP::HepRotation const * getR() const