| 259 |
if ( verbose ) cout<<"Reading quaternions external file"<<endl; |
if ( verbose ) cout<<"Reading quaternions external file"<<endl; |
| 260 |
cout.setf(ios::fixed,ios::floatfield); |
cout.setf(ios::fixed,ios::floatfield); |
| 261 |
/******Reading recovered quaternions...*********/ |
/******Reading recovered quaternions...*********/ |
|
//cout<<"START reading recovered quaternions..."<<endl; |
|
| 262 |
vector<Double_t> recqtime; |
vector<Double_t> recqtime; |
| 263 |
vector<Float_t> recq0; |
vector<Float_t> recq0; |
| 264 |
vector<Float_t> recq1; |
vector<Float_t> recq1; |
| 266 |
vector<Float_t> recq3; |
vector<Float_t> recq3; |
| 267 |
Float_t Norm = 1; |
Float_t Norm = 1; |
| 268 |
Int_t parerror=glparam->Query_GL_PARAM(1,303,dbc); // parameters stored in DB in GL_PRAM table |
Int_t parerror=glparam->Query_GL_PARAM(1,303,dbc); // parameters stored in DB in GL_PRAM table |
| 269 |
|
ifstream in((glparam->PATH+glparam->NAME).Data(),ios::in); |
| 270 |
if ( parerror<0 ) { |
if ( parerror<0 ) { |
| 271 |
code = parerror; |
code = parerror; |
| 272 |
goto closeandexit; |
goto closeandexit; |
| 273 |
}; |
}; |
|
ifstream in((glparam->PATH+glparam->NAME).Data(),ios::in); |
|
|
//cout<<"ifstream loaded..."<<endl; |
|
| 274 |
while(!in.eof()){ |
while(!in.eof()){ |
| 275 |
recqtime.resize(recqtime.size()+1); |
recqtime.resize(recqtime.size()+1); |
| 276 |
Int_t sizee = recqtime.size(); |
Int_t sizee = recqtime.size(); |
| 284 |
in>>recq2[sizee-1]; |
in>>recq2[sizee-1]; |
| 285 |
in>>recq3[sizee-1]; |
in>>recq3[sizee-1]; |
| 286 |
in>>Norm; |
in>>Norm; |
|
//cout<<recqtime[sizee]<<endl; |
|
| 287 |
} |
} |
| 288 |
if ( verbose ) cout<<"We have read recovered data"<<endl; |
if ( verbose ) cout<<"We have read recovered data"<<endl; |
| 289 |
|
|
| 880 |
if ( debug ) printf(" ik %i j3 %i eh eh eh \n",ik,j3); |
if ( debug ) printf(" ik %i j3 %i eh eh eh \n",ik,j3); |
| 881 |
mcmdrc = (pamela::McmdRecord*)mcmdev->Records->At(j3); |
mcmdrc = (pamela::McmdRecord*)mcmdev->Records->At(j3); |
| 882 |
if ( mcmdrc ){ // missing inclination bug [8RED 090116] |
if ( mcmdrc ){ // missing inclination bug [8RED 090116] |
| 883 |
|
if ( debug ) printf(" pluto \n"); |
| 884 |
if ((int)mcmdrc->ID1 == 226 && mcmdrc->Mcmd_Block_crc_ok == 1){ //Check that it is Inclination Packet |
if ((int)mcmdrc->ID1 == 226 && mcmdrc->Mcmd_Block_crc_ok == 1){ //Check that it is Inclination Packet |
| 885 |
L_QQ_Q_l_upper->fill(mcmdrc->McmdData); |
L_QQ_Q_l_upper->fill(mcmdrc->McmdData); |
| 886 |
for (UInt_t ui = 0; ui < 6; ui++){ |
for (UInt_t ui = 0; ui < 6; ui++){ |
| 887 |
if (ui>0){ |
if (ui>0){ |
| 888 |
if (L_QQ_Q_l_upper->time[ui]>L_QQ_Q_l_upper->time[0]){ |
if (L_QQ_Q_l_upper->time[ui]>L_QQ_Q_l_upper->time[0]){ |
| 889 |
|
if ( debug ) printf(" here1 %i \n",ui); |
| 890 |
Double_t u_time = dbtime->DBabsTime((UInt_t)(L_QQ_Q_l_upper->time[ui]*1000-DeltaOBT*1000)); |
Double_t u_time = dbtime->DBabsTime((UInt_t)(L_QQ_Q_l_upper->time[ui]*1000-DeltaOBT*1000)); |
| 891 |
Int_t recSize = recqtime.size(); |
Int_t recSize = recqtime.size(); |
| 892 |
for(Int_t mu = nt;mu<recSize;mu++){ |
for(Int_t mu = nt;mu<recSize;mu++){ |
| 926 |
} |
} |
| 927 |
} |
} |
| 928 |
}else{ |
}else{ |
| 929 |
|
if ( debug ) printf(" here2 %i \n",ui); |
| 930 |
Double_t u_time = dbtime->DBabsTime((UInt_t)(L_QQ_Q_l_upper->time[0]*1000-DeltaOBT*1000)); |
Double_t u_time = dbtime->DBabsTime((UInt_t)(L_QQ_Q_l_upper->time[0]*1000-DeltaOBT*1000)); |
| 931 |
if(lowerqtime>u_time)nt=0; |
if(lowerqtime>u_time)nt=0; |
| 932 |
Int_t recSize = recqtime.size(); |
Int_t recSize = recqtime.size(); |
| 970 |
} |
} |
| 971 |
} |
} |
| 972 |
} |
} |
| 973 |
|
if ( debug ) printf(" ciccio \n"); |
| 974 |
} |
} |
| 975 |
} |
} |
| 976 |
|
|
| 977 |
|
if(qtime.size()==0){ |
| 978 |
|
for(Int_t my=0;my<recqtime.size();my++){ |
| 979 |
|
Int_t sizeqmcmd = qtime.size(); |
| 980 |
|
inclresize(qtime,q0,q1,q2,q3,qmode,qRoll,qPitch,qYaw); |
| 981 |
|
qtime[sizeqmcmd]=recqtime[my]; |
| 982 |
|
q0[sizeqmcmd]=recq0[my]; |
| 983 |
|
q1[sizeqmcmd]=recq1[my]; |
| 984 |
|
q2[sizeqmcmd]=recq2[my]; |
| 985 |
|
q3[sizeqmcmd]=recq3[my]; |
| 986 |
|
qmode[sizeqmcmd]=-10; |
| 987 |
|
orbits.getPosition((double) (qtime[sizeqmcmd] - gltle->GetFromTime())/60., &eCi); |
| 988 |
|
RYPang_upper->TransAngle(eCi.getPos().m_x,eCi.getPos().m_y,eCi.getPos().m_z,eCi.getVel().m_x,eCi.getVel().m_y,eCi.getVel().m_z,recq0[my],recq1[my],recq2[my],recq3[my]); |
| 989 |
|
qRoll[sizeqmcmd]=RYPang_upper->Kren; |
| 990 |
|
qYaw[sizeqmcmd]=RYPang_upper->Ryskanie; |
| 991 |
|
qPitch[sizeqmcmd]=RYPang_upper->Tangazh; |
| 992 |
|
} |
| 993 |
|
} |
| 994 |
|
|
| 995 |
|
if ( debug ) printf(" fuffi \n"); |
| 996 |
|
|
| 997 |
sineparam(q0sine,qtime,q0,qRoll,qPitch,0.58); |
//sineparam(q0sine,qtime,q0,qRoll,qPitch,0.60); |
| 998 |
sineparam(q1sine,qtime,q1,qRoll,qPitch,0.79); |
//sineparam(q1sine,qtime,q1,qRoll,qPitch,0.82); |
| 999 |
sineparam(q2sine,qtime,q2,qRoll,qPitch,0.79); |
//sineparam(q2sine,qtime,q2,qRoll,qPitch,0.82); |
| 1000 |
sineparam(q3sine,qtime,q3,qRoll,qPitch,0.58); |
//sineparam(q3sine,qtime,q3,qRoll,qPitch,0.60); |
| 1001 |
sineparam(Yawsine,qtime,qYaw,qRoll,qPitch,4); |
//sineparam(Yawsine,qtime,qYaw,qRoll,qPitch,4); |
| 1002 |
|
|
| 1003 |
|
if ( debug ) printf(" puffi \n"); |
| 1004 |
Double_t tmin = 9999999999.; |
Double_t tmin = 9999999999.; |
| 1005 |
Double_t tmax = 0.; |
Double_t tmax = 0.; |
| 1006 |
for(UInt_t tre = 0;tre<qtime.size();tre++){ |
for(UInt_t tre = 0;tre<qtime.size();tre++){ |
| 1007 |
if(qtime[tre]>tmax)tmax = qtime[tre]; |
if(qtime[tre]>tmax)tmax = qtime[tre]; |
| 1008 |
if(qtime[tre]<tmin)tmin = qtime[tre]; |
if(qtime[tre]<tmin)tmin = qtime[tre]; |
| 1009 |
} |
} |
| 1010 |
|
if ( debug ) printf(" gnfuffi \n"); |
| 1011 |
|
|
| 1012 |
//q0testing->SetName("q0testing"); |
//q0testing->SetName("q0testing"); |
| 1013 |
//q1testing->SetName("q1testing"); |
//q1testing->SetName("q1testing"); |
| 1014 |
//q2testing->SetName("q2testing"); |
//q2testing->SetName("q2testing"); |
| 1034 |
|
|
| 1035 |
//Filling Inclination information |
//Filling Inclination information |
| 1036 |
Double_t incli = 0; |
Double_t incli = 0; |
| 1037 |
|
if ( qtime.size() > 1 ){ |
| 1038 |
for(UInt_t mu = must;mu<qtime.size()-1;mu++){ |
for(UInt_t mu = must;mu<qtime.size()-1;mu++){ |
| 1039 |
|
if ( debug ) printf(" ??grfuffi %i sixe %i must %i \n",mu,qtime.size()-1,must); |
| 1040 |
if(qtime[mu+1]>qtime[mu]){ |
if(qtime[mu+1]>qtime[mu]){ |
| 1041 |
|
if ( debug ) printf(" grfuffi2 %i \n",mu); |
| 1042 |
if(atime<=qtime[mu+1] && atime>=qtime[mu]){ |
if(atime<=qtime[mu+1] && atime>=qtime[mu]){ |
| 1043 |
must = mu; |
must = mu; |
| 1044 |
incli = (qPitch[mu+1]-qPitch[mu])/(qtime[mu+1]-qtime[mu]); |
incli = (qPitch[mu+1]-qPitch[mu])/(qtime[mu+1]-qtime[mu]); |
| 1049 |
orbitalinfo->phi = incli*atime+qYaw[mu+1]-incli*qtime[mu+1]; |
orbitalinfo->phi = incli*atime+qYaw[mu+1]-incli*qtime[mu+1]; |
| 1050 |
|
|
| 1051 |
incli = (q0[mu+1]-q0[mu])/(qtime[mu+1]-qtime[mu]); |
incli = (q0[mu+1]-q0[mu])/(qtime[mu+1]-qtime[mu]); |
| 1052 |
orbitalinfo->q0t = incli*atime+q0[mu+1]-incli*qtime[mu+1]; |
orbitalinfo->q0 = incli*atime+q0[mu+1]-incli*qtime[mu+1]; |
| 1053 |
incli = (q1[mu+1]-q1[mu])/(qtime[mu+1]-qtime[mu]); |
incli = (q1[mu+1]-q1[mu])/(qtime[mu+1]-qtime[mu]); |
| 1054 |
orbitalinfo->q1t = incli*atime+q1[mu+1]-incli*qtime[mu+1]; |
orbitalinfo->q1 = incli*atime+q1[mu+1]-incli*qtime[mu+1]; |
| 1055 |
incli = (q2[mu+1]-q2[mu])/(qtime[mu+1]-qtime[mu]); |
incli = (q2[mu+1]-q2[mu])/(qtime[mu+1]-qtime[mu]); |
| 1056 |
orbitalinfo->q2t = incli*atime+q2[mu+1]-incli*qtime[mu+1]; |
orbitalinfo->q2 = incli*atime+q2[mu+1]-incli*qtime[mu+1]; |
| 1057 |
incli = (q3[mu+1]-q3[mu])/(qtime[mu+1]-qtime[mu]); |
incli = (q3[mu+1]-q3[mu])/(qtime[mu+1]-qtime[mu]); |
| 1058 |
orbitalinfo->q3t = incli*atime+q3[mu+1]-incli*qtime[mu+1]; |
orbitalinfo->q3 = incli*atime+q3[mu+1]-incli*qtime[mu+1]; |
| 1059 |
|
|
| 1060 |
orbitalinfo->TimeGap = qtime[mu+1]-qtime[mu]; |
orbitalinfo->TimeGap = qtime[mu+1]-qtime[mu]; |
| 1061 |
orbitalinfo->mode = qmode[mu+1]; |
orbitalinfo->mode = qmode[mu+1]; |
| 1062 |
if(qmode[mu+1]==-10) orbitalinfo->R10r = true;else orbitalinfo->R10r = false; |
//if(qmode[mu+1]==-10) orbitalinfo->R10r = true;else orbitalinfo->R10r = false; |
| 1063 |
if(qmode[mu+1]==-10 || qmode[mu+1]==0 || qmode[mu+1]==1 || qmode[mu+1]==3 || qmode[mu+1]==4 || qmode[mu+1]==6){ |
//reserved for next versions Vitaly. |
| 1064 |
|
/*if(qmode[mu+1]==-10 || qmode[mu+1]==0 || qmode[mu+1]==1 || qmode[mu+1]==3 || qmode[mu+1]==4 || qmode[mu+1]==6){ |
| 1065 |
//linear interpolation |
//linear interpolation |
| 1066 |
incli = (q0[mu+1]-q0[mu])/(qtime[mu+1]-qtime[mu]); |
incli = (q0[mu+1]-q0[mu])/(qtime[mu+1]-qtime[mu]); |
| 1067 |
orbitalinfo->q0 = incli*atime+q0[mu+1]-incli*qtime[mu+1]; |
orbitalinfo->q0 = incli*atime+q0[mu+1]-incli*qtime[mu+1]; |
| 1105 |
} |
} |
| 1106 |
} |
} |
| 1107 |
} |
} |
| 1108 |
} |
}*/ |
| 1109 |
//q0testing->Fill(atime,orbitalinfo->q0,100); |
//q0testing->Fill(atime,orbitalinfo->q0,100); |
| 1110 |
//q1testing->Fill(atime,orbitalinfo->q1,100); |
//q1testing->Fill(atime,orbitalinfo->q1,100); |
| 1111 |
//Pitchtesting->Fill(atime,orbitalinfo->etha); |
//Pitchtesting->Fill(atime,orbitalinfo->etha); |
| 1115 |
} |
} |
| 1116 |
} |
} |
| 1117 |
} |
} |
| 1118 |
|
} |
| 1119 |
// |
// |
| 1120 |
// ops no inclination information |
// ops no inclination information |
| 1121 |
// |
// |
| 1169 |
// |
// |
| 1170 |
// pitch angles |
// pitch angles |
| 1171 |
// |
// |
| 1172 |
if ( orbitalinfo->mode != 10 && orbitalinfo->mode != 5 && orbitalinfo->mode !=7 && orbitalinfo->mode != 9 ){ |
//if ( orbitalinfo->mode != 10 && orbitalinfo->mode != 5 && orbitalinfo->mode !=7 && orbitalinfo->mode != 9 ){ |
| 1173 |
|
if( orbitalinfo->TimeGap>0 && orbitalinfo->TimeGap<2000000){ |
| 1174 |
// |
// |
| 1175 |
Float_t Bx = -orbitalinfo->Bdown; //don't need for PamExp ExpOnly for all geography areas |
Float_t Bx = -orbitalinfo->Bdown; |
| 1176 |
Float_t By = orbitalinfo->Beast; //don't need for PamExp ExpOnly for all geography areas |
Float_t By = orbitalinfo->Beast; |
| 1177 |
Float_t Bz = orbitalinfo->Bnorth; //don't need for PamExp ExpOnly for all geography areas |
Float_t Bz = orbitalinfo->Bnorth; |
| 1178 |
// |
// |
| 1179 |
TMatrixD Fij = PO->ECItoGreenwich(PO->QuatoECI(orbitalinfo->q0,orbitalinfo->q1,orbitalinfo->q2,orbitalinfo->q3),orbitalinfo->absTime); |
TMatrixD Fij = PO->ECItoGreenwich(PO->QuatoECI(orbitalinfo->q0,orbitalinfo->q1,orbitalinfo->q2,orbitalinfo->q3),orbitalinfo->absTime); |
| 1180 |
|
TMatrixD Gij = PO->ColPermutation(Fij); |
| 1181 |
TMatrixD Dij = PO->GreenwichtoGEO(orbitalinfo->lat,orbitalinfo->lon,Fij); |
TMatrixD Dij = PO->GreenwichtoGEO(orbitalinfo->lat,orbitalinfo->lon,Fij); |
| 1182 |
TMatrixD Iij = PO->ColPermutation(Dij); |
TMatrixD Iij = PO->ColPermutation(Dij); |
| 1183 |
// |
// |
| 1187 |
A1 = Iij(0,2); |
A1 = Iij(0,2); |
| 1188 |
A2 = Iij(1,2); |
A2 = Iij(1,2); |
| 1189 |
A3 = Iij(2,2); |
A3 = Iij(2,2); |
| 1190 |
// |
// |
| 1191 |
// orbitalinfo->pamzenitangle = (Float_t)PO->GetPitchAngle(1,0,0,A1,A2,A3); // Angle between zenit and Pamela's main axiz |
// orbitalinfo->pamzenitangle = (Float_t)PO->GetPitchAngle(1,0,0,A1,A2,A3); // Angle between zenit and Pamela's main axiz |
| 1192 |
// orbitalinfo->pamBangle = (Float_t)PO->GetPitchAngle(A1,A2,A3,Bx,By,Bz); // Angle between Pamela's main axiz and B |
// orbitalinfo->pamBangle = (Float_t)PO->GetPitchAngle(A1,A2,A3,Bx,By,Bz); // Angle between Pamela's main axiz and B |
| 1193 |
// |
// |
| 1220 |
t_orb->Eij.ResizeTo(Eij); |
t_orb->Eij.ResizeTo(Eij); |
| 1221 |
t_orb->Eij = Eij; |
t_orb->Eij = Eij; |
| 1222 |
// |
// |
| 1223 |
TMatrixD Sij = PO->PamelatoGEO(Fij,Px,Py,Pz); |
TMatrixD Sij = PO->PamelatoGEO(Dij,Px,Py,Pz); |
| 1224 |
t_orb->Sij.ResizeTo(Sij); |
t_orb->Sij.ResizeTo(Sij); |
| 1225 |
t_orb->Sij = Sij; |
t_orb->Sij = Sij; |
| 1226 |
// |
// |
| 1500 |
Int_t sinesize = 0; |
Int_t sinesize = 0; |
| 1501 |
Int_t nfi = 0; |
Int_t nfi = 0; |
| 1502 |
for(UInt_t mu = 0;mu<qtime.size();mu++){ |
for(UInt_t mu = 0;mu<qtime.size();mu++){ |
| 1503 |
if(Roll[mu]<1. && Pitch[mu]<1.){ |
//cout<<"Roll["<<mu<<"] = "<<Roll[mu]<<endl; |
| 1504 |
|
if(TMath::Abs(Roll[mu])<1. && TMath::Abs(Pitch[mu])<1. && TMath::Abs(q[mu])<limsin){ |
| 1505 |
|
//cout<<"q["<<mu<<endl<<"] = "<<q[mu]<<endl; |
| 1506 |
|
if(mulast!=0 && munow!=0 && munext!=0){mulast=munow;munow=munext;munext=mu;} |
| 1507 |
if(munext==0 && munow!=0)munext=mu; |
if(munext==0 && munow!=0)munext=mu; |
| 1508 |
if(munow==0 && mulast!=0)munow=mu; |
if(munow==0 && mulast!=0)munow=mu; |
| 1509 |
if(mulast==0)mulast=mu; |
if(mulast==0)mulast=mu; |
| 1510 |
if(mulast!=0 && munow!=0 && munext!=0){mulast=munow;munow=munext;munext=mu;} |
|
| 1511 |
if(TMath::Abs(q[munow])>TMath::Abs(q[mulast]) && TMath::Abs(q[munow])>TMath::Abs(q[munext]) && TMath::Abs(q[munow])>limsin && qtime[munext]-qtime[mulast]>400)small_gap_on_ridge = true; |
//cout<<"mulast = "<<mulast<<"\tmunow = "<<munow<<"\tmunext = "<<munext<<endl; |
| 1512 |
|
//Int_t ref; |
| 1513 |
|
//cin>>ref; |
| 1514 |
|
if(TMath::Abs(q[munow])>TMath::Abs(q[mulast]) && TMath::Abs(q[munow])>TMath::Abs(q[munext]) && q[mulast]*q[munext]>0 && qtime[munext]-qtime[mulast]>400)small_gap_on_ridge = true; |
| 1515 |
if(munext>mulast && (qtime[munext]-qtime[mulast]>=2000 || qtime[munext]-qtime[mulast]<0)){if(Large_gap){normal_way = false;Large_gap = false;}else{Large_gap = true;normal_way = false;}}else normal_way = true; |
if(munext>mulast && (qtime[munext]-qtime[mulast]>=2000 || qtime[munext]-qtime[mulast]<0)){if(Large_gap){normal_way = false;Large_gap = false;}else{Large_gap = true;normal_way = false;}}else normal_way = true; |
| 1516 |
|
//if(normal_way)cout<<"Normal_Way"<<endl; |
| 1517 |
if(Large_gap || small_gap_on_ridge){ |
if(Large_gap || small_gap_on_ridge){ |
| 1518 |
//cout<<"Large gap..."<<endl; |
//cout<<"Large gap..."<<endl; |
| 1519 |
//if(small_gap_on_ridge)cout<<"small gap..."<<endl; |
//if(small_gap_on_ridge)cout<<"small gap..."<<endl; |
| 1520 |
|
//cout<<"q["<<mulast<<"] = "<<q[mulast]<<"\tq["<<munow<<"] = "<<q[munow]<<"\tq["<<munext<<"] = "<<q[munext]<<endl; |
| 1521 |
|
//cout<<"qtime["<<mulast<<"] = "<<qtime[mulast]<<"\tqtime["<<munow<<"] = "<<qtime[munow]<<"\tqtime["<<munext<<"] = "<<qtime[munext]<<endl; |
| 1522 |
increase = false; |
increase = false; |
| 1523 |
decrease = false; |
decrease = false; |
| 1524 |
if(nfi>0){ |
if(nfi>0){ |
| 1525 |
qsine.resize(qsine.size()-1); |
qsine.resize(qsine.size()-1); |
| 1526 |
sinesize = qsine.size(); |
sinesize = qsine.size(); |
| 1527 |
|
//cout<<"nfi was larger then zero"<<endl; |
| 1528 |
}else{ |
}else{ |
| 1529 |
|
//cout<<"nfi was not larger then zero :( nfi = "<<nfi<<endl; |
| 1530 |
|
//cout<<"qsine.size = "<<qsine.size()<<endl; |
| 1531 |
if(!Period_is_defined){ |
if(!Period_is_defined){ |
| 1532 |
|
//cout<<"Period was defined"<<endl; |
| 1533 |
if(qsine.size()>1){ |
if(qsine.size()>1){ |
| 1534 |
qsine[sinesize-1].b = qsine[sinesize-2].b; |
qsine[sinesize-1].b = qsine[sinesize-2].b; |
| 1535 |
qsine[sinesize-1].c = qsine[sinesize-2].c; |
qsine[sinesize-1].c = qsine[sinesize-2].c; |
| 1539 |
} |
} |
| 1540 |
} |
} |
| 1541 |
if(!Max_is_defined){ |
if(!Max_is_defined){ |
| 1542 |
|
//cout<<"Max was already defined"<<endl; |
| 1543 |
if(qsine.size()>1)qsine[sinesize-1].A = qsine[sinesize-2].A;else qsine[sinesize-1].A = limsin; |
if(qsine.size()>1)qsine[sinesize-1].A = qsine[sinesize-2].A;else qsine[sinesize-1].A = limsin; |
| 1544 |
} |
} |
| 1545 |
qsine[sinesize-1].NeedFit = true; |
qsine[sinesize-1].NeedFit = true; |
| 1546 |
} |
} |
| 1547 |
qsine[sinesize-1].finishPoint = qtime[munow]; |
qsine[sinesize-1].finishPoint = qtime[munow]; |
| 1548 |
|
//cout<<"finish point before large gap = "<<qtime[munow]<<endl; |
| 1549 |
nfi = 0; |
nfi = 0; |
| 1550 |
Max_is_defined = false; |
Max_is_defined = false; |
| 1551 |
Start_point_is_defined = false; |
Start_point_is_defined = false; |
| 1552 |
Period_is_defined = false; |
Period_is_defined = false; |
| 1553 |
small_gap_on_ridge = false; |
small_gap_on_ridge = false; |
| 1554 |
} |
} |
| 1555 |
if(munext > munow && munow > mulast && normal_way){ |
//cout<<"Slope "<<increase<<"\t"<<decrease<<endl; |
| 1556 |
|
//cout<<"mulast = "<<mulast<<"\tmunow = "<<munow<<"\tmunext = "<<munext<<endl; |
| 1557 |
|
if((munext>munow) && (munow>mulast) && normal_way){ |
| 1558 |
if(!increase && !decrease){ |
if(!increase && !decrease){ |
| 1559 |
|
//cout<<"Normal way have started"<<endl; |
| 1560 |
qsine.resize(qsine.size()+1); |
qsine.resize(qsine.size()+1); |
| 1561 |
sinesize = qsine.size(); |
sinesize = qsine.size(); |
| 1562 |
qsine[sinesize-1].startPoint=qtime[mulast]; |
qsine[sinesize-1].startPoint=qtime[mulast]; |
| 1564 |
if(q[munext]<q[munow] && q[munow]<q[mulast]) decrease = true; |
if(q[munext]<q[munow] && q[munow]<q[mulast]) decrease = true; |
| 1565 |
} |
} |
| 1566 |
//if(TMath::Abs(q[munow])>TMath::Abs(q[mulast]) && TMath::Abs(q[munow])>TMath::Abs(q[munext]) && TMath::Abs(q[munow])>limsin && qtime[munow]-qtime[mulast]>=400 || qtime[munext]-qtime[munow]>=400){small_gap_on_ridge = true;mu--;continue;} |
//if(TMath::Abs(q[munow])>TMath::Abs(q[mulast]) && TMath::Abs(q[munow])>TMath::Abs(q[munext]) && TMath::Abs(q[munow])>limsin && qtime[munow]-qtime[mulast]>=400 || qtime[munext]-qtime[munow]>=400){small_gap_on_ridge = true;mu--;continue;} |
| 1567 |
if(TMath::Abs(q[munow])>TMath::Abs(q[mulast]) && TMath::Abs(q[munow])>TMath::Abs(q[munext]) && TMath::Abs(q[munow])>limsin && qtime[munow]-qtime[mulast]<400 && qtime[munext]-qtime[munow]<400){ |
if(TMath::Abs(q[munow])>TMath::Abs(q[mulast]) && TMath::Abs(q[munow])>TMath::Abs(q[munext]) && TMath::Abs(q[munow])>0.9*limsin && qtime[munow]-qtime[mulast]<400 && qtime[munext]-qtime[munow]<400){ |
| 1568 |
//cout<<"Max point is qtime = "<<qtime[munow]<<"\tq = "<<q[munow]<<endl; |
//cout<<"Max point is qtime = "<<qtime[munow]<<"\tq = "<<q[munow]<<endl; |
| 1569 |
if(q[munow]>q[mulast]){ |
if(q[munow]>q[mulast]){ |
| 1570 |
increase = false; |
increase = false; |