/[PAMELA software]/DarthVader/OrbitalInfo/src/OrbitalInfoCore.cpp
ViewVC logotype

Diff of /DarthVader/OrbitalInfo/src/OrbitalInfoCore.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.82 by malakhov, Tue Mar 3 10:58:13 2015 UTC revision 1.90 by pam-ts, Mon Apr 6 09:03:01 2015 UTC
# Line 198  int OrbitalInfoCore(UInt_t run, TFile *f Line 198  int OrbitalInfoCore(UInt_t run, TFile *f
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
# Line 1205  int OrbitalInfoCore(UInt_t run, TFile *f Line 1205  int OrbitalInfoCore(UInt_t run, TFile *f
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.
# Line 1300  int OrbitalInfoCore(UInt_t run, TFile *f Line 1300  int OrbitalInfoCore(UInt_t run, TFile *f
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){
# Line 1322  if(recqtime[mu]>=1160987921.75 && recqti Line 1318  if(recqtime[mu]>=1160987921.75 && recqti
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                          }                          }
# Line 1394  if(recqtime[mu]>=1160987921.75 && recqti Line 1386  if(recqtime[mu]>=1160987921.75 && recqti
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                        }                        }
# Line 1656  if(recqtime[mu]>=1160987921.75 && recqti Line 1644  if(recqtime[mu]>=1160987921.75 && recqti
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        //        //
# Line 1679  if(recqtime[mu]>=1160987921.75 && recqti Line 1667  if(recqtime[mu]>=1160987921.75 && recqti
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
# Line 1772  if(recqtime[mu]>=1160987921.75 && recqti Line 1764  if(recqtime[mu]>=1160987921.75 && recqti
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);

Legend:
Removed from v.1.82  
changed lines
  Added in v.1.90

  ViewVC Help
Powered by ViewVC 1.1.23