Changeset 10524


Ignore:
Timestamp:
May 3, 2011, 10:02:55 AM (9 years ago)
Author:
tbretz
Message:
Encapsulated root stuff into ifdef's; removed the root update timer - it is not necessary if we don't allow user interaction; implemented more accurate colors for the FTU Leds
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/gui/FactGui.h

    r10521 r10524  
    2626#include "TMarker.h"
    2727#include "TColor.h"
     28#include "TQtTimer.h"
     29
     30#define HAS_ROOT
    2831
    2932using namespace std;
    30     class Camera : public TObject
    31     {
    32         typedef pair<double,double> Position;
    33         typedef vector<Position> Positions;
    34         Positions fGeom;
     33
     34// #########################################################################
     35
     36class Camera : public TObject
     37{
     38    typedef pair<double,double> Position;
     39    typedef vector<Position> Positions;
     40
     41    Positions fGeom;
    3542
    3643    void CreatePalette()
    37         {
    38             /*
    39         double ss[5] = {0., 0.10, 0.45, 0.75, 1.00};
    40         double rr[5] = {0., 0.35, 0.85, 1.00, 1.00};
    41         double gg[5] = {0., 0.10, 0.20, 0.73, 1.00};
    42         double bb[5] = {0., 0.03, 0.06, 0.00, 1.00};
    43               */
     44    {
     45        /*
     46         double ss[5] = {0., 0.10, 0.45, 0.75, 1.00};
     47         double rr[5] = {0., 0.35, 0.85, 1.00, 1.00};
     48         double gg[5] = {0., 0.10, 0.20, 0.73, 1.00};
     49         double bb[5] = {0., 0.03, 0.06, 0.00, 1.00};
     50         */
    4451        double ss[5] = {0., 0.25, 0.50, 0.75, 1.00};
    4552        double rr[5] = {0., 0.00, 0.00, 1.00, 1.00};
     
    5663    void CreateGeometry()
    5764    {
    58         const double gsSin60 = sqrt(3.)/2; 
     65        const double gsSin60 = sqrt(3.)/2;
    5966
    6067        const int rings = 23;
     
    298305        fData = data;
    299306    }
    300 
    301 
    302     };
     307};
     308
     309// #########################################################################
    303310
    304311
     
    317324        bool Exec() { fFunction(*this); return true; }
    318325    };
     326
     327    vector<bool> fFtuDisabled;
    319328
    320329    DimStampedInfo fDimDNS;
     
    852861
    853862        // ----------------------------------------------
    854 
     863#ifdef HAS_ROOT
    855864        TCanvas *c = fFtmTempCanv->GetCanvas();
    856865
     
    883892        c->Modified();
    884893        c->Update();
     894#endif
    885895    }
    886896
     
    932942        fEnableTimeMarker->setChecked(sdata.HasTimeMarker());
    933943
    934         cout << hex << sdata.fActiveFTU << dec << endl;
    935 
    936         for (int i=0; i<64; i++)
    937             std::cout << (sdata.fActiveFTU&(1<<i) ? 1 : 0);
    938         std::cout << std::endl;
    939 
    940944        for (int i=0; i<40; i++)
     945        {
    941946            if (!sdata.IsActive(i))
     947            {
    942948                fFtuLED[i]->setIcon(QIcon(":/Resources/icons/gray circle 1.png"));
     949                fFtuDisabled[i] = true;
     950            }
    943951            else
    944                 fFtuLED[i]->setIcon(QIcon(":/Resources/icons/green circle 1.png"));
    945 
     952            {
     953                if (fFtuDisabled[i])
     954                {
     955                    fFtuLED[i]->setIcon(QIcon(":/Resources/icons/green circle 1.png"));
     956                    fFtuDisabled[i] = false;
     957                }
     958            }
     959        }
     960
     961#ifdef HAS_ROOT
    946962        Camera *cam = (Camera*)fRatesCanv->GetCanvas()->FindObject("Camera");
    947963        for (int i=0; i<1438; i++)
    948964            cam->SetEnable(i, sdata.IsEnabled(i));
     965#endif
    949966
    950967        const int patch1 = fThresholdIdx->value();
     
    10131030        fFtuAnswersCrate3->setValue(sdata.fNumBoardsCrate[3]);
    10141031
    1015         cout << "FtuList received: fActiveFTU not handled yet." << endl;
    1016 
     1032        // Same: When error received: Needs decoding
    10171033        for (int i=0; i<40; i++)
    10181034        {
    10191035            if (sdata.IsActive(i))
    10201036            {
    1021                 if (sdata.fPing[i]>0)
     1037                if (sdata.fPing[i]==0)
    10221038                    fFtuLED[i]->setIcon(QIcon(":/Resources/icons/red circle 1.png"));
    1023                 else
     1039
     1040                if (sdata.fPing[i]==1)
    10241041                    fFtuLED[i]->setIcon(QIcon(":/Resources/icons/green circle 1.png"));
    1025                 //if (sdata.fCRC[i]>0)
    1026                 //    fFtuLED[i]->setIcon(QIcon(":/Resources/icons/warning 1.png"));
     1042
     1043                if (sdata.fPing[i]>1)
     1044                    fFtuLED[i]->setIcon(QIcon(":/Resources/icons/orange circle 1.png"));
     1045
     1046                fFtuDisabled[i] = false;
    10271047            }
    10281048            else
     1049            {
    10291050                fFtuLED[i]->setIcon(QIcon(":/Resources/icons/gray circle 1.png"));
     1051                fFtuDisabled[i] = true;
     1052            }
     1053
    10301054        }
    10311055    }
     
    10351059        if (d.size()==0)
    10361060            return;
     1061
    10371062        const Converter conv(d.format);
    10381063        cout << "Error:" << endl;
     
    11021127                fStatusLoggerLed->setIcon(QIcon(":/Resources/icons/green circle 1.png"));
    11031128
    1104             cout << "enable " << s.index << " " << enable << endl;
    11051129            fLoggerWidget->setEnabled(enable);
    11061130        }
     
    13891413    }
    13901414
     1415#ifdef HAS_ROOT
    13911416    void slot_RootEventProcessed(TObject *obj, unsigned int evt, TCanvas *)
    13921417    {
     
    13981423        // kEnterEvent            // TCanvas processed QEvent enterEvent
    13991424        // kLeaveEvent            // TCanvas processed QEvent leaveEvent
    1400 
    14011425        if (dynamic_cast<TCanvas*>(obj))
    14021426            return;
     
    14761500    {
    14771501        gSystem->ProcessEvents();
    1478         QTimer::singleShot(100, this, SLOT(slot_RootUpdate()));
    1479     }
     1502        QTimer::singleShot(0, this, SLOT(slot_RootUpdate()));
     1503    }
     1504
    14801505    void on_fThresholdIdx_valueChanged(int idx)
    14811506    {
     
    14831508        ChoosePatch(*cam, idx);
    14841509    }
     1510#endif
    14851511
    14861512    TGraph fGraphFtmTemp[4];
     
    14901516public:
    14911517    FactGui() :
     1518        fFtuDisabled(40),
    14921519        fDimDNS("DIS_DNS/VERSION_NUMBER", 1, int(0), this),
    14931520
     
    15511578
    15521579        // --------------------------------------------------------------------------
    1553 
     1580#ifdef HAS_ROOT
    15541581        TCanvas *c = fFtmTempCanv->GetCanvas();
    15551582        c->SetBit(TCanvas::kNoContextMenu);
     
    16081635        ChoosePixel(*cam, 1);
    16091636
    1610         QTimer::singleShot(100, this, SLOT(slot_RootUpdate()));
     1637//        QTimer::singleShot(0, this, SLOT(slot_RootUpdate()));
    16111638
    16121639        //widget->setMouseTracking(true);
     
    16191646        fRatesCanv->EnableSignalEvents(kMouseMoveEvent|kMouseReleaseEvent|kMouseDoubleClickEvent);
    16201647
    1621         connect(fRatesCanv,   SIGNAL(     RootEventProcessed(TObject *, unsigned int, TCanvas *)),
    1622                 this,         SLOT  (slot_RootEventProcessed(TObject *, unsigned int, TCanvas *)));
    1623         connect(fFtmTempCanv, SIGNAL(     RootEventProcessed(TObject *, unsigned int, TCanvas *)),
    1624                 this,         SLOT  (slot_RootEventProcessed(TObject *, unsigned int, TCanvas *)));
    1625     }
     1648        connect(fRatesCanv,   SIGNAL(     RootEventProcessed(TObject*, unsigned int, TCanvas*)),
     1649                this,         SLOT  (slot_RootEventProcessed(TObject*, unsigned int, TCanvas*)));
     1650        connect(fFtmTempCanv, SIGNAL(     RootEventProcessed(TObject*, unsigned int, TCanvas*)),
     1651                this,         SLOT  (slot_RootEventProcessed(TObject*, unsigned int, TCanvas*)));
     1652#endif
     1653    }
     1654
    16261655    ~FactGui()
    16271656    {
Note: See TracChangeset for help on using the changeset viewer.