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

Diff of /YodaProfiler/src/GLTables.cpp

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

revision 1.36 by mocchiut, Mon Nov 26 07:58:00 2007 UTC revision 1.37 by mocchiut, Mon Nov 26 08:38:52 2007 UTC
# Line 1280  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB Line 1280  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB
1280    //    //
1281    uptime = (UInt_t)atoll(Row->GetField(2));    uptime = (UInt_t)atoll(Row->GetField(2));
1282    //    //
1283      UInt_t myfromtime = (UInt_t)atoll(Row->GetField(1));
1284      UInt_t mytotime = (UInt_t)atoll(Row->GetField(2));
1285      //
1286    // if it is corrupted validation is 0 and we have no results from the query...    // if it is corrupted validation is 0 and we have no results from the query...
1287    //    //
1288    if( atoi(Row->GetField(4)) == 0 ){ // if validation = 0    if( atoi(Row->GetField(4)) == 0 ){ // if validation = 0
# Line 1301  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB Line 1304  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB
1304      //      //
1305      Row = pResult->Next();      Row = pResult->Next();
1306      //      //
1307        myfromtime = (UInt_t)atoll(Row->GetField(1));
1308        //
1309      };
1310      //
1311      // if the selected calibration is too old (more than 5 orbits old) try to take the closest not corrupted one
1312      //
1313      if ( (time-myfromtime)>28500 ){
1314        //
1315        myquery.str("");
1316        myquery << "select ID_ROOT_L0, FROM_TIME, TO_TIME, EV_ROOT from GL_CALO_CALIB where SECTION=" << section;
1317        myquery << " and VALIDATION=1 ORDER BY ABS(" << time << "-FROM_TIME) asc limit 1;";
1318        if ( !this->GetGLTABLES()->IsConnected(dbc) ) return -57;
1319        this->GetGLTABLES()->AddQ();
1320        pResult = dbc->Query(myquery.str().c_str());
1321        //    printf(" mysquery is %s\n",myquery.str().c_str());
1322        //
1323        // if no results yet quit with error
1324        //
1325        if( !pResult->GetRowCount() ) return (-54);
1326        //
1327        Row = pResult->Next();
1328        //
1329    };    };
1330    //    //
1331    // store infos and exit    // store infos and exit
# Line 1308  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB Line 1333  Int_t GL_CALO_CALIB::Query_GL_CALO_CALIB
1333    if( Row == NULL ) return (-54);    if( Row == NULL ) return (-54);
1334    for( t = 0; t < pResult->GetFieldCount(); t++){    for( t = 0; t < pResult->GetFieldCount(); t++){
1335      if (t==0) ID_ROOT_L0  = (UInt_t)atoll(Row->GetField(t));      if (t==0) ID_ROOT_L0  = (UInt_t)atoll(Row->GetField(t));
1336      if (t==1) FROM_TIME = (UInt_t)atoll(Row->GetField(t));      if (t==1) FROM_TIME = myfromtime;
1337      if (t==2) TO_TIME   = (UInt_t)atoll(Row->GetField(t));                  if (t==2) TO_TIME   = mytotime;          
1338      if (t==3) EV_ROOT = (UInt_t)atoll(Row->GetField(t));      if (t==3) EV_ROOT = (UInt_t)atoll(Row->GetField(t));
1339    };    };
1340    pResult->Delete();    pResult->Delete();

Legend:
Removed from v.1.36  
changed lines
  Added in v.1.37

  ViewVC Help
Powered by ViewVC 1.1.23