NAIA  1.1.1
FrameTransformations.h
Go to the documentation of this file.
1 //
2 // Created by vformato on 6/27/23.
3 //
4 // Extracted from gbatch, file include/FrameTrans.h
5 // Original author: S. Della Torre et al.
6 //
7 
8 #ifndef NAIA_FRAMETRANSFORMATIONS_H
9 #define NAIA_FRAMETRANSFORMATIONS_H
10 
11 #include <Math/Point3D.h>
12 #include <TVector3.h>
13 
14 namespace NAIA {
15 namespace FrameTransformation {
16 
17 constexpr double pi = 3.1415926535897932384626433832795028841971693993751;
18 
19 enum class RefFrame {
20  AMSLocal,
21  ISSBody,
22  ISSLVLH,
23  GTOD,
24  ECI,
25 };
26 template <RefFrame Frame> struct RFrame {};
27 
28 template <RefFrame Frame>
29 using CartesianCoo = ROOT::Math::PositionVector3D<ROOT::Math::Cartesian3D<double>, RFrame<Frame>>;
30 template <RefFrame Frame> using PolarCoo = ROOT::Math::PositionVector3D<ROOT::Math::Polar3D<double>, RFrame<Frame>>;
31 
33 
35  double time);
36 
38 
40  double ISSRoll);
41 
43  CartesianCoo<RefFrame::ECI> ISSECIVel);
44 
46 
47 } // namespace FrameTransformation
48 } // namespace NAIA
49 
50 #endif
NAIA::FrameTransformation::ISSBodyToLVLH
CartesianCoo< RefFrame::ISSLVLH > ISSBodyToLVLH(CartesianCoo< RefFrame::ISSBody > coo, double ISSYaw, double ISSPitch, double ISSRoll)
Definition: FrameTransformations.cpp:134
NAIA::FrameTransformation::GTODToECIPos
CartesianCoo< RefFrame::ECI > GTODToECIPos(CartesianCoo< RefFrame::GTOD > coo, double time)
‍** **************** COMMON *******************************‍/
Definition: FrameTransformations.cpp:92
NAIA::FrameTransformation::RefFrame::GTOD
@ GTOD
NAIA::FrameTransformation::RefFrame::ISSLVLH
@ ISSLVLH
NAIA
Definition: Event.h:13
NAIA::FrameTransformation::AMSLocalToISSBody
CartesianCoo< RefFrame::ISSBody > AMSLocalToISSBody(CartesianCoo< RefFrame::AMSLocal > coo)
Definition: FrameTransformations.cpp:121
NAIA::FrameTransformation::ISSLVLHToECI
CartesianCoo< RefFrame::ECI > ISSLVLHToECI(CartesianCoo< RefFrame::ISSLVLH > coo, CartesianCoo< RefFrame::ECI > ISSECIPos, CartesianCoo< RefFrame::ECI > ISSECIVel)
Definition: FrameTransformations.cpp:151
NAIA::FrameTransformation::PolarCoo
ROOT::Math::PositionVector3D< ROOT::Math::Polar3D< double >, RFrame< Frame > > PolarCoo
Definition: FrameTransformations.h:30
NAIA::FrameTransformation::ECIToGTOD
CartesianCoo< RefFrame::GTOD > ECIToGTOD(CartesianCoo< RefFrame::ECI > coo, double time)
Definition: FrameTransformations.cpp:182
NAIA::FrameTransformation::RefFrame
RefFrame
Definition: FrameTransformations.h:19
NAIA::FrameTransformation::RFrame
Definition: FrameTransformations.h:26
NAIA::FrameTransformation::pi
constexpr double pi
Definition: FrameTransformations.h:17
NAIA::FrameTransformation::RefFrame::ISSBody
@ ISSBody
NAIA::FrameTransformation::RefFrame::AMSLocal
@ AMSLocal
NAIA::FrameTransformation::CartesianCoo
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, RFrame< Frame > > CartesianCoo
Definition: FrameTransformations.h:29
NAIA::FrameTransformation::RefFrame::ECI
@ ECI
NAIA::FrameTransformation::GTODToECIVel
CartesianCoo< RefFrame::ECI > GTODToECIVel(CartesianCoo< RefFrame::GTOD > vel, CartesianCoo< RefFrame::GTOD > coo, double time)
Definition: FrameTransformations.cpp:101