/[PAMELA software]/DarthVader/src/R2-D2.cpp
ViewVC logotype

Diff of /DarthVader/src/R2-D2.cpp

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

revision 1.8 by mocchiut, Tue Sep 19 09:17:50 2006 UTC revision 1.10 by mocchiut, Mon Sep 25 11:49:39 2006 UTC
# Line 30  void r2d2usage(){ Line 30  void r2d2usage(){
30    printf("\n --version       print informations about compilation and exit\n");    printf("\n --version       print informations about compilation and exit\n");
31    printf("\n -h | --help     print this help and exit \n");    printf("\n -h | --help     print this help and exit \n");
32    printf("\n -v | --verbose  be verbose [default: print nothing on STDOUT]\n");    printf("\n -v | --verbose  be verbose [default: print nothing on STDOUT]\n");
33    printf("\n -idRun          ID_RUN: ID number of the run \n");    printf("\n -idRun run      ID_RUN: ID number of the run \n");
34    printf("\n -filename       output yoda filename \n");    printf("\n -filename file  output yoda filename \n");
35    printf("\n -host           name for the host [default = $PAM_DBHOST or mysql://localhost/pamelaprod]\n");    printf("\n -host           name for the host [default = $PAM_DBHOST or mysql://localhost/pamelaprod]\n");
36    printf("\n -user           username for the DB [default = $PAM_DBUSER or \"anonymous\"] \n");    printf("\n -user           username for the DB [default = $PAM_DBUSER or \"anonymous\"] \n");
37    printf("\n -psw            password for the DB [default = $PAM_DBPSW or \"\"]\n");    printf("\n -psw            password for the DB [default = $PAM_DBPSW or \"\"]\n");
# Line 39  void r2d2usage(){ Line 39  void r2d2usage(){
39    printf("\n -convert dbtime convert the dbtime given in seconds (from the DB) to a string\n");    printf("\n -convert dbtime convert the dbtime given in seconds (from the DB) to a string\n");
40    printf("\n -runat time     returns run number which contains the given date,\n");    printf("\n -runat time     returns run number which contains the given date,\n");
41    printf("\n                 for time use the SQL format \"yyyy-mm-dd hh:mm:ss\" \n");    printf("\n                 for time use the SQL format \"yyyy-mm-dd hh:mm:ss\" \n");
42      printf("\n -tsfile file    yoda filename for the time sync (to be used with -obt)\n");
43      printf("\n -obt OBT        OBT in ms returns a date (to be used with -tsfile)\n");
44    printf("\nExamples: \n");    printf("\nExamples: \n");
45    printf("\n R2-D2 -idRun 1085 \n");    printf("\n R2-D2 -idRun 1085 \n");
46    printf("\n R2-D2 -filename DW_050208_00900.root \n");    printf("\n R2-D2 -filename DW_050208_00900.root \n");
# Line 75  int main(int numinp, char *inps[]){ Line 77  int main(int numinp, char *inps[]){
77    //    //
78    //  printf(" host %s user %s psw %s \n",host.Data(),user.Data(),psw.Data());    //  printf(" host %s user %s psw %s \n",host.Data(),user.Data(),psw.Data());
79    //    //
80    TString tzone = "MSK";    TString tzone = "UTC";
81    TString runtime = "1970-01-01 00:00:00";    TString runtime = "1970-01-01 00:00:00";
82    UInt_t dbti = 0;    UInt_t dbti = 0;
83    Bool_t convert = false;    Bool_t convert = false;
84    Bool_t ruti = false;    Bool_t ruti = false;
85      Bool_t convobt = false;
86      Bool_t convobtts = false;
87      //
88      UInt_t obt = 0;
89      TString tsfile = "";
90    //    //
91    TSQLResult *pResult;    TSQLResult *pResult;
92    TSQLRow *Row;    TSQLRow *Row;
# Line 136  int main(int numinp, char *inps[]){ Line 143  int main(int numinp, char *inps[]){
143          psw = (TString)inps[i+1];                psw = (TString)inps[i+1];      
144        };        };
145        //        //
146          if ( !strcmp(inps[i],"-tsfile") ) {
147            convobtts = true;
148            if ( numinp-1 < i+1 ){
149              r2d2usage();
150              exit(-3);
151            };
152            tsfile = (TString)inps[i+1];    
153          };
154          //
155          if ( !strcmp(inps[i],"-obt") ) {
156            convobt = true;
157            if ( numinp-1 < i+1 ){
158              r2d2usage();
159              exit(-3);
160            };
161            obt = (UInt_t)atoll(inps[i+1]);
162          };
163          //
164          //
165        if ( !strcmp(inps[i],"-tzone") ) {        if ( !strcmp(inps[i],"-tzone") ) {
166          if ( numinp-1 < i+1 ){          if ( numinp-1 < i+1 ){
167            r2d2usage();            r2d2usage();
# Line 195  int main(int numinp, char *inps[]){ Line 221  int main(int numinp, char *inps[]){
221      printf("\n DB time %u is %s %s \n",dbti,dbtime->ConvertTime(tzone,dbti).Data(),tzone.Data());      printf("\n DB time %u is %s %s \n",dbti,dbtime->ConvertTime(tzone,dbti).Data(),tzone.Data());
222    };    };
223    //    //
224      //
225      //
226      if ( convobt && convobtts ){
227        UInt_t id = 0;
228        myquery.str("");
229        myquery << "select ";
230        myquery << " ID";
231        myquery << " from GL_ROOT where NAME=\"" << tsfile.Data() << "\";";    
232        pResult = dbc->Query(myquery.str().c_str());
233        if ( pResult ){
234          Row = pResult->Next();      
235          if ( Row ){
236            id = (UInt_t)atoll(Row->GetField(0));
237            delete pResult;      
238            GL_TIMESYNC *ctime = new GL_TIMESYNC(id,"ID",dbc);
239            UInt_t abtime = ctime->DBabsTime(obt);
240            TString UTC="UTC";
241            TString thetime = dbtime->ConvertTime(tzone,abtime);
242            printf("\n OBT %u in the file %s corresponds to DBtime %u and date %s %s \n",obt,tsfile.Data(),abtime,thetime.Data(),tzone.Data());
243            delete ctime;
244          };
245        };
246      };
247      if ( (convobt && !convobtts) || (convobtts && !convobt) ){
248        printf("\n To convert a OBT to a date you must provide both OBT and file to be used for time sync \n");
249      };
250      //
251    // Which run contains the date "runtime"?    // Which run contains the date "runtime"?
252    //    //
253    if ( ruti ){    if ( ruti ){

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.23