| 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 |