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

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

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

revision 1.3 by mocchiut, Tue Mar 20 12:49:56 2007 UTC revision 1.6 by mocchiut, Thu Nov 8 14:00:53 2007 UTC
# Line 46  char* operator+( std::streampos&, char* Line 46  char* operator+( std::streampos&, char*
46  #include <TArrow.h>  #include <TArrow.h>
47  #include <TStyle.h>  #include <TStyle.h>
48  //  //
49    #include <PamLevel2.h>
50    //
51  #include <FEVpamevcontrol.h>  #include <FEVpamevcontrol.h>
52  //  //
53  ClassImp(PAMevcontrol);  ClassImp(PAMevcontrol);
# Line 265  PAMevcontrol::PAMevcontrol(const TGWindo Line 267  PAMevcontrol::PAMevcontrol(const TGWindo
267    // Software infos    // Software infos
268    //    //
269    fshowsi = new TGTextButton(hframedec[9], "Show Data");      fshowsi = new TGTextButton(hframedec[9], "Show Data");  
270    fshowsi->Connect("Clicked()","PAMevcontrol", this,"showorbdata()");    fshowsi->Connect("Clicked()","PAMevcontrol", this,"showsidata()");
271    if ( !cvar->RUN ) fshoworb->SetState(kButtonDisabled);    if ( !cvar->RUN ) fshoworb->SetState(kButtonDisabled);
272    hframedec[9]->AddFrame(fshoworb, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));    hframedec[9]->AddFrame(fshoworb, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
273    //    //
274    // All data    // All data
275    //    //
276    fshowall = new TGTextButton(hframedec[10], "Show Data");      fshowall = new TGTextButton(hframedec[10], "Show Data");  
277    fshowall->Connect("Clicked()","PAMevcontrol", this,"showorbdata()");    fshowall->Connect("Clicked()","PAMevcontrol", this,"showalldata()");
278    hframedec[10]->AddFrame(fshowall, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));    hframedec[10]->AddFrame(fshowall, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
279    //    //
280    //  for (Int_t fr=0; fr<11; fr++) gf->AddFrame(hframedec[fr], new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,1,1,1,1));    //  for (Int_t fr=0; fr<11; fr++) gf->AddFrame(hframedec[fr], new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,1,1,1,1));
# Line 308  PAMevcontrol::PAMevcontrol(const TGWindo Line 310  PAMevcontrol::PAMevcontrol(const TGWindo
310    };    };
311    bwc0->Connect("Pressed()", "PAMevcontrol",this,"radiocolor()");    bwc0->Connect("Pressed()", "PAMevcontrol",this,"radiocolor()");
312    bwc1->Connect("Pressed()", "PAMevcontrol",this,"radiobw()");    bwc1->Connect("Pressed()", "PAMevcontrol",this,"radiobw()");
313    hframe4->AddFrame(group,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,1,5,5,5));    hframe4->AddFrame(group,new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
314    //    //
315    //    //
316    ftrks4 = new TGCheckButton(hframe5, "Track in S4/ND");      //  ftrks4 = new TGCheckButton(hframe5, "Track in S4/ND");  
317    ftrks4->Connect("Clicked()","PAMevcontrol",this,"radiotrack()");      //  ftrks4->Connect("Clicked()","PAMevcontrol",this,"radiotrack()");  
318    if ( cvar->tracknds4) ftrks4->SetState(kButtonDown);    //  if ( cvar->tracknds4) ftrks4->SetState(kButtonDown);
319    hframe5->AddFrame(ftrks4, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));    //  hframe5->AddFrame(ftrks4, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));
320    ffl0 = new TGCheckButton(hframe5, "Force LEVEL0");  
321      fgetl0 = new TGTextButton(hframe5, "Get L0 file");  
322      fgetl0->Connect("Clicked()","PAMevcontrol", this,"getl0file()");
323      hframe5->AddFrame(fgetl0, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,5,5,5));
324    
325      ffl0 = new TGCheckButton(hframe5, "Force RAW");
326    ffl0->Connect("Clicked()","PAMevcontrol",this,"forcel0()");    ffl0->Connect("Clicked()","PAMevcontrol",this,"forcel0()");
327    if ( cvar->fl0 ) ffl0->SetState(kButtonDown);    if ( cvar->fl0 ) ffl0->SetState(kButtonDown);
328    if ( !cvar->fl0 ) ffl0->SetState(kButtonUp);    if ( !cvar->fl0 ) ffl0->SetState(kButtonUp);
329    hframe5->AddFrame(ffl0, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,5,2,5,5));    hframe5->AddFrame(ffl0, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,2,5,5,5));
330    //    //
331    hframe4->AddFrame(hframe5, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,10,5,5,5));    hframe4->AddFrame(hframe5, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsCenterY|kLHintsExpandX,10,5,5,5));
332    gf2->AddFrame(hframe4, new TGLayoutHints(kLHintsExpandX));    gf2->AddFrame(hframe4, new TGLayoutHints(kLHintsExpandX));
# Line 469  void PAMevcontrol::refreshdec(Int_t n){ Line 476  void PAMevcontrol::refreshdec(Int_t n){
476    
477    
478  void PAMevcontrol::showorbdata(){  void PAMevcontrol::showorbdata(){
479    printf("orb \n");    cvar->showorb = !cvar->showorb;
480      if ( !cvar->showorb ) fshoworb->SetText("Show Data");
481      if ( cvar->showorb ) fshoworb->SetText("Hide Data");
482      //  printf("orb \n");
483  };  };
484    
485  void PAMevcontrol::showtrgdata(){  void PAMevcontrol::showtrgdata(){
486    printf("trg \n");    cvar->showtrg = !cvar->showtrg;
487      if ( !cvar->showtrg ) fshowtrg->SetText("Show Data");
488      if ( cvar->showtrg ) fshowtrg->SetText("Hide Data");
489      //  printf("trg \n");
490  };  };
491    
492  void PAMevcontrol::showrundata(){  void PAMevcontrol::showrundata(){
493    printf("run \n");    cvar->showrun = !cvar->showrun;
494      if ( !cvar->showrun ) fshowrun->SetText("Show Data");
495      if ( cvar->showrun ) fshowrun->SetText("Hide Data");
496      //  printf("run \n");
497  };  };
498    
499  void PAMevcontrol::showcaldata(){  void PAMevcontrol::showcaldata(){
500    printf("cal \n");    cvar->showcal = !cvar->showcal;
501      if ( !cvar->showcal ) fshowcal->SetText("Show Data");
502      if ( cvar->showcal ) fshowcal->SetText("Hide Data");
503      //  printf("cal \n");
504  };  };
505    
506  void PAMevcontrol::chkcalost(){  void PAMevcontrol::chkcalost(){
507    if ( cvar->CALO ) {    if ( cvar->CALOT ) {
508      cvar->CALO = 0;      cvar->CALOT = 0;
509    } else {    } else {
510      cvar->CALO = 1;      cvar->CALOT = 1;
511    };    };
512    cvar->i--;    cvar->i--;
513    cvar->nevents = 0;    cvar->nevents = 0;
# Line 498  void PAMevcontrol::chkcalost(){ Line 517  void PAMevcontrol::chkcalost(){
517  };  };
518    
519  void PAMevcontrol::showtrkdata(){  void PAMevcontrol::showtrkdata(){
520    printf("trk \n");    cvar->showtrk = !cvar->showtrk;
521      if ( !cvar->showtrk ) fshowtrk->SetText("Show Data");
522      if ( cvar->showtrk ) fshowtrk->SetText("Hide Data");
523      //  printf("trk \n");
524  };  };
525    
526  void PAMevcontrol::showtofdata(){  void PAMevcontrol::showtofdata(){
527    printf("tof \n");    cvar->showtof = !cvar->showtof;
528      if ( !cvar->showtof ) fshowtof->SetText("Show Data");
529      if ( cvar->showtof ) fshowtof->SetText("Hide Data");
530      //  printf("tof \n");
531  };  };
532    
533  void PAMevcontrol::showacdata(){  void PAMevcontrol::showacdata(){
534    printf("ac \n");    cvar->showac = !cvar->showac;
535      if ( !cvar->showac ) fshowac->SetText("Show Data");
536      if ( cvar->showac ) fshowac->SetText("Hide Data");
537      //  printf("ac \n");
538  };  };
539    
540  void PAMevcontrol::shownddata(){  void PAMevcontrol::shownddata(){
541    printf("nd \n");    cvar->shownd = !cvar->shownd;
542      if ( !cvar->shownd ) fshownd->SetText("Show Data");
543      if ( cvar->shownd ) fshownd->SetText("Hide Data");
544      //  printf("nd \n");
545  };  };
546    
547  void PAMevcontrol::shows4data(){  void PAMevcontrol::shows4data(){
548    printf("s4 \n");    cvar->shows4 = !cvar->shows4;
549      if ( !cvar->shows4 ) fshows4->SetText("Show Data");
550      if ( cvar->shows4 ) fshows4->SetText("Hide Data");
551      //  printf("s4 \n");
552  };  };
553    
554  void PAMevcontrol::showsidata(){  void PAMevcontrol::showsidata(){
555    printf("si \n");    cvar->showsi = !cvar->showsi;
556      if ( !cvar->showsi ) fshowsi->SetText("Show Data");
557      if ( cvar->showsi ) fshowsi->SetText("Hide Data");
558      //  printf("si \n");
559  };  };
560    
561  void PAMevcontrol::showalldata(){  void PAMevcontrol::showalldata(){
562    printf("all \n");    cvar->showall = !cvar->showall;
563      if ( !cvar->showall ) fshowall->SetText("Show Data");
564      if ( cvar->showall ) fshowall->SetText("Hide Data");
565      //  printf("all \n");
566  };  };
567    
568  void PAMevcontrol::SetFilename() {  void PAMevcontrol::SetFilename() {
# Line 540  void PAMevcontrol::SetFilename() { Line 580  void PAMevcontrol::SetFilename() {
580      cvar->waitforever = false;      cvar->waitforever = false;
581  }  }
582    
583    void PAMevcontrol::getl0file() {
584      //
585      TString host = "mysql://localhost/pamelaprod";
586      TString user = "anonymous";
587      TString psw = "";
588      const char *pamdbhost=gSystem->Getenv("PAM_DBHOST");
589      const char *pamdbuser=gSystem->Getenv("PAM_DBUSER");
590      const char *pamdbpsw=gSystem->Getenv("PAM_DBPSW");
591      if ( !pamdbhost ) pamdbhost = "";
592      if ( !pamdbuser ) pamdbuser = "";
593      if ( !pamdbpsw ) pamdbpsw = "";
594      if ( strcmp(pamdbhost,"") ) host = pamdbhost;
595      if ( strcmp(pamdbuser,"") ) user = pamdbuser;
596      if ( strcmp(pamdbpsw,"") ) psw = pamdbpsw;
597      cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
598      cout<<"Connecting to DB"<<endl;
599      cout<<"HOST "<<host<<endl;
600      cout<<"USER "<<user<<endl;
601      cout<<"PSW  "<<psw<<endl;
602      cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
603      TSQLServer *dbc = TSQLServer::Connect(host.Data(),user.Data(),psw.Data());
604      //
605      TSQLResult *pResult;
606      TSQLRow *Row;
607      //
608      if( dbc && dbc->IsConnected() ){
609        //
610        // Retrieve the file
611        //
612        if ( clev->file == 2 ){
613          //
614          // Starting from level2
615          //
616          GL_ROOT glroot = GL_ROOT();
617          if( !glroot.Query_GL_ROOT(cvar->idroot,dbc) ){
618            //
619            cvar->thefilename= glroot.PATH + glroot.NAME;
620            cvar->nevents = 0;
621            cvar->firstevno = 0;
622            cvar->lastevno = 0;
623            if ( cvar->fl0 ) {
624              cvar->fl0 = false;
625              ffl0->SetState(kButtonUp);
626            };
627            cvar->restart = true;
628            cvar->waitforever = false;
629            //
630            if ( cvar->thefilter != "" ){
631              cvar->thefilter="";
632              cvar->selex = true;
633            };
634            cvar->i = cvar->EVF + cvar->i ;
635            //cvar->refresh = true;
636            //      cvar->file = 0;
637            //
638          } else {  
639            stringstream warning;
640            warning.str("");
641            warning << " Problems getting Level0 file ";
642            DIALOG(2,warning.str().c_str());
643          };
644        } else {      
645          //
646          // starting from L0
647          //
648          stringstream query;
649          query.str("");
650          query << " SELECT ID FROM GL_ROOT WHERE NAME='"<< gSystem->BaseName(cvar->thefilename.Data()) <<"' order by INSERT_TIME desc limit 1;";
651          //      printf(" query is %s \n",query.str().c_str());
652          pResult = dbc->Query(query.str().c_str());
653          Row = pResult->Next();      
654          UInt_t idrl0 = 0;
655          if ( Row ){
656            idrl0 = (UInt_t)atoll(Row->GetField(0));
657          };
658          //
659          query.str("");
660          query << " SELECT ID,ID_ROOT_L2,EV_FROM FROM GL_RUN WHERE EV_FROM<="<<cvar->i<<" AND EV_TO>="<< cvar->i<<" AND ID_ROOT_L0="<< idrl0 <<";";
661          //      printf(" query is %s \n",query.str().c_str());
662          pResult = dbc->Query(query.str().c_str());
663          Row = pResult->Next();      
664          UInt_t idrl2 = 0;
665          UInt_t idrlun = 0;
666          UInt_t evfrom = 0;
667          if ( Row ){
668            idrlun = (UInt_t)atoll(Row->GetField(0));
669            idrl2 = (UInt_t)atoll(Row->GetField(1));
670            evfrom = (UInt_t)atoll(Row->GetField(2));
671          };
672          //
673          query.str("");
674          query << " SELECT ID,NEVENTS FROM GL_RUN WHERE ID_ROOT_L2="<< idrl2 <<" order by RUNHEADER_TIME asc;";
675          //      printf(" query is %s \n",query.str().c_str());
676          pResult = dbc->Query(query.str().c_str());
677          Row = pResult->Next();      
678          UInt_t coren = 0;
679          while ( Row ){
680            if ( (UInt_t)atoll(Row->GetField(0)) == idrlun ) break;
681            coren += (UInt_t)atoll(Row->GetField(1));
682            Row = pResult->Next();      
683          };
684          coren += cvar->i - evfrom;
685          //
686          GL_ROOT glroot = GL_ROOT();
687          if( !glroot.Query_GL_ROOT(idrl2,dbc) ){
688            //
689            cvar->i = coren;
690            //
691            cvar->thefilename= glroot.PATH + glroot.NAME;
692            cvar->nevents = 0;
693            cvar->firstevno = 0;
694            cvar->lastevno = 0;
695            if ( cvar->fl0 ) {
696              cvar->fl0 = false;
697              ffl0->SetState(kButtonUp);
698            };
699            cvar->restart = true;
700            cvar->waitforever = false;
701            //
702            if ( cvar->thefilter != "" ){
703              cvar->thefilter="";
704              cvar->selex = true;
705            };
706            //
707          } else {  
708            stringstream warning;
709            warning.str("");
710            warning << " Problems getting Level2 file ";
711            DIALOG(2,warning.str().c_str());
712          };
713          //      stringstream warning;
714          //      warning.str("");
715          //      warning << " Not yet implemented ";
716          //      DIALOG(2,warning.str().c_str());
717        };
718        //
719      } else {
720        stringstream warning;
721        warning.str("");
722        warning << " Problems connectiong to DB! ";
723        DIALOG(2,warning.str().c_str());
724      };
725      dbc->Close();
726    };
727    
728  void PAMevcontrol::CheckLevel() {  void PAMevcontrol::CheckLevel() {
729    if ( clev->file == 2 ){    if ( clev->file == 2 ){
730      ffl0->SetState(kButtonDisabled);      ffl0->SetState(kButtonDisabled);
731      if ( !cvar->tracknds4 ) {  //     if ( !cvar->tracknds4 ) {
732        ftrks4->SetState(kButtonUp);  //       ftrks4->SetState(kButtonUp);
733      } else {  //     } else {
734        ftrks4->SetState(kButtonDown);  //       ftrks4->SetState(kButtonDown);
735      };  //     };
736    } else {        } else {    
737      ftrks4->SetState(kButtonDisabled);      //ftrks4->SetState(kButtonDisabled);
738      if ( !cvar->fl0 ) {      if ( !cvar->fl0 ) {
739        ffl0->SetState(kButtonUp);        ffl0->SetState(kButtonUp);
740      } else {      } else {
741        ffl0->SetState(kButtonDown);            ffl0->SetState(kButtonDown);    
742      };      };
743    };    };
744      if ( clev->file == 2 ){
745        fgetl0->SetText("Get L0 file");
746      } else {
747        fgetl0->SetText("Get L2 file");
748      };
749  }  }
750    
751  void PAMevcontrol::SetSearching() {  void PAMevcontrol::SetSearching() {
# Line 577  void PAMevcontrol::RefreshButtons() { Line 767  void PAMevcontrol::RefreshButtons() {
767    } else {    } else {
768      ffl0->SetState(kButtonUp);      ffl0->SetState(kButtonUp);
769    };    };
770    if ( cvar->tracknds4) ftrks4->SetState(kButtonDown);    //  if ( cvar->tracknds4) ftrks4->SetState(kButtonDown);
771    if ( cvar->bw ){    if ( cvar->bw ){
772      bwc1->SetState(kButtonDown);      bwc1->SetState(kButtonDown);
773    } else {    } else {
# Line 586  void PAMevcontrol::RefreshButtons() { Line 776  void PAMevcontrol::RefreshButtons() {
776    if ( cvar->PALETTE) fchkpalette->SetState(kButtonDown); else fchkpalette->SetState(kButtonUp);    if ( cvar->PALETTE) fchkpalette->SetState(kButtonDown); else fchkpalette->SetState(kButtonUp);
777    if ( cvar->VINFOS ) fchknames->SetState(kButtonDown); else fchknames->SetState(kButtonUp);    if ( cvar->VINFOS ) fchknames->SetState(kButtonDown); else fchknames->SetState(kButtonUp);
778    if ( cvar->INFOS ) fchkinfo->SetState(kButtonDown); else fchkinfo->SetState(kButtonUp);    if ( cvar->INFOS ) fchkinfo->SetState(kButtonDown); else fchkinfo->SetState(kButtonUp);
779    if ( cvar->CALO ) fchkcalo->SetState(kButtonDown); else fchkcalo->SetState(kButtonUp);    //
780    if ( cvar->CALOT ) fchkcalost->SetState(kButtonDown); else fchkcalost->SetState(kButtonUp);    if ( cvar->CALOT ) fchkcalost->SetState(kButtonDown); else fchkcalost->SetState(kButtonUp);
781    if ( cvar->ND ) fchknd->SetState(kButtonDown); else fchknd->SetState(kButtonUp);    if ( cvar->CALO ){
782    if ( cvar->S4 ) fchks4->SetState(kButtonDown); else fchks4->SetState(kButtonUp);      fchkcalo->SetState(kButtonDown);
783    if ( cvar->TRK ) fchktrk->SetState(kButtonDown); else fchktrk->SetState(kButtonUp);      fshowcal->SetState(kButtonUp);    
784    if ( cvar->AC ) fchkac->SetState(kButtonDown); else fchkac->SetState(kButtonUp);    } else {
785    if ( cvar->TOF ) fchktof->SetState(kButtonDown); else fchktof->SetState(kButtonUp);      fchkcalo->SetState(kButtonUp);
786        fchkcalost->SetState(kButtonDisabled);
787        fshowcal->SetState(kButtonDisabled);    
788      };
789      //
790      if ( cvar->ND ){
791        fchknd->SetState(kButtonDown);
792        fshownd->SetState(kButtonUp);
793      } else {
794        fchknd->SetState(kButtonUp);
795        fshownd->SetState(kButtonDisabled);
796      };
797      //
798      if ( cvar->S4 ){
799        fchks4->SetState(kButtonDown);
800        fshows4->SetState(kButtonUp);
801      } else {
802        fchks4->SetState(kButtonUp);
803        fshows4->SetState(kButtonDisabled);
804      };
805      //
806      if ( cvar->TRK ){
807        fchktrk->SetState(kButtonDown);
808        fshowtrk->SetState(kButtonUp);
809      } else {
810        fchktrk->SetState(kButtonUp);
811        fshowtrk->SetState(kButtonDisabled);
812      }
813      //
814      if ( cvar->AC ){
815        fchkac->SetState(kButtonDown);
816        fshowac->SetState(kButtonUp);
817      } else {
818        fchkac->SetState(kButtonUp);
819        fshowac->SetState(kButtonDisabled);
820      };
821      //
822      if ( cvar->TOF ){
823        fchktof->SetState(kButtonDown);
824        fshowtof->SetState(kButtonUp);
825      } else {
826        fchktof->SetState(kButtonUp);
827        fshowtof->SetState(kButtonDisabled);
828      };
829      //
830      CheckLevel();
831      //
832  };  };
833    
834  void PAMevcontrol::SetFilter() {  void PAMevcontrol::SetFilter() {
# Line 775  void PAMevcontrol::increment(float val) Line 1011  void PAMevcontrol::increment(float val)
1011  }  }
1012    
1013  void PAMevcontrol::forcel0() {  void PAMevcontrol::forcel0() {
1014      if ( cvar->fl0 ) {    cvar->fl0 = !cvar->fl0;
1015          cvar->fl0 = false;    cvar->alrforc = false;
1016      } else {    cvar->i--;
1017          cvar->fl0 = true;    cvar->nevents = 0;
1018      };    cvar->firstevno = 0;
1019      cvar->alrforc = false;    cvar->lastevno = 0;
1020      cvar->i--;    cvar->refresh = true;
     cvar->nevents = 0;  
     cvar->firstevno = 0;  
     cvar->lastevno = 0;  
     cvar->refresh = true;  
1021  }  }
1022    
1023  void PAMevcontrol::clearselfi(){  void PAMevcontrol::clearselfi(){

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

  ViewVC Help
Powered by ViewVC 1.1.23