| 198 |
Float_t dimo = 0.0; // dipole moment (computed from dat files) // EM GCC 4.7 |
Float_t dimo = 0.0; // dipole moment (computed from dat files) // EM GCC 4.7 |
| 199 |
Float_t bnorth, beast, bdown, babs; |
Float_t bnorth, beast, bdown, babs; |
| 200 |
Float_t xl; // L value |
Float_t xl; // L value |
| 201 |
Float_t icode; // code value for L accuracy (see fortran code) |
Int_t icode; // code value for L accuracy (see fortran code) |
| 202 |
Float_t bab1; // What's the difference with babs? |
Float_t bab1; // What's the difference with babs? |
| 203 |
Float_t stps = 0.005; // step size for field line tracing |
Float_t stps = 0.005; // step size for field line tracing |
| 204 |
Float_t bdel = 0.01; // required accuracy |
Float_t bdel = 0.01; // required accuracy |
| 1205 |
cCoordGeo coo; |
cCoordGeo coo; |
| 1206 |
Float_t jyear=0.; |
Float_t jyear=0.; |
| 1207 |
// |
// |
| 1208 |
if(atime >= gltle->GetToTime()) { |
if(atime >= gltle->GetToTime() || atime < gltle->GetFromTime() ) { // AGH! bug when reprocessing?? |
| 1209 |
if ( !gltle->Query(atime, dbc) ){ |
if ( !gltle->Query(atime, dbc) ){ |
| 1210 |
// |
// |
| 1211 |
// Compute the magnetic dipole moment. |
// Compute the magnetic dipole moment. |
| 1300 |
qRoll[sizeqmcmd]=RYPang_upper->Kren; |
qRoll[sizeqmcmd]=RYPang_upper->Kren; |
| 1301 |
qYaw[sizeqmcmd]=RYPang_upper->Ryskanie; |
qYaw[sizeqmcmd]=RYPang_upper->Ryskanie; |
| 1302 |
qPitch[sizeqmcmd]=RYPang_upper->Tangazh; |
qPitch[sizeqmcmd]=RYPang_upper->Tangazh; |
|
/* CHECK RECOVERED QUATERNIONS PROBLEM */ |
|
|
if(recqtime[mu]>=1160987921.75 && recqtime[mu]<=1160987932.00){ |
|
|
cout<<"We found it while checking all quaternions"<<"\t"<<recqtime[mu]<<endl; |
|
|
} |
|
| 1303 |
} |
} |
| 1304 |
} |
} |
| 1305 |
if(recqtime[mu]>=u_time){ |
if(recqtime[mu]>=u_time){ |
| 1318 |
qRoll[sizeqmcmd]=RYPang_upper->Kren; |
qRoll[sizeqmcmd]=RYPang_upper->Kren; |
| 1319 |
qYaw[sizeqmcmd]=RYPang_upper->Ryskanie; |
qYaw[sizeqmcmd]=RYPang_upper->Ryskanie; |
| 1320 |
qPitch[sizeqmcmd]=RYPang_upper->Tangazh; |
qPitch[sizeqmcmd]=RYPang_upper->Tangazh; |
|
/* CHECK RECOVERED QUATERNIONS PROBLEM */ |
|
|
if(recqtime[mu]>=1160987921.75 && recqtime[mu]<=1160987932.00){ |
|
|
cout<<"We found it while checking all quaternions"<<"\t"<<recqtime[mu]<<endl; |
|
|
} |
|
| 1321 |
break; |
break; |
| 1322 |
} |
} |
| 1323 |
} |
} |
| 1386 |
qYaw[sizeqmcmd]=RYPang_upper->Ryskanie; |
qYaw[sizeqmcmd]=RYPang_upper->Ryskanie; |
| 1387 |
qPitch[sizeqmcmd]=RYPang_upper->Tangazh; |
qPitch[sizeqmcmd]=RYPang_upper->Tangazh; |
| 1388 |
CopyQ(L_QQ_Q_l_lower,L_QQ_Q_l_upper); |
CopyQ(L_QQ_Q_l_lower,L_QQ_Q_l_upper); |
|
/* CHECK RECOVERED QUATERNIONS PROBLEM */ |
|
|
if(recqtime[mu]>=1160987921.75 && recqtime[mu]<=1160987932.00){ |
|
|
cout<<"We found it while checking all quaternions"<<"\t"<<recqtime[mu]<<endl; |
|
|
} |
|
| 1389 |
break; |
break; |
| 1390 |
} |
} |
| 1391 |
} |
} |
| 1644 |
// anni '50. |
// anni '50. |
| 1645 |
// |
// |
| 1646 |
//14.9/(xl*xl); |
//14.9/(xl*xl); |
| 1647 |
orbitalinfo->igrf_icode = icode; |
orbitalinfo->igrf_icode = (Float_t)icode; |
| 1648 |
// |
// |
| 1649 |
} |
} |
| 1650 |
// |
// |
| 1667 |
// If initial orientation data have reason to be inaccurate |
// If initial orientation data have reason to be inaccurate |
| 1668 |
Float_t tg = 0.00; |
Float_t tg = 0.00; |
| 1669 |
Float_t tmptg; |
Float_t tmptg; |
| 1670 |
|
Bool_t tgpar=false; |
| 1671 |
|
Bool_t tgpar0=false; |
| 1672 |
|
if (orbitalinfo->TimeGap>10.0 || ((modf(orbitalinfo->TimeGap,&tmptg)*1000>10 || modf(orbitalinfo->TimeGap,&tmptg)*1000==0.0) && orbitalinfo->TimeGap>2.0)) tgpar=true; |
| 1673 |
|
if (orbitalinfo->TimeGap>180.0) tgpar0=true; |
| 1674 |
if(MU!=0){ |
if(MU!=0){ |
| 1675 |
// if(orbitalinfo->TimeGap>0 && errq==0 && azim==0){ // 10RED CHECK (comparison between three metod of recovering orientation) |
// if(orbitalinfo->TimeGap>0 && errq==0 && azim==0){ // 10RED CHECK (comparison between three metod of recovering orientation) |
| 1676 |
if((atime>=RTstart[MU] && atime<RTstart[MU+1] && RTbank1[MU]==0 && RTbank2[MU]==0 && TMath::Abs(orbitalinfo->etha)>0.1) || ((RTbank1[MU]!=0 || RTbank2[MU]!=0) && atime>=RTstart[MU] && atime<RTstart[MU+1] && azim==0 && (errq!=0 || orbitalinfo->TimeGap>10.0 || ((modf(orbitalinfo->TimeGap,&tmptg)*1000>10 || modf(orbitalinfo->TimeGap,&tmptg)*1000==0.0) && orbitalinfo->TimeGap>2.0)))){ |
if((atime>=RTstart[MU] && atime<RTstart[MU+1] && RTbank1[MU]==0 && RTbank2[MU]==0 && (TMath::Abs(orbitalinfo->etha)>0.1 || tgpar0)) || ((RTbank1[MU]!=0 || RTbank2[MU]!=0) && atime>=RTstart[MU] && atime<RTstart[MU+1] && azim==0 && (errq!=0 || tgpar))){ |
| 1677 |
//found in Rotation Table this data for this time interval |
//found in Rotation Table this data for this time interval |
| 1678 |
if(atime<RTtime1[0]) |
if(atime<RTtime1[0]) |
| 1679 |
orbitalinfo->azim = 5; //means that RotationTable no started yet |
orbitalinfo->azim = 5; //means that RotationTable no started yet |
| 1764 |
|
|
| 1765 |
orbitalinfo->Iij.ResizeTo(Iij); |
orbitalinfo->Iij.ResizeTo(Iij); |
| 1766 |
orbitalinfo->Iij = Iij; |
orbitalinfo->Iij = Iij; |
| 1767 |
|
|
| 1768 |
|
Bool_t saso=true; |
| 1769 |
|
if (orbitalinfo->qkind==1) saso=true; |
| 1770 |
|
if (orbitalinfo->qkind==0 && orbitalinfo->azim>=0 && orbitalinfo->azim!=5 && tgpar) saso=false; |
| 1771 |
|
if (orbitalinfo->qkind==0 && orbitalinfo->azim==5 && TMath::Abs(orbitalinfo->etha)>0.1 && tgpar) saso=false; |
| 1772 |
|
if (orbitalinfo->qkind==0 && orbitalinfo->azim==5 && TMath::Abs(orbitalinfo->etha)<=0.1 && tgpar0) saso=false; |
| 1773 |
|
if (saso) orbitalinfo->mode=orbitalinfo->rtqual; else orbitalinfo->mode=2; |
| 1774 |
|
|
| 1775 |
// |
// |
| 1776 |
// A1 = Iij(0,2); |
// A1 = Iij(0,2); |
| 1777 |
// A2 = Iij(1,2); |
// A2 = Iij(1,2); |