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 |
|
9 |
class OrientationInfo : public TObject { |
10 |
|
11 |
private: |
12 |
|
13 |
Double_t a;// = 360/(2*TMath::Pi()); |
14 |
Double_t Re;// = 6000000.0; |
15 |
|
16 |
TMatrixD DirAxisGreenwich; |
17 |
TMatrixD DirAxisGEO; |
18 |
void SetDirAxisGreenwich(TMatrixD Aij){DirAxisGreenwich = Aij;} |
19 |
void SetDirAxisGEO(TMatrixD Aij){DirAxisGEO = Aij;} |
20 |
|
21 |
public: |
22 |
|
23 |
OrientationInfo(); |
24 |
~OrientationInfo(); |
25 |
|
26 |
Double_t PitchAngle; |
27 |
|
28 |
TMatrixD QuatoECI(Float_t q0, Float_t q1, Float_t q2, Float_t q3); |
29 |
TMatrixD ECItoGreenwich(TMatrixD Aij, UInt_t t); |
30 |
TMatrixD GreenwichtoGEO(Double_t lat, Double_t lon, TMatrixD Aij); |
31 |
TMatrixD GEOtoGeomag(TMatrixD Aij, Double_t B1, Double_t B2, Double_t B3); |
32 |
TMatrixD PamelatoGEO(TMatrixD Aij, Double_t B1, Double_t B2, Double_t B3); |
33 |
TMatrixD ColPermutation(TMatrixD Aij); |
34 |
Float_t Larmor(Float_t Ek,Float_t Bm,Int_t iZ,Float_t xA); |
35 |
TMatrixD GetDirectiontoGirocenter(Float_t R, Float_t Px, Float_t Py); |
36 |
Double_t GetPitchAngle(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2); |
37 |
|
38 |
Double_t GetPamMainGwX(){return DirAxisGreenwich(0,1);} |
39 |
Double_t GetPamMainGwY(){return DirAxisGreenwich(1,1);} |
40 |
Double_t GetPamMainGwZ(){return DirAxisGreenwich(2,1);} |
41 |
|
42 |
Double_t GetPamMainGEOX(){return DirAxisGEO(0,1);} |
43 |
Double_t GetPamMainGEOY(){return DirAxisGEO(1,1);} |
44 |
Double_t GetPamMainGEOZ(){return DirAxisGEO(2,1);} |
45 |
|
46 |
TMatrixD GetGw(){return DirAxisGreenwich;} |
47 |
TMatrixD GetGEO(){return DirAxisGEO;} |
48 |
|
49 |
ClassDef(OrientationInfo,1); |
50 |
}; |
51 |
|
52 |
#endif |