/[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.16 by mocchiut, Tue Nov 7 12:17:44 2006 UTC revision 1.18 by mocchiut, Thu Nov 9 16:47:47 2006 UTC
# Line 154  GL_TIMESYNC::GL_TIMESYNC(){ Line 154  GL_TIMESYNC::GL_TIMESYNC(){
154    obtfirst = 0;    obtfirst = 0;
155    pktfirst = 0;    pktfirst = 0;
156    toffset  = 0;    toffset  = 0;
157    ID       = 0;    //  ID       = 0;
158    ID_RAW   = 0;    //  ID_RAW   = 0;
159    OBT0     = 0;    OBT0     = 0;
160    TIMESYNC = 0;    TIMESYNC = 0;
161    TYPE     = 0;    TYPE     = 0;
# Line 1304  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1304  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1304    //    //
1305    // look for Resurs offset    // look for Resurs offset
1306    //    //
1307    UInt_t t0 = 0;    T0 = 0;
1308    //    //
1309    //    //
1310    stringstream oss;    stringstream oss;
1311    oss.str("");    oss.str("");
1312    oss << "SELECT OFFSET_DATE FROM GL_RESURS_OFFSET WHERE SPECIAL_FILE='"    oss << "SELECT YEAR(OFFSET_DATE),MONTH(OFFSET_DATE),DAY(OFFSET_DATE),HOUR(OFFSET_DATE),MINUTE(OFFSET_DATE),SECOND(OFFSET_DATE) FROM GL_RESURS_OFFSET WHERE SPECIAL_FILE='"
1313        << rname.str().c_str() << "';";        << rname.str().c_str() << "';";
   //  if ( IsDebug() ) printf(" %s \n",oss.str().c_str());  
1314    pResult = dbc->Query(oss.str().c_str());    pResult = dbc->Query(oss.str().c_str());
1315    Row = pResult->Next();    Row = pResult->Next();
1316    //    //
# Line 1332  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1331  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1331      };          };    
1332      if ( dwo.IsDigit() ) dworbit = (UInt_t)dwo.Atoi();      if ( dwo.IsDigit() ) dworbit = (UInt_t)dwo.Atoi();
1333    };    };
   // if ( IsDebug() ) printf(" Downlink orbit is %i (dwo = %s) \n",dworbit,dwo.Data());    
1334    //    //
1335    if ( !Row ){    if ( !Row ){
1336      oss.str("");      oss.str("");
1337      oss << "SELECT OFFSET_DATE FROM GL_RESURS_OFFSET WHERE FROM_ORBIT< "      oss << "SELECT YEAR(OFFSET_DATE),MONTH(OFFSET_DATE),DAY(OFFSET_DATE),HOUR(OFFSET_DATE),MINUTE(OFFSET_DATE),SECOND(OFFSET_DATE) FROM GL_RESURS_OFFSET WHERE FROM_ORBIT< "
1338          << dworbit << " order by FROM_ORBIT desc limit 1;";          << dworbit << " order by FROM_ORBIT desc limit 1;";
     //    if ( IsDebug() ) printf(" %s \n",oss.str().c_str());  
1339      pResult = dbc->Query(oss.str().c_str());      pResult = dbc->Query(oss.str().c_str());
1340      Row = pResult->Next();      Row = pResult->Next();
1341      if ( !Row ){      if ( !Row ){
# Line 1347  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr Line 1344  GL_TIMESYNC::GL_TIMESYNC(UInt_t id, TStr
1344      };      };
1345    };    };
1346    //    //
1347    //      TTimeStamp tu = TTimeStamp((UInt_t)atoi(Row->GetField(0)),(UInt_t)atoi(Row->GetField(1)),(UInt_t)atoi(Row->GetField(2)),(UInt_t)atoi(Row->GetField(3)),(UInt_t)atoi(Row->GetField(4)),(UInt_t)atoi(Row->GetField(5)),0,true,0);
1348    TDatime ti = TDatime(Row->GetField(0));    T0 = (UInt_t)tu.GetSec();
   TTimeStamp tu = TTimeStamp((UInt_t)ti.GetYear(),(UInt_t)ti.GetMonth(),(UInt_t)ti.GetDay(),(UInt_t)ti.GetHour(),(UInt_t)ti.GetMinute(),(UInt_t)ti.GetSecond(),0,true,0);  
   t0 = (UInt_t)tu.GetSec();  
1349    //    //
1350    // look for the correct timesync entry    // look for the correct timesync entry
1351    //    //
1352    myquery.str("");    myquery.str("");
1353    myquery << " SELECT OBT0,TIMESYNC FROM GL_TIMESYNC "    myquery << " SELECT OBT0,TIMESYNC,TYPE FROM GL_TIMESYNC "
1354        << " WHERE ID_RAW = " << idraw        << " WHERE ID_RAW = " << idraw
1355        << ";";        << ";";
1356    pResult = dbc->Query(myquery.str().c_str());    pResult = dbc->Query(myquery.str().c_str());
1357    if ( pResult ){    if ( pResult ){
1358      Row = pResult->Next();      Row = pResult->Next();
1359      if ( (Row != NULL) && ((UInt_t)atoll(Row->GetField(0)) > 0 ) ){      if ( (Row != NULL) && ((UInt_t)atoll(Row->GetField(0)) > 0 ) ){
1360        toffset = (UInt_t)atoll(Row->GetField(1)) - (UInt_t)(this->DBobt((UInt_t)atoll(Row->GetField(0)))/1000) + t0;        OBT0 = (UInt_t)atoll(Row->GetField(0));
1361          TIMESYNC = (UInt_t)atoll(Row->GetField(1));
1362          TYPE = (UInt_t)atoll(Row->GetField(2));
1363          toffset = (UInt_t)atoll(Row->GetField(1)) - (UInt_t)(this->DBobt((UInt_t)atoll(Row->GetField(0)))/1000) + T0;
1364      };      };
1365    };    };
1366    //    //
# Line 1381  UInt_t GL_TIMESYNC::DBabsTime(UInt_t OBT Line 1379  UInt_t GL_TIMESYNC::DBabsTime(UInt_t OBT
1379    //    //
1380  };  };
1381    
1382    /**
1383     *
1384     * Returns the Resurs time given the OBT needed to process inclination and orbital infos
1385     *
1386     */
1387    UInt_t GL_TIMESYNC::ResursTime(UInt_t OBT){  
1388      //
1389      return(((UInt_t)((this->DBobt(OBT)-this->DBobt(OBT0))/1000)+TIMESYNC));
1390      //
1391    };
1392    
1393    
1394  ULong64_t GL_TIMESYNC::DBobt(UInt_t obt){    ULong64_t GL_TIMESYNC::DBobt(UInt_t obt){  
1395    //    //

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.23