/[PAMELA software]/eventviewer/flight/src/FEventViewerCore.cpp
ViewVC logotype

Diff of /eventviewer/flight/src/FEventViewerCore.cpp

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

revision 1.1 by mocchiut, Fri Jul 14 14:18:06 2006 UTC revision 1.6 by mocchiut, Tue Mar 20 15:22:01 2007 UTC
# Line 141  void ShowEvent(TString filename="help", Line 141  void ShowEvent(TString filename="help",
141    //    //
142    PAMevcontrol *pamgui = 0;    PAMevcontrol *pamgui = 0;
143    //    //
144    if ( !popup ) {    pamgui = new PAMevcontrol(gClient->GetRoot(),400,800,pamela->var,pamela->level,*figure);
145      pamgui = new PAMevcontrol(gClient->GetRoot(),400,800,pamela->var,pamela->level,*figure);    popup = true;
146      popup = true;    pamela->SetGUIPtr(*pamgui);
147      pamela->SetGUIPtr(*pamgui);    if ( outDir == "" ) outDir = startingdir;    
148    };    //
149      TTree *otr0 = 0;
150      TTree *otr1 = 0;
151      TTree *otr2 = 0;
152      TTree *otr3 = 0;
153      TTree *otr4 = 0;
154      TTree *otr5 = 0;
155      TTree *otr6 = 0;
156      TTree *otr7 = 0;
157      TTree *otr8 = 0;
158      //
159      pamela->var.fl0 = false;
160    //    //
161   restart:   restart:
162    //    //
# Line 157  void ShowEvent(TString filename="help", Line 168  void ShowEvent(TString filename="help",
168    pamela->var.jumpen = false;        pamela->var.jumpen = false;    
169    pamela->var.goon = false;    pamela->var.goon = false;
170    pamela->var.refresh = false;    pamela->var.refresh = false;
   pamela->var.fl0 = false;  
