| 1 |
mocchiut |
1.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 |
pam-mep |
1.3 |
#include <TVector3.h> |
| 9 |
mocchiut |
1.1 |
|
| 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 |
pam-mep |
1.3 |
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 |
mocchiut |
1.1 |
TMatrixD GreenwichtoGEO(Double_t lat, Double_t lon, TMatrixD Aij); |
| 34 |
pam-mep |
1.3 |
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 |
pam-mep |
1.2 |
TMatrixD GEOtoGeomag(TMatrixD Aij, Double_t B1, Double_t B2, Double_t B3); |
| 36 |
mocchiut |
1.1 |
TMatrixD PamelatoGEO(TMatrixD Aij, Double_t B1, Double_t B2, Double_t B3); |
| 37 |
|
|
TMatrixD ColPermutation(TMatrixD Aij); |
| 38 |
pam-mep |
1.3 |
TVector3 GetSunPosition(UInt_t atime); |
| 39 |
pam-mep |
1.2 |
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 |
mocchiut |
1.1 |
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 |
pam-mep |
1.3 |
ClassDef(OrientationInfo,2); |
| 55 |
mocchiut |
1.1 |
}; |
| 56 |
|
|
|
| 57 |
|
|
#endif |