| 1 |
#ifndef TrAng_H |
| 2 |
#define TrAng_H |
| 3 |
|
| 4 |
#include <TObject.h> |
| 5 |
#include "TMatrixD.h" |
| 6 |
#include "TString.h" |
| 7 |
#include <TMath.h> |
| 8 |
|
| 9 |
class PamelaOrientation : 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 |
//Double_t a = 360/(2*TMath::Pi()); |
| 21 |
//Re = 6000000.0; |
| 22 |
|
| 23 |
public: |
| 24 |
|
| 25 |
PamelaOrientation(); |
| 26 |
~PamelaOrientation(); |
| 27 |
|
| 28 |
Double_t PitchAngle; |
| 29 |
|
| 30 |
TMatrixD QuatoECI(Float_t q0, Float_t q1, Float_t q2, Float_t q3); |
| 31 |
TMatrixD ECItoGreenwich(TMatrixD Aij, UInt_t t); |
| 32 |
TMatrixD GreenwichtoGEO(Double_t lat, Double_t lon, TMatrixD Aij); |
| 33 |
TMatrixD PamelatoGEO(TMatrixD Aij, Double_t B1, Double_t B2, Double_t B3); |
| 34 |
TMatrixD ColPermutation(TMatrixD Aij); |
| 35 |
Double_t GetPitchAngle(Double_t x1, Double_t y1, Double_t z1, Double_t x2, Double_t y2, Double_t z2); |
| 36 |
|
| 37 |
Double_t GetPamMainGwX(){return DirAxisGreenwich(0,1);} |
| 38 |
Double_t GetPamMainGwY(){return DirAxisGreenwich(1,1);} |
| 39 |
Double_t GetPamMainGwZ(){return DirAxisGreenwich(2,1);} |
| 40 |
|
| 41 |
Double_t GetPamMainGEOX(){return DirAxisGEO(0,1);} |
| 42 |
Double_t GetPamMainGEOY(){return DirAxisGEO(1,1);} |
| 43 |
Double_t GetPamMainGEOZ(){return DirAxisGEO(2,1);} |
| 44 |
|
| 45 |
TMatrixD GetGw(){return DirAxisGreenwich;} |
| 46 |
TMatrixD GetGEO(){return DirAxisGEO;} |
| 47 |
|
| 48 |
}; |
| 49 |
|
| 50 |
#endif |