/[PAMELA software]/chewbacca/PamOffLineSW/PamOffLineSW_Main.cpp
ViewVC logotype

Diff of /chewbacca/PamOffLineSW/PamOffLineSW_Main.cpp

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

revision 1.12 by mocchiut, Fri Feb 12 05:22:04 2010 UTC revision 1.14 by mocchiut, Tue Feb 16 13:38:13 2010 UTC
# Line 1  Line 1 
1  //============================================================================  //============================================================================
2  // $Id: PamOffLineSW_Main.cpp,v 1.11 2010/02/12 04:46:53 mocchiut Exp $  // $Id: PamOffLineSW_Main.cpp,v 1.13 2010/02/12 12:45:49 mocchiut Exp $
3  // Description : Pamela Off-Line Software  // Description : Pamela Off-Line Software
4  //============================================================================  //============================================================================
5    
# Line 45  short int CRC_Cadre_Check(char dataVRL[] Line 45  short int CRC_Cadre_Check(char dataVRL[]
45  bool simulated_data = false;  bool simulated_data = false;
46  //bool do_vrl_check = false; //EMI  //bool do_vrl_check = false; //EMI
47  bool do_vrl_check = true; //EMI  bool do_vrl_check = true; //EMI
48    int cclung = 0;
49                    Bool_t headok = true;
50                    Bool_t crcok = true;
51    
52  const char*  db_host = "";  const char*  db_host = "";
53  int        db_port = 0;  int        db_port = 0;
# Line 62  int old_route = 999; Line 64  int old_route = 999;
64  Long64_t filelength = 0LL;  Long64_t filelength = 0LL;
65  Long64_t streamposi = 0LL;  Long64_t streamposi = 0LL;
66  Long64_t streamposisaved = 0LL;  Long64_t streamposisaved = 0LL;
67    Long64_t streamposiorig = 0LL;
68  Int_t numposi = 10;  Int_t numposi = 10;
69  Long64_t downcount = 1LL;  Long64_t downcount = 1LL;
70  TArrayL64 *dwin=new TArrayL64(12);  TArrayL64 *dwin=new TArrayL64(12);
# Line 921  void mainRead_RealData(char fni[]) Line 924  void mainRead_RealData(char fni[])
924                  string sms = ss.str();                  string sms = ss.str();
925                  //              mainLogUtil->logError(sms);                  //              mainLogUtil->logError(sms);
926                  //                  //
927                    headok = true;
928                    crcok = true;
929                  if (!fin.good())                  if (!fin.good())
930                  {                        {      
931                          //TODO: check here                          //TODO: check here
# Line 954  void mainRead_RealData(char fni[]) Line 959  void mainRead_RealData(char fni[])
959                  //                  //
960                  // we completely missed more than 10 VRL packets                  // we completely missed more than 10 VRL packets
961                  //                  //
962                    if (  hc == 1100 ){
963                      fin.seekg(streamposiorig);
964                      stringstream os;                                              
965                      os<<" NEW (EM) UN-RECOVERABLE SYNC WITH VRL HEADERS, SIG! ";
966                      os<<" new position in file, go back to "<<streamposiorig;
967                      string ms = os.str();
968                      mainLogUtil->logAll(ms);
969                      hc++;
970                      continue;
971                    };
972                  if ( horrorcount > 10 && hc < 1100 ){                  if ( horrorcount > 10 && hc < 1100 ){
973                          hc++;                    hc++;
974                  //if ( horrorcount > 1 ){                    //if ( horrorcount > 1 ){
975                    stringstream os;                                                                  stringstream os;                                              
976                    os<<" NEW (EM) THIS IS TOO MUCH, LOST SYNC WITH VRL HEADERS! try to recover horrorcount = "<<horrorcount;                    os<<" NEW (EM) THIS IS TOO MUCH, LOST SYNC WITH VRL HEADERS! try to recover horrorcount = "<<horrorcount;
977                    os<<" new position in file "<<(streamposi-(10LL*1024LL)+1LL);                    os<<" new position in file "<<(streamposi-(10LL*1024LL)+1LL);
# Line 985  void mainRead_RealData(char fni[]) Line 1000  void mainRead_RealData(char fni[])
1000                                    
1001                  //reading data in the cadre                  //reading data in the cadre
1002                  fin.read(ccData,LENGTH_DATA_CADRE);                              fin.read(ccData,LENGTH_DATA_CADRE);            
1003                    cclung=fin.gcount();
1004                  if (!fin.good())                  if (!fin.good())
1005                  {                                {              
1006                          stringstream oss;                                                                        stringstream oss;                                              
# Line 1027  void mainRead_RealData(char fni[]) Line 1043  void mainRead_RealData(char fni[])
1043                          {                          {
1044                                  isCadreGood=false;                                  isCadreGood=false;
1045                          }                          }
1046                                                                            crcok = false;                                          
1047                          //don't exit now, we need to keep it alive to process data                          //don't exit now, we need to keep it alive to process data
1048                          //we will exit the main reading cicle after,                          //we will exit the main reading cicle after,
1049                  }                  }
# Line 1052  void mainRead_RealData(char fni[]) Line 1068  void mainRead_RealData(char fni[])
1068                                  oss1<<"Route number unused = "<<route<<" Resetting ROUTE to old value = "<<old_route<<" (download="<<download<<")";                                  oss1<<"Route number unused = "<<route<<" Resetting ROUTE to old value = "<<old_route<<" (download="<<download<<")";
1069                                  msg = oss1.str();                                  msg = oss1.str();
1070                                  mainLogUtil->logAll(msg);                                  mainLogUtil->logAll(msg);
1071                                    crcok = false;                                          
1072    
1073                                  route=old_route;                                  route=old_route;
1074    
1075                          }                          }
1076                  }                  }
1077    
1078                    //              if ( !crcok && !headok ) skip_cadre = true; // useless
1079                    //              if ( cclung != LENGTH_DATA_CADRE ) skip_cadre = true; // useless
1080                                    
1081                  if(!skip_cadre)                  if(!skip_cadre)
1082                  {                  {
# Line 1074  void mainRead_RealData(char fni[]) Line 1094  void mainRead_RealData(char fni[])
1094                                                    
1095                                                    
1096                          //main processing of the data, searching for Pamela Packets                          //main processing of the data, searching for Pamela Packets
1097    //                      printf(" cc lung %i lung def %i \n",cclung,LENGTH_DATA_CADRE);
1098                          for(int i=0; i<LENGTH_DATA_CADRE; i++)                          for(int i=0; i<LENGTH_DATA_CADRE; i++)
1099                          {                                                {                      
1100                            StateManager::getInstance().getCurrentState()->readInput(ccData[i]);                            StateManager::getInstance().getCurrentState()->readInput(ccData[i]);
# Line 1158  bool VRL_Header_Check(char* headVRL, int Line 1179  bool VRL_Header_Check(char* headVRL, int
1179                      " This error occurred after byte: "<<iByte_tot<<" ... Route number unused= "<<(int)headVRL[3]<<" Resetting ROUTE to old value = "<<old_route<<" (download="<<download<<")";                      " This error occurred after byte: "<<iByte_tot<<" ... Route number unused= "<<(int)headVRL[3]<<" Resetting ROUTE to old value = "<<old_route<<" (download="<<download<<")";
1180                    string ms = os.str();                    string ms = os.str();
1181                    mainLogUtil->logAll(ms);                    mainLogUtil->logAll(ms);
1182                      if ( !hc && !horrorcount ) streamposiorig = streamposi;
1183                    horrorcount++;                    horrorcount++;
1184                  };                  };
1185                    headok = false;
1186    
1187                  return false;                  return false;
1188          }          }

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.23