171    pamela->var.alrforc = false;    pamela->var.alrforc = false;
172    //    //
173    // check if we have an input filename    // check if we have an input filename
# Line 201  void ShowEvent(TString filename="help", Line 211  void ShowEvent(TString filename="help",
211    //    //
212   refresh:   refresh:
213    //    //
214    // set selection file variables    // reset pointers
215    //    //
216    pamela->var.selex = true;    TFile *headerFile = 0;
217    selfile = pamela->var.thefilter.Data();    TChain *otr = 0;
218      TTree *L0 = 0;
219    //    //
220    if ( outDir == "" ) outDir = startingdir;        //  gROOT->Reset();
221    //    //
222    if ( pamela->var.fl0 == true ) {    // set selection file variables
223      FORCELEV = 0;    //
224    } else {    if ( pamela->var.refresh ){
225      if ( pamela->var.refresh ) FORCELEV = -1;      if ( pamela->var.selex ){
226          //      pamela->var.selex = true;                               //<<<<<<<<<<<<<<<<<<<<<<<<<<?????????????????????
227          selfile = pamela->var.thefilter.Data();
228        };
229    };    };
230    //    //
231      //
232      //  if ( pamela->var.fl0 == true ) {
233      //    FORCELEV = 0;
234      //  } else {
235      //    if ( pamela->var.refresh ) FORCELEV = -1;           //<<<<<<<<<<<<<<<<<<<<<<<<<<?????????????????????
236      //  };
237      //
238    // check the detectors to be shown    // check the detectors to be shown
239    //    //
240    if ( !pamela->var.refresh ) pamela->checkctrlword();    //  if ( !pamela->var.refresh ) pamela->checkctrlword();
241      //pamela->checkctrlword();
242    //    //
243    // open a dialog if the program is launched without input filename    // open a dialog if the program is launched without input filename
244    //    //
# Line 253  void ShowEvent(TString filename="help", Line 275  void ShowEvent(TString filename="help",
275    // LOAD SELECTION FILE    // LOAD SELECTION FILE
276    //        //    
277    if ( selfile == ""  ){    if ( selfile == ""  ){
278      if ( !pamela->var.selex ) pamgui->DIALOG(0," Selection file unloaded ");      //if ( !pamela->var.selex ) pamgui->DIALOG(0," Selection file unloaded ");
279        if ( pamela->var.selex ) pamgui->DIALOG(0," Selection file unloaded ");
280      pamela->var.selex = false;      pamela->var.selex = false;
281    } else {    } else {
282      //      //
# Line 277  void ShowEvent(TString filename="help", Line 300  void ShowEvent(TString filename="help",
300      //      //
301      Int_t chkload = gROOT->LoadMacro(selfile);      Int_t chkload = gROOT->LoadMacro(selfile);
302      //      //
303        pamela->var.selex = false;
304        //
305      if ( chkload ){      if ( chkload ){
306        //        //
307        // not able to open the selection file        // not able to open the selection file
# Line 290  void ShowEvent(TString filename="help", Line 315  void ShowEvent(TString filename="help",
315        pamela->var.selex = false;        pamela->var.selex = false;
316        printf("\n WARNING! no selection file loaded! \n\n");        printf("\n WARNING! no selection file loaded! \n\n");
317        pamgui->DIALOG(1," No selection file loaded! ");        pamgui->DIALOG(1," No selection file loaded! ");
318          selfile = "";
319        //        //
320        // clear field in the GUI        // clear field in the GUI
321        //        //
# Line 309  void ShowEvent(TString filename="help", Line 335  void ShowEvent(TString filename="help",
335    //  LOAD FILES        //  LOAD FILES    
336    //    //
337    //    //
338    TFile *headerFile = 0;  //   if ( headerFile ) headerFile->Close();
339    TTree *otr = 0;  //   if ( otr ) otr->Delete();
340    //   if ( L0 ) L0->Delete();
341    
342    //    //
343    // check if user has given as input a correct path    // check if user has given as input a correct path
344    //    //
345    ifstream myfile;    ifstream myfile;
346    myfile.open(filename.Data());    myfile.open(filename.Data());
347    if ( !myfile ){    if ( !myfile ){
348      printf("ERROR: no such file, exiting...\n");      if ( filename != "" ){
349      stringstream hfile;        printf("ERROR: no such file, exiting...\n");
350      hfile.str("");        stringstream hfile;
351      hfile << filename.Data();        hfile.str("");
352      hfile << " : no such file! ";        hfile << filename.Data();
353      pamgui->DIALOG(2,hfile.str().c_str());        hfile << " : no such file! ";
354          pamgui->DIALOG(2,hfile.str().c_str());
355        };
356      pamela->var.waitforever = true;      pamela->var.waitforever = true;
357      goto refresh;      goto refresh;
358    };    };
# Line 331  void ShowEvent(TString filename="help", Line 361  void ShowEvent(TString filename="help",
361    // ok, open file and determine if it is a YODA or DARTHVADER file    // ok, open file and determine if it is a YODA or DARTHVADER file
362    //    //
363    headerFile=new TFile(filename.Data());    headerFile=new TFile(filename.Data());
364    if ( FORCELEV == 0 ){     if ( FORCELEV == 0 ){
365      pamela->level.file = 0;      pamela->level.file = 0;
366      otr = (TTree*)headerFile->Get("Physics");      L0 = (TTree*)headerFile->Get("Physics");
367      if ( !otr ){      if ( !L0 ){
368        printf("ERROR: no Physics tree...\n");        printf("ERROR: no Physics tree...\n");
369        pamgui->DIALOG(2,"No Physics tree in this file");        pamgui->DIALOG(2,"No Physics tree in this file");
370        pamela->var.waitforever = true;        pamela->var.waitforever = true;
# Line 342  void ShowEvent(TString filename="help", Line 372  void ShowEvent(TString filename="help",
372      }      }
373    } else {    } else {
374      pamela->level.file = 2;      pamela->level.file = 2;
375      otr = (TTree*)headerFile->Get("Trigger");      otr0 = (TTree*)headerFile->Get("Trigger");
376      if ( !otr ){      otr1 = (TTree*)headerFile->Get("Calorimeter");
377        otr = (TTree*)headerFile->Get("Physics");            otr2 = (TTree*)headerFile->Get("Tracker");
378        otr3 = (TTree*)headerFile->Get("NeutronD");
379        otr4 = (TTree*)headerFile->Get("OrbitalInfo");
380        otr5 = (TTree*)headerFile->Get("S4");
381        otr6 = (TTree*)headerFile->Get("ToF");
382        otr7 = (TTree*)headerFile->Get("Run");
383        otr8 = (TTree*)headerFile->Get("Anticounter");
384        if ( !otr0 && !otr1 && !otr2 && !otr3 && !otr4 && !otr5 && !otr6 && !otr7 && !otr8 ){
385          L0 = (TTree*)headerFile->Get("Physics");      
386        pamela->level.file = -1;        pamela->level.file = -1;
387        } else {
388          stringstream dddec;
389          dddec.str("");
390          dddec << " +ALL +RUN +CAL1 -TRKh -TRK1 ";
391          if ( !otr0 ){
392            dddec << " -TRG ";
393            pamela->var.TRG = 0;
394            otr0 = otr1;
395          };
396          if ( !otr1 ){
397            dddec << " -CAL ";
398            pamela->var.CALO = 0;
399            if ( !otr0 ) otr0 = otr2;
400          };
401          if ( !otr2 ){
402            dddec << " -TRK2 -TRK ";
403            pamela->var.TRK = 0;
404            if ( !otr0 ) otr0 = otr3;
405          };
406          if ( !otr3 ){
407            dddec << " -ND ";
408            pamela->var.ND = 0;
409            if ( !otr0 ) otr0 = otr4;
410          };
411          if ( !otr4 ){
412            dddec << " -ORB ";
413            pamela->var.ORB = 0;
414            if ( !otr0 ) otr0 = otr5;
415          };
416          if ( !otr5 ){
417            dddec << " -S4 ";
418            pamela->var.S4 = 0;
419            if ( !otr0 ) otr0 = otr6;
420          };
421          if ( !otr6 ){
422            dddec << " -TOF ";
423            pamela->var.TOF = 0;
424            if ( !otr0 ) otr0 = otr8;
425          };
426          if ( !otr7 ){
427            dddec << " -RUN ";
428            pamela->var.RUN = 0;
429          };
430          if ( !otr8 ){
431            dddec << " -AC ";
432            pamela->var.AC = 0;
433          };
434          pamela->SetDDEC(dddec.str().c_str());
435      };      };
436      if ( !otr ){      if ( !otr0 && !otr1 && !otr2 && !otr3 && !otr4 && !otr5 && !otr6 && !otr7 && !otr8 && !L0 ){
437        pamela->level.file = -1;        pamela->level.file = -1;
438        printf("ERROR: nor Physics nor Run tree...\n");        printf("ERROR: nor Physics nor Run tree...\n");
439        pamgui->DIALOG(2,"Nor Physics nor Run tree in this file");        pamgui->DIALOG(2,"Nor Physics nor Run tree in this file");
# Line 368  void ShowEvent(TString filename="help", Line 454  void ShowEvent(TString filename="help",
454    //    //
455    // Load the file    // Load the file
456    //    //
457    pamela->Load(*otr,*headerFile);    if ( otr0 || L0 ){
458        otr = pamela->Load(*headerFile);
459        if ( !otr ){
460          pamela->level.file = -1;
461          printf("ERROR: problems opening file...\n");
462          pamgui->DIALOG(2,"Problems opening file");
463          pamela->var.waitforever = true;
464          goto refresh;
465        };
466      } else {
467        pamela->level.file = -1;
468        printf("ERROR: problems with TTree while opening file...\n");
469        pamgui->DIALOG(2,"Problems opening file");
470        pamela->var.waitforever = true;
471        goto refresh;
472      };
473    //    //
474    printf("\n");    printf("\n");
475    //    //
476    // get the number of entries    // get the number of entries
477    //    //
478      //  otr = pamela->GetChain();
479      if ( !otr ) printf(" AGH! \n");
480      //
481    Long64_t nevents = otr->GetEntries();    Long64_t nevents = otr->GetEntries();
482    printf(" The file contains %i physics events \n",(int)nevents);    printf(" The file contains %i physics events \n",(int)nevents);
483    //    //
# Line 403  void ShowEvent(TString filename="help", Line 507  void ShowEvent(TString filename="help",
507    if ( !pamela->var.refresh ) i = pamela->minevent;    if ( !pamela->var.refresh ) i = pamela->minevent;
508    pamela->var.refresh = false;    pamela->var.refresh = false;
509    //    //
510      pamgui->RefreshButtons();
511      //
512    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
513    //  MAIN LOOP STARTS HERE:    //  MAIN LOOP STARTS HERE:
514    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
# Line 489  void ShowEvent(TString filename="help", Line 595  void ShowEvent(TString filename="help",
595        figsave << (pamela->var.i+1);        figsave << (pamela->var.i+1);
596        figsave << bw;        figsave << bw;
597        pamela->var.svas=figsave.str().c_str();        pamela->var.svas=figsave.str().c_str();
598    
599          //      printf(" qua %s \n",figsave.str().c_str());
600        //        //
601        // upgrade the figure filename in the GUI        // upgrade the figure filename in the GUI
602        //        //
# Line 509  void ShowEvent(TString filename="help", Line 617  void ShowEvent(TString filename="help",
617        //        //
618        pamela->var.goon = false;        pamela->var.goon = false;
619        if ( pamela->var.refresh || pamela->var.restart ){        if ( pamela->var.refresh || pamela->var.restart ){
620          headerFile->Close();          if ( pamela->GetL2() ) pamela->GetL2()->Clear();
621            if ( pamela->level.file != 2 ) pamela->GetChain()->Delete();
622            if ( headerFile ) headerFile->Close("R");
623          if ( pamela->var.refresh ) goto refresh;          if ( pamela->var.refresh ) goto refresh;
624          if ( pamela->var.restart ){          if ( pamela->var.restart ){
625            filename = pamela->var.thefilename.Data();            filename = pamela->var.thefilename.Data();

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.23