/[PAMELA software]/YodaProfiler/src/PamelaDBOperations.cpp
ViewVC logotype

Diff of /YodaProfiler/src/PamelaDBOperations.cpp

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

revision 1.23 by mocchiut, Mon Dec 4 09:49:34 2006 UTC revision 1.24 by mocchiut, Mon Dec 4 11:32:07 2006 UTC
# Line 4424  void PamelaDBOperations::RemoveCALIBS(){ Line 4424  void PamelaDBOperations::RemoveCALIBS(){
4424      //      //
4425    };    };
4426  };  };
4427    
4428  /**  /**
4429   *   *
4430   * Rearrange calibration tables   * Rearrange calibration tables
# Line 4541  UInt_t PamelaDBOperations::ValidateTrkCa Line 4542  UInt_t PamelaDBOperations::ValidateTrkCa
4542       return 1; // :-)       return 1; // :-)
4543    
4544  }  }
4545    
4546    /**
4547     *
4548     * Check the DB (only for overlapping runs at the moment)
4549     *
4550     **/
4551    UInt_t PamelaDBOperations::Check(){
4552      //
4553      UInt_t test = 0;
4554      //
4555      UInt_t thisrht = 0;
4556      UInt_t thisrtt = 0;
4557      UInt_t thisid = 0;
4558      UInt_t prevrht = 0;
4559      UInt_t prevrtt = 0;
4560      UInt_t previd = 0;
4561      //
4562      UInt_t prevl0id = 0;
4563      UInt_t thisl0id = 0;
4564      //
4565      stringstream oss;
4566      TSQLResult *result = 0;
4567      TSQLRow    *row    = 0;
4568      TSQLResult *result2 = 0;
4569      TSQLRow    *row2    = 0;
4570      oss.str("");
4571      oss << "SELECT ID,ID_ROOT_L0,RUNHEADER_TIME,RUNTRAILER_TIME FROM GL_RUN order by RUNHEADER_TIME asc;";
4572      //  oss << "SELECT ID,RUNHEADER_TIME,RUNTRAILER_TIME FROM GL_RUN where ID>10170 and ID<10190 order by RUNHEADER_TIME asc;";
4573      result = conn->Query(oss.str().c_str());
4574      //
4575      if ( !result ) throw -4;;
4576      //
4577      row = result->Next();
4578      //
4579      while ( row ){
4580        thisid = (UInt_t)atoll(row->GetField(0));
4581        thisl0id = (UInt_t)atoll(row->GetField(1));
4582        thisrht = (UInt_t)atoll(row->GetField(2));
4583        thisrtt = (UInt_t)atoll(row->GetField(3));
4584        //
4585        //    if ( thisrht < prevrtt || thisrtt < prevrht || thisrht > thisrtt && !(!prevrht && !prevrtt &&!previd) ){
4586        //    if ( (thisrht < prevrtt || thisrtt < prevrht || thisrht > thisrtt) && (thisrht != prevrht) ){
4587        if ( (thisrht < prevrtt) && (thisrht != prevrht) ){
4588          if ( IsDebug() ) printf(" IDprev %u ID %u    prevrht %u prevrtt %u  thisrht %u thisrtt %u \n",previd,thisid,prevrht,prevrtt,thisrht,thisrtt);
4589          printf(" CHECK n.1 TIME SCREW of %i s AROUND RUNs %u and %u \n",(thisrht-prevrtt),previd,thisid);
4590          TString prevf = "";
4591          TString thisf = "";
4592          oss.str("");
4593          oss << "SELECT NAME FROM GL_ROOT where ID=" << (UInt_t)prevl0id <<";";
4594          result2 = conn->Query(oss.str().c_str());
4595          if ( !result2 ) throw -4;;
4596          row2 = result2->Next();
4597          prevf = (TString)row2->GetField(0);
4598          oss.str("");
4599          oss << "SELECT NAME FROM GL_ROOT where ID=" << (UInt_t)thisl0id <<";";
4600          result2 = conn->Query(oss.str().c_str());
4601          if ( !result2 ) throw -4;;
4602          row2 = result2->Next();
4603          thisf = (TString)row2->GetField(0);
4604          if ( IsDebug() ) printf(" ==> files %s and %s \n",prevf.Data(),thisf.Data());
4605          test = 1;
4606        };
4607        //
4608        if ( (thisrtt < prevrht) && (thisrht != prevrht) ){
4609          if ( IsDebug() ) printf(" IDprev %u ID %u    prevrht %u prevrtt %u  thisrht %u thisrtt %u \n",previd,thisid,prevrht,prevrtt,thisrht,thisrtt);
4610          printf(" CHECK n.2 TIME SCREW of %i s AROUND RUNs %u and %u \n",(thisrtt-prevrht),previd,thisid);
4611          TString prevf = "";
4612          TString thisf = "";
4613          oss.str("");
4614          oss << "SELECT NAME FROM GL_ROOT where ID=" << (UInt_t)prevl0id <<";";
4615          result2 = conn->Query(oss.str().c_str());
4616          if ( !result2 ) throw -4;;
4617          row2 = result2->Next();
4618          prevf = (TString)row2->GetField(0);
4619          oss.str("");
4620          oss << "SELECT NAME FROM GL_ROOT where ID=" << (UInt_t)thisl0id <<";";
4621          result2 = conn->Query(oss.str().c_str());
4622          if ( !result2 ) throw -4;;
4623          row2 = result2->Next();
4624          thisf = (TString)row2->GetField(0);
4625          if ( IsDebug() ) printf(" ==> files %s and %s \n",prevf.Data(),thisf.Data());
4626          test = 1;
4627        };
4628        //
4629        if ( (thisrht > thisrtt) && (thisrht != prevrht) ){
4630          if ( IsDebug() ) printf(" IDprev %u ID %u    prevrht %u prevrtt %u  thisrht %u thisrtt %u \n",previd,thisid,prevrht,prevrtt,thisrht,thisrtt);
4631          printf(" CHECK n.3 TIME SCREW of %i s AROUND RUNs %u and %u \n",(thisrht-thisrtt),previd,thisid);
4632          TString prevf = "";
4633          TString thisf = "";
4634          oss.str("");
4635          oss << "SELECT NAME FROM GL_ROOT where ID=" << (UInt_t)prevl0id <<";";
4636          result2 = conn->Query(oss.str().c_str());
4637          if ( !result2 ) throw -4;;
4638          row2 = result2->Next();
4639          prevf = (TString)row2->GetField(0);
4640          oss.str("");
4641          oss << "SELECT NAME FROM GL_ROOT where ID=" << (UInt_t)thisl0id <<";";
4642          result2 = conn->Query(oss.str().c_str());
4643          if ( !result2 ) throw -4;;
4644          row2 = result2->Next();
4645          thisf = (TString)row2->GetField(0);
4646          if ( IsDebug() ) printf(" ==> files %s and %s \n",prevf.Data(),thisf.Data());
4647          test = 1;
4648        };
4649    
4650        //
4651        prevrht = thisrht;
4652        prevrtt = thisrtt;
4653        previd = thisid;
4654        prevl0id = thisl0id;
4655        row = result->Next();
4656      };
4657      //
4658      return(test);
4659      //
4660    };

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.23