| 85 |
{ |
{ |
| 86 |
} |
} |
| 87 |
|
|
| 88 |
short int Sign_1(double_t a, Int_t b){ |
short int Sign_1(Double_t a, Int_t b){ |
| 89 |
if(a>0){b=1;} |
if(a>0){b=1;} |
| 90 |
if(a<0){b=-1;} |
if(a<0){b=-1;} |
| 91 |
else{b=0;} |
else{b=0;} |
| 92 |
return b; |
return b; |
| 93 |
} |
} |
| 94 |
|
|
| 95 |
|
void InclinationInfo::Clear(){ |
| 96 |
|
}; |
| 97 |
|
|
| 98 |
void InclinationInfo::QuaternionstoAngle(Quaternions Qua){ |
void InclinationInfo::QuaternionstoAngle(Quaternions Qua){ |
| 99 |
|
|
| 100 |
double_t a11 = pow(Qua.quat[0][0],2.)+pow(Qua.quat[0][1],2.)-pow(Qua.quat[0][2],2.)-pow(Qua.quat[0][3],2.); |
Double_t a11 = pow(Qua.quat[0][0],2.)+pow(Qua.quat[0][1],2.)-pow(Qua.quat[0][2],2.)-pow(Qua.quat[0][3],2.); |
| 101 |
double_t a12 = 2*(Qua.quat[0][1]*Qua.quat[0][2]+Qua.quat[0][0]*Qua.quat[0][3]); |
Double_t a12 = 2*(Qua.quat[0][1]*Qua.quat[0][2]+Qua.quat[0][0]*Qua.quat[0][3]); |
| 102 |
double_t a13 = 2*(Qua.quat[0][1]*Qua.quat[0][3]-Qua.quat[0][0]*Qua.quat[0][2]); |
Double_t a13 = 2*(Qua.quat[0][1]*Qua.quat[0][3]-Qua.quat[0][0]*Qua.quat[0][2]); |
| 103 |
double_t a21 = 2*(Qua.quat[0][1]*Qua.quat[0][2]-Qua.quat[0][0]*Qua.quat[0][3]); |
Double_t a21 = 2*(Qua.quat[0][1]*Qua.quat[0][2]-Qua.quat[0][0]*Qua.quat[0][3]); |
| 104 |
double_t a22 = pow(Qua.quat[0][0],2.)+pow(Qua.quat[0][2],2.)-pow(Qua.quat[0][1],2.)-pow(Qua.quat[0][3],2.); |
Double_t a22 = pow(Qua.quat[0][0],2.)+pow(Qua.quat[0][2],2.)-pow(Qua.quat[0][1],2.)-pow(Qua.quat[0][3],2.); |
| 105 |
double_t a23 = 2*(Qua.quat[0][2]*Qua.quat[0][3]+Qua.quat[0][0]*Qua.quat[0][1]); |
Double_t a23 = 2*(Qua.quat[0][2]*Qua.quat[0][3]+Qua.quat[0][0]*Qua.quat[0][1]); |
| 106 |
double_t a31 = 2*(Qua.quat[0][1]*Qua.quat[0][3]+Qua.quat[0][0]*Qua.quat[0][2]); |
Double_t a31 = 2*(Qua.quat[0][1]*Qua.quat[0][3]+Qua.quat[0][0]*Qua.quat[0][2]); |
| 107 |
double_t a32 = 2*(Qua.quat[0][2]*Qua.quat[0][3]-Qua.quat[0][0]*Qua.quat[0][1]); |
Double_t a32 = 2*(Qua.quat[0][2]*Qua.quat[0][3]-Qua.quat[0][0]*Qua.quat[0][1]); |
| 108 |
double_t a33 = pow(Qua.quat[0][0],2.)+pow(Qua.quat[0][3],2.)-pow(Qua.quat[0][1],2.)-pow(Qua.quat[0][2],2.); |
Double_t a33 = pow(Qua.quat[0][0],2.)+pow(Qua.quat[0][3],2.)-pow(Qua.quat[0][1],2.)-pow(Qua.quat[0][2],2.); |
| 109 |
double_t a = 360/(2*TMath::Pi()); |
Double_t a = 360/(2*TMath::Pi()); |
| 110 |
double_t eksi = 0.0000001; |
Double_t eksi = 0.0000001; |
| 111 |
double_t eteta = 0.0000001; |
Double_t eteta = 0.0000001; |
| 112 |
double_t ksteta = a22*a22/(a12*a12+a22*a22); |
Double_t ksteta = a22*a22/(a12*a12+a22*a22); |
| 113 |
double_t ksksi = a33*a33/(a33*a33+a31*a31); |
Double_t ksksi = a33*a33/(a33*a33+a31*a31); |
| 114 |
|
|
| 115 |
Int_t kj1; |
Int_t kj1; |
| 116 |
if (a33<0){kj1=1; |
if (a33<0){kj1=1; |
| 213 |
|
|
| 214 |
void InclinationInfo::TransAngle(Double_t x0, Double_t y0, Double_t z0, Double_t Vx0, Double_t Vy0, Double_t Vz0, Double_t gamar, Double_t ksir, Double_t tetar, Double_t q0, Double_t q1, Double_t q2, Double_t q3){ |
void InclinationInfo::TransAngle(Double_t x0, Double_t y0, Double_t z0, Double_t Vx0, Double_t Vy0, Double_t Vz0, Double_t gamar, Double_t ksir, Double_t tetar, Double_t q0, Double_t q1, Double_t q2, Double_t q3){ |
| 215 |
|
|
| 216 |
double_t a = 360/(2*TMath::Pi()); |
Double_t a = 360/(2*TMath::Pi()); |
| 217 |
|
|
| 218 |
// Points on three axes of Resurs' coordinate system (RCS) |
// Points on three axes of Resurs' coordinate system (RCS) |
| 219 |
Int_t XRCS[3]; Int_t YRCS[3]; Int_t ZRCS[3]; |
Int_t XRCS[3]; Int_t YRCS[3]; Int_t ZRCS[3]; |