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

Diff of /chewbacca/PamOffLineSW/PacketUser.cpp

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

revision 1.3 by mocchiut, Thu Dec 18 12:58:37 2008 UTC revision 1.5 by mocchiut, Mon Dec 22 16:50:10 2008 UTC
# Line 1  Line 1 
1  //============================================================================  //============================================================================
2  // $Id: PacketUser.cpp,v 1.69 2008-10-27 10:41:27 messineo Exp $  // $Id: PacketUser.cpp,v 1.4 2008/12/18 14:46:56 mocchiut Exp $
3  // Description :  // Description :
4  //============================================================================  //============================================================================
5  #include "PacketUser.h"  #include "PacketUser.h"
# Line 243  void PacketUser::setInit(unsigned long i Line 243  void PacketUser::setInit(unsigned long i
243  //starts a new root file  //starts a new root file
244  void PacketUser::StartGroup()  void PacketUser::StartGroup()
245  {        {      
246          pRun = new PamelaRun(rootfilename, outDir, multiFile, compression);          pRun = new PamelaRun(rootfilename, gSystem->ExpandPathName(outDir), multiFile, compression); // EMI
247          strcat(rootfilename,".root");          strcat(rootfilename,".root");
248          reader->Init(pRun);                              reader->Init(pRun);                    
249          stringstream oss;          stringstream oss;
# Line 524  void PacketUser::FinishGroup(char * file Line 524  void PacketUser::FinishGroup(char * file
524                  if((!real_time_init)&&(!real_time_last))                  if((!real_time_init)&&(!real_time_last))
525                  {                  {
526                          //saved in another table for future study                          //saved in another table for future study
527                          if(saveROOT_DB(Table_ROOT_Bad, outDir,                          if(saveROOT_DB(Table_ROOT_Bad, outDir,// here outDir is good, no expand EMI
528                                                                  filename,                                                                  filename,
529                                                             pkt_number_init, pkt_number_last,                                                             pkt_number_init, pkt_number_last,
530                                                             obt_init, obt_last,                                                             obt_init, obt_last,
# Line 559  void PacketUser::FinishGroup(char * file Line 559  void PacketUser::FinishGroup(char * file
559                  if(boot_number==0)                  if(boot_number==0)
560                    boot_number=boot_number_prevvalue;                    boot_number=boot_number_prevvalue;
561    
562                  if(saveROOT_DB(Table_ROOT_Good, outDir,                  if(saveROOT_DB(Table_ROOT_Good, outDir, // here outDir is good, no expand EMI
563                                          filename,                                          filename,
564                                     pkt_number_init, pkt_number_last,                                     pkt_number_init, pkt_number_last,
565                                     obt_init, obt_last,                                     obt_init, obt_last,
# Line 614  bool PacketUser::saveROOT_DB(char* table Line 614  bool PacketUser::saveROOT_DB(char* table
614      << bad_pkt <<"','" << bad_pkt_read <<"','"<< bad_pkt_CalRead <<"','"<< num_PKT_Saved<<"','"      << bad_pkt <<"','" << bad_pkt_read <<"','"<< bad_pkt_CalRead <<"','"<< num_PKT_Saved<<"','"
615      << nome_input <<"',"      << nome_input <<"',"
616      <<"NULL,"<<_time_is_estimated<<        <<"NULL,"<<_time_is_estimated<<  
617      ")";                  ");";          
618          string msg = oss.str();          string msg = oss.str();
619          mainLogUtil->logAll(msg);                mainLogUtil->logAll(msg);      
620                    
# Line 664  void PacketUser::recover_boot_number(){ Line 664  void PacketUser::recover_boot_number(){
664      return;      return;
665        
666    for (int i = 0; i<id_to_recover_index;i++){    for (int i = 0; i<id_to_recover_index;i++){
667      oss << "UPDATE "<<  Table_ROOT_Good << " SET BOOT_NUMBER=" << boot_number << " WHERE ID_N=" << id_to_recover[i];        oss.str("");
668        oss << "UPDATE "<<  Table_ROOT_Good << " SET BOOT_NUMBER=" << boot_number << " WHERE ID_N=" << id_to_recover[i] << ";";  
669     query = oss.str();     query = oss.str();
670     res= sqlServer->Query(query.c_str());     res= sqlServer->Query(query.c_str());
671     if(!res)     if(!res)
# Line 676  void PacketUser::recover_boot_number(){ Line 677  void PacketUser::recover_boot_number(){
677     }     }
678    }    }
679    
680  for (int i = 0; i<id_to_recover_index;i++){    for (int i = 0; i<id_to_recover_index;i++){
681    oss << "UPDATE " <<  Table_ROOT_Merging << " SET BOOT_NUMBER=" <<  boot_number << " WHERE ROOT_ID_N=" << id_to_recover[i];        oss.str("");
682    query=oss.str();      oss << "UPDATE " <<  Table_ROOT_Merging << " SET BOOT_NUMBER=" <<  boot_number << " WHERE ROOT_ID_N=" << id_to_recover[i] << ";";  
683     res= sqlServer->Query(query.c_str());      query=oss.str();
684     if(!res)      res= sqlServer->Query(query.c_str());
685     {          if(!res)
686          {
687             oss1<<"DBError UNABLE to: "<<query.c_str()<<endl;               oss1<<"DBError UNABLE to: "<<query.c_str()<<endl;  
688             msg1=oss1.str();             msg1=oss1.str();
689             mainLogUtil->logError(msg1);               mainLogUtil->logError(msg1);  
# Line 935  bool PacketUser::updateMergeROOT_DB(char Line 937  bool PacketUser::updateMergeROOT_DB(char
937          }          }
938          else if(type_rel == BIGGER){          else if(type_rel == BIGGER){
939          //marco_new: ok anche se coincidenti etc          //marco_new: ok anche se coincidenti etc
940            oss << "DELETE FROM "<< table_name <<" WHERE ID_N ="<< ID_record<<";";            //      oss << "DELETE FROM "<< table_name <<" WHERE ID_N ="<< ID_record<<";"; // EMILIANO
941              oss << "UPDATE "<< table_name <<" SET GOOD=0 WHERE ID_N ="<< ID_record<<";"; // EMILIANO DO NOT DELETE FROM ROOT_TABLE_MERGING JUST SET GOOD FLAG TO ZERO
942            mainLogUtil->logInfo("Record deleted from merging table");                mainLogUtil->logInfo("Record deleted from merging table");    
943          }          }
944          else          else
# Line 972  TSQLResult* PacketUser::Select_merging(c Line 975  TSQLResult* PacketUser::Select_merging(c
975          query.str("");          query.str("");
976    
977          if(type_rel == AFTER)          if(type_rel == AFTER)
978            query<<"select * from "<<table_name<<" where REAL_TIME_LAST > "<< mtime_init <<" and REAL_TIME_LAST <= "<< mtime_last <<" and REAL_TIME_INIT < "<< mtime_init;            query<<"select * from "<<table_name<<" where GOOD=1 and REAL_TIME_LAST > "<< mtime_init <<" and REAL_TIME_LAST <= "<< mtime_last <<" and REAL_TIME_INIT < "<< mtime_init; // EMI
979          else if(type_rel == BEFORE)          else if(type_rel == BEFORE)
980            query<<"select * from "<<table_name<<" where REAL_TIME_INIT >= "<< mtime_init <<" and REAL_TIME_INIT < "<< mtime_last <<" and REAL_TIME_LAST > "<< mtime_last;            query<<"select * from "<<table_name<<" where GOOD=1 and REAL_TIME_INIT >= "<< mtime_init <<" and REAL_TIME_INIT < "<< mtime_last <<" and REAL_TIME_LAST > "<< mtime_last; // EMI
981          else if(type_rel == SMALLER)          else if(type_rel == SMALLER)
982            query<<"select * from "<<table_name<<" where REAL_TIME_INIT < "<< mtime_init <<" and REAL_TIME_LAST > "<< mtime_last;            query<<"select * from "<<table_name<<" where GOOD=1 and REAL_TIME_INIT < "<< mtime_init <<" and REAL_TIME_LAST > "<< mtime_last; // EMI
983          else if(type_rel == BIGGER)          else if(type_rel == BIGGER)
984                  query<<"select * from "<<table_name<<" where REAL_TIME_INIT >= "<< mtime_init <<" and REAL_TIME_LAST <= "<< mtime_last;            query<<"select * from "<<table_name<<" where GOOD=1 and REAL_TIME_INIT >= "<< mtime_init <<" and REAL_TIME_LAST <= "<< mtime_last; // EMI
985          else          else
986                  return 0;                  return 0;
987                    
# Line 1232  void PacketUser::savePKT_file(char* head Line 1235  void PacketUser::savePKT_file(char* head
1235  {  {
1236          char fno[80]="";          char fno[80]="";
1237          ofstream fout;          ofstream fout;
1238          sprintf(fno,"%s/pkt%d_of_%s.pkt", outDir, numPKTSaved, nomefile);          sprintf(fno,"%s/pkt%d_of_%s.pkt", gSystem->ExpandPathName(outDir), numPKTSaved, nomefile); // EMI
1239    
1240          if(append==true)          if(append==true)
1241                  fout.open(fno, ios::binary | ios::app);                  fout.open(fno, ios::binary | ios::app);
# Line 1252  void PacketUser::saveALL_PKT(char* heade Line 1255  void PacketUser::saveALL_PKT(char* heade
1255          ofstream fout;          ofstream fout;
1256          if(append==true)          if(append==true)
1257          {                        {              
1258                  sprintf(fno,"%s/packets.pkt", outDir);                  sprintf(fno,"%s/packets.pkt", gSystem->ExpandPathName(outDir)); // EMI
1259                  fout.open(fno, ios::binary | ios::app);                  fout.open(fno, ios::binary | ios::app);
1260          }          }
1261          else{          else{
1262                  sprintf(fno,"%s/packet%d.pkt", outDir, numPKT );                  sprintf(fno,"%s/packet%d.pkt", gSystem->ExpandPathName(outDir), numPKT ); // EMI
1263                  fout.open(fno, ios::binary);                                      fout.open(fno, ios::binary);                    
1264          }          }
1265                                    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.23