Changeset 10733


Ignore:
Timestamp:
May 17, 2011, 8:22:02 PM (8 years ago)
Author:
tbretz
Message:
Small layout changes; added spin box for pixel index and checkbox for enable; replaced temperature plot by rate plot
Location:
trunk/FACT++/gui
Files:
3 edited

Legend:

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

    r10728 r10733  
    866866        fFtmTime->setText(QString::number(sdata.fTimeStamp));
    867867        fTriggerCounter->setText(QString::number(sdata.fTriggerCounter));
     868
     869
     870        // ----------------------------------------------
     871#ifdef HAVE_ROOT
     872
     873        if (fTriggerCounter0<0)
     874        {
     875            fTriggerCounter0 = sdata.fTriggerCounter;
     876            return;
     877        }
     878
     879        TCanvas *c = fFtmRateCanv->GetCanvas();
     880
     881        TH1 *h = (TH1*)c->FindObject("TimeFrame");
     882
     883        const double rate = sdata.fTriggerCounter-fTriggerCounter0;
     884        fTriggerCounter0 = sdata.fTriggerCounter;
     885
     886        if (rate<0)
     887        {
     888            fGraphFtmRate.Set(0);
     889
     890            const double tm = Time().RootTime();
     891
     892            h->SetBins(1, tm, tm+60);
     893            h->GetXaxis()->SetTimeFormat("%M'%S\"");
     894            h->GetXaxis()->SetTitle("Time");
     895
     896            c->Modified();
     897            c->Update();
     898            return;
     899        }
     900
     901        const double avgrate = sdata.fTimeStamp>0 ? double(sdata.fTriggerCounter)/sdata.fTimeStamp : 1;
     902
     903        const double t1 = h->GetXaxis()->GetXmax();
     904        const double t0 = h->GetXaxis()->GetXmin();
     905
     906        h->SetBins(h->GetNbinsX()+1, t0, t0+sdata.fTriggerCounter+1);
     907        fGraphFtmRate.SetPoint(fGraphFtmRate.GetN(),
     908                               t0+sdata.fTriggerCounter, rate);
     909
     910        if (t1-t0>60)
     911        {
     912            h->GetXaxis()->SetTimeFormat("%Hh%M'");
     913            h->GetXaxis()->SetTitle("Time");
     914        }
     915
     916        h->SetMinimum(0);
     917        h->SetMaximum(2*avgrate);
     918
     919        c->Modified();
     920        c->Update();
     921#endif
     922        // ----------------------------------------------
    868923    }
    869924
     
    889944    }
    890945
     946    int64_t fTriggerCounter0;
     947
    891948    void handleFtmDynamicData(const DimData &d)
    892949    {
     
    911968
    912969
     970#ifdef HAVE_ROOT
     971
    913972        // ----------------------------------------------
    914 #ifdef HAVE_ROOT
     973/*
    915974        TCanvas *c = fFtmTempCanv->GetCanvas();
    916975
     
    920979        double tm = d.time.RootTime();
    921980
    922         TH1 *h = (TH1*)c->FindObject("MyFrame");
     981        TH1 *h = (TH1*)c->FindObject("TimeFrame");
    923982        h->FindBin(tm);
    924983
     
    930989        c->Modified();
    931990        c->Update();
    932 
     991*/
    933992        // ----------------------------------------------
    934993
     
    938997            dat[i] = sdata.fRatePatch[fPatch[i]];
    939998
    940         c = fRatesCanv->GetCanvas();
     999        TCanvas *c = fRatesCanv->GetCanvas();
    9411000        Camera *cam = (Camera*)c->FindObject("Camera");
    9421001
     
    10571116            cam->SetEnable(i, sdata.IsEnabled(i));
    10581117#endif
     1118
     1119        fPixelEnable->setChecked(sdata.IsEnabled(fPixelIdx->value()));
    10591120
    10601121        const int patch1 = fThresholdIdx->value();
     
    15271588        cam.SetWhite(idx);
    15281589        ChoosePatch(cam, fPatch[idx]);
     1590
     1591        fPixelEnable->setChecked(fFtmStaticData.IsEnabled(idx));
    15291592    }
    15301593
     
    15551618
    15561619                ChoosePixel(*cam, idx);
     1620
     1621                fPixelIdx->setValue(idx);
    15571622            }
    15581623            return;
     
    16241689        ChoosePatch(*cam, idx);
    16251690    }
     1691
     1692    void on_fPixelIdx_valueChanged(int idx)
     1693    {
     1694        Camera *cam = (Camera*)fRatesCanv->GetCanvas()->FindObject("Camera");
     1695        ChoosePixel(*cam, idx);
     1696    }
    16261697#endif
    16271698
    16281699    TGraph fGraphFtmTemp[4];
     1700    TGraph fGraphFtmRate;
    16291701
    16301702    map<int, int> fPatch;
     1703
     1704#ifdef HAVE_ROOT
     1705    void DrawTimeFrame(const char *ytitle)
     1706    {
     1707        const double tm = Time().RootTime();
     1708
     1709        TH1F h("TimeFrame", "", 1, tm, tm+60);//Time().RootTime()-1./24/60/60, Time().RootTime());
     1710        h.SetDirectory(0);
     1711//        h.SetBit(TH1::kCanRebin);
     1712        h.SetStats(kFALSE);
     1713//        h.SetMinimum(0);
     1714//        h.SetMaximum(1);
     1715        h.SetXTitle("Time");
     1716        h.SetYTitle(ytitle);
     1717        h.GetXaxis()->CenterTitle();
     1718        h.GetYaxis()->CenterTitle();
     1719        h.GetXaxis()->SetTimeDisplay(true);
     1720        h.GetXaxis()->SetTimeFormat("%Mh%S'");
     1721        h.GetXaxis()->SetLabelSize(0.025);
     1722        h.GetYaxis()->SetLabelSize(0.025);
     1723        h.GetYaxis()->SetTitleOffset(1.2);
     1724//        h.GetYaxis()->SetTitleSize(1.2);
     1725        h.DrawCopy();
     1726    }
     1727#endif
    16311728
    16321729public:
     
    16851782        // --------------------------------------------------------------------------
    16861783#ifdef HAVE_ROOT
     1784        /*
    16871785        TCanvas *c = fFtmTempCanv->GetCanvas();
    16881786        c->SetBit(TCanvas::kNoContextMenu);
     
    16931791        c->SetTopMargin(0.03);
    16941792        c->cd();
    1695 
    1696         TH1F h("MyFrame", "", 1000, 0, 1);//Time().RootTime()-1./24/60/60, Time().RootTime());
    1697         h.SetDirectory(0);
    1698         h.SetBit(TH1::kCanRebin);
    1699         h.SetStats(kFALSE);
    1700         h.SetMinimum(-20);
    1701         h.SetMaximum(100);
    1702         h.SetXTitle("Time");
    1703         h.SetYTitle("Temperature / °C");
    1704         h.GetXaxis()->CenterTitle();
    1705         h.GetYaxis()->CenterTitle();
    1706         h.GetXaxis()->SetTimeDisplay(true);
    1707         h.GetXaxis()->SetTimeFormat("%H:%M");
    1708         h.GetXaxis()->SetLabelSize(0.025);
    1709 //        h.GetYaxis()->SetTitleSize(1.2);
    1710         h.DrawCopy();
     1793        */
     1794        //CreateTimeFrame("Temperature / °C");
    17111795
    17121796        fGraphFtmTemp[0].SetMarkerStyle(kFullDotSmall);
     
    17231807        fGraphFtmTemp[3].SetMarkerColor(kGreen);
    17241808
    1725         fGraphFtmTemp[0].Draw("LP");
    1726         fGraphFtmTemp[1].Draw("LP");
    1727         fGraphFtmTemp[2].Draw("LP");
    1728         fGraphFtmTemp[3].Draw("LP");
     1809        //fGraphFtmTemp[0].Draw("LP");
     1810        //fGraphFtmTemp[1].Draw("LP");
     1811        //fGraphFtmTemp[2].Draw("LP");
     1812        //fGraphFtmTemp[3].Draw("LP");
     1813
     1814        // --------------------------------------------------------------------------
     1815
     1816        TCanvas *c = fFtmRateCanv->GetCanvas();
     1817        c->SetBit(TCanvas::kNoContextMenu);
     1818        c->SetBorderMode(0);
     1819        c->SetFrameBorderMode(0);
     1820        c->SetFillColor(kWhite);
     1821        c->SetRightMargin(0.03);
     1822        c->SetTopMargin(0.03);
     1823        c->SetGrid();
     1824        c->cd();
     1825
     1826        DrawTimeFrame("Trigger rate [Hz]");
     1827
     1828        fTriggerCounter0 = -1;
     1829
     1830        fGraphFtmRate.SetMarkerStyle(kFullDotSmall);
     1831        fGraphFtmRate.Draw("LP");
    17291832
    17301833        // --------------------------------------------------------------------------
     
    17481851        //widget->EnableSignalEvents(kMouseMoveEvent);
    17491852
    1750         fFtmTempCanv->setMouseTracking(true);
    1751         fFtmTempCanv->EnableSignalEvents(kMouseMoveEvent);
     1853        fFtmRateCanv->setMouseTracking(true);
     1854        fFtmRateCanv->EnableSignalEvents(kMouseMoveEvent);
    17521855
    17531856        fRatesCanv->setMouseTracking(true);
     
    17561859        connect(fRatesCanv,   SIGNAL(     RootEventProcessed(TObject*, unsigned int, TCanvas*)),
    17571860                this,         SLOT  (slot_RootEventProcessed(TObject*, unsigned int, TCanvas*)));
    1758         connect(fFtmTempCanv, SIGNAL(     RootEventProcessed(TObject*, unsigned int, TCanvas*)),
     1861        connect(fFtmRateCanv, SIGNAL(     RootEventProcessed(TObject*, unsigned int, TCanvas*)),
    17591862                this,         SLOT  (slot_RootEventProcessed(TObject*, unsigned int, TCanvas*)));
    17601863#endif
  • trunk/FACT++/gui/MainWindow.h

    r10678 r10733  
    8181    void on_fThresholdVal_valueChanged(int v);
    8282    virtual void on_fThresholdIdx_valueChanged(int) { }
     83    virtual void on_fPixelIdx_valueChanged(int) { }
    8384
    8485    // Tab: Chat
  • trunk/FACT++/gui/design.ui

    r10723 r10733  
    5252      </property>
    5353      <property name="currentIndex">
    54        <number>0</number>
     54       <number>2</number>
    5555      </property>
    5656      <property name="documentMode">
     
    494494                  </widget>
    495495                 </item>
    496                  <item row="3" column="3">
     496                 <item row="3" column="5">
     497                  <widget class="QLabel" name="label_33">
     498                   <property name="text">
     499                    <string>:</string>
     500                   </property>
     501                   <property name="alignment">
     502                    <set>Qt::AlignCenter</set>
     503                   </property>
     504                  </widget>
     505                 </item>
     506                 <item row="3" column="6">
    497507                  <widget class="QSpinBox" name="fTriggerSeqLPint">
    498508                   <property name="enabled">
     
    513523                  </widget>
    514524                 </item>
    515                  <item row="3" column="5">
     525                 <item row="3" column="4">
    516526                  <widget class="QSpinBox" name="fTriggerSeqLPext">
    517527                   <property name="enabled">
     
    532542                  </widget>
    533543                 </item>
    534                  <item row="3" column="4">
    535                   <widget class="QLabel" name="label_33">
     544                 <item row="2" column="6">
     545                  <widget class="QLabel" name="label_36">
    536546                   <property name="text">
    537                     <string>:</string>
     547                    <string>LPint</string>
    538548                   </property>
    539549                   <property name="alignment">
    540                     <set>Qt::AlignCenter</set>
     550                    <set>Qt::AlignBottom|Qt::AlignHCenter</set>
    541551                   </property>
    542552                  </widget>
    543553                 </item>
    544                  <item row="2" column="5">
     554                 <item row="2" column="4">
    545555                  <widget class="QLabel" name="label_38">
    546556                   <property name="text">
    547557                    <string>LPext</string>
    548                    </property>
    549                    <property name="alignment">
    550                     <set>Qt::AlignBottom|Qt::AlignHCenter</set>
    551                    </property>
    552                   </widget>
    553                  </item>
    554                  <item row="2" column="3">
    555                   <widget class="QLabel" name="label_36">
    556                    <property name="text">
    557                     <string>LPint</string>
    558558                   </property>
    559559                   <property name="alignment">
     
    998998                <widget class="QLabel" name="label_13">
    999999                 <property name="text">
    1000                   <string>Calibration</string>
     1000                  <string>LPext</string>
    10011001                 </property>
    10021002                </widget>
     
    18031803                  </property>
    18041804                  <item row="0" column="0">
    1805                    <widget class="RootWidget" name="fFtmTempCanv" native="true">
     1805                   <widget class="RootWidget" name="fFtmRateCanv" native="true">
    18061806                    <property name="sizePolicy">
    18071807                     <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
     
    23042304               <number>0</number>
    23052305              </property>
     2306              <item>
     2307               <widget class="QLabel" name="label_68">
     2308                <property name="text">
     2309                 <string>Pixel</string>
     2310                </property>
     2311               </widget>
     2312              </item>
     2313              <item>
     2314               <layout class="QHBoxLayout" name="horizontalLayout_12">
     2315                <property name="topMargin">
     2316                 <number>0</number>
     2317                </property>
     2318                <item>
     2319                 <widget class="QSpinBox" name="fPixelIdx">
     2320                  <property name="alignment">
     2321                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
     2322                  </property>
     2323                  <property name="maximum">
     2324                   <number>1439</number>
     2325                  </property>
     2326                 </widget>
     2327                </item>
     2328                <item>
     2329                 <widget class="QCheckBox" name="fPixelEnable">
     2330                  <property name="maximumSize">
     2331                   <size>
     2332                    <width>20</width>
     2333                    <height>16777215</height>
     2334                   </size>
     2335                  </property>
     2336                  <property name="text">
     2337                   <string/>
     2338                  </property>
     2339                 </widget>
     2340                </item>
     2341               </layout>
     2342              </item>
     2343              <item>
     2344               <spacer name="verticalSpacer_16">
     2345                <property name="orientation">
     2346                 <enum>Qt::Vertical</enum>
     2347                </property>
     2348                <property name="sizeType">
     2349                 <enum>QSizePolicy::Fixed</enum>
     2350                </property>
     2351                <property name="sizeHint" stdset="0">
     2352                 <size>
     2353                  <width>20</width>
     2354                  <height>20</height>
     2355                 </size>
     2356                </property>
     2357               </spacer>
     2358              </item>
    23062359              <item>
    23072360               <widget class="QLabel" name="label_25">
Note: See TracChangeset for help on using the changeset viewer.