1 |
#ifndef OrientationInfo_H |
2 |
#define OrientationInfo_H |
3 |
|
4 |
#include <TObject.h> |
5 |
#include <TMatrixD.h> |
6 |
#include <TString.h> |
7 |
#include <TMath.h> |
8 |
#include <TVector3.h> |
9 |
|
10 |
class OrientationInfo : public TObject { |
11 |
|
12 |
private: |
13 |
|
14 |
Double_t a;// = 360/(2*TMath::Pi()); |
15 |
Double_t Re;// = 6000000.0; |
16 |
|
17 |
TMatrixD DirAxisGreenwich; |
18 |
TMatrixD DirAxisGEO; |
19 |
void SetDirAxisGreenwich(TMatrixD Aij){DirAxisGreenwich = Aij;} |
20 |
void SetDirAxisGEO(TMatrixD Aij){DirAxisGEO = Aij;} |
21 |
|
22 |
public: |
23 |
|
24 |
OrientationInfo(); |
25 |
~OrientationInfo(); |
26 |
|
27 |
Double_t PitchAngle; |
28 |
|
29 |
TMatrixD QuatoECI(Float_t q0, Float_t q1, Float_t q2, Float_t q3); |
30 |
TMatrixD ECItoGreenwich(TMatrixD Aij, UInt_t t); |
31 |
TMatrixD ECItoGEO(TMatrixD Aij, UInt_t t, Double_t lat, Double_t lon); |
32 |
TMatrixD GEOtoECI(TMatrixD Aij, UInt_t t, Double_t lat, Double_t lon); |
33 |
TMatrixD GreenwichtoGEO(Double_t lat, Double_t lon, TMatrixD Aij); |
34 |
TMatrixD EulertoEci(Double_t x0, Double_t y0, Double_t z0, Double_t Vx0, Double_t Vy0, Double_t Vz0, Double_t Bank, Double_t Yaw, Double_t SPitch); |
35 |
TMatrixD GEOtoGeomag(TMatrixD Aij, Double_t B1, Double_t B2, Double_t B3); |
36 |
TMatrixD PamelatoGEO(TMatrixD Aij, Double_t B1, Double_t B2, Double_t B3); |
37 |
TMatrixD ColPermutation(TMatrixD Aij); |
38 |
TVector3 GetSunPosition(UInt_t atime); |
39 |
Float_t Larmor(Float_t Ek,Float_t Bm,Int_t iZ,Float_t xA); |
40 |
TMatrixD GetDirectiontoGirocenter(Float_t R, Float_t Px, Float_t Py); |
41 |
Double_t GetPitchAngle(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2); |
42 |
|
43 |
Double_t GetPamMainGwX(){return DirAxisGreenwich(0,1);} |
44 |
Double_t GetPamMainGwY(){return DirAxisGreenwich(1,1);} |
45 |
Double_t GetPamMainGwZ(){return DirAxisGreenwich(2,1);} |
46 |
|
47 |
Double_t GetPamMainGEOX(){return DirAxisGEO(0,1);} |
48 |
Double_t GetPamMainGEOY(){return DirAxisGEO(1,1);} |
49 |
Double_t GetPamMainGEOZ(){return DirAxisGEO(2,1);} |
50 |
|
51 |
TMatrixD GetGw(){return DirAxisGreenwich;} |
52 |
TMatrixD GetGEO(){return DirAxisGEO;} |
53 |
|
54 |
ClassDef(OrientationInfo,2); |
55 |
}; |
56 |
|
57 |
#endif |