Ignore:
Timestamp:
06/27/11 16:59:40 (13 years ago)
Author:
tbretz
Message:
Restructured the FAD gui; made widgets for run-number and ROI active.
File:
1 edited

Legend:

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

    r11196 r11200  
    383383    DimStampedInfo fDimFtmCounter;
    384384
    385     DimStampedInfo fDimFadFiles;
    386385    DimStampedInfo fDimFadRuns;
    387386    DimStampedInfo fDimFadEvents;
     
    390389    DimStampedInfo fDimFadConnections;
    391390    DimStampedInfo fDimFadFwVersion;
     391    DimStampedInfo fDimFadRunNumber;
    392392    DimStampedInfo fDimFadDNA;
    393393    DimStampedInfo fDimFadStatus;
     
    930930    // ===================== FAD ============================================
    931931
    932     void handleFadFiles(const DimData &d)
    933     {
    934         if (!CheckSize(d, 8))
    935             return;
    936 
    937         fEvtBuilderOpenFiles->setValue(d.get<uint64_t>());
    938     }
    939 
    940932    void handleFadRuns(const DimData &d)
    941933    {
    942         if (!CheckSize(d, 4))
    943             return;
    944 
    945         fEvtsRunMax->setValue(d.get<uint32_t>());
     934        if (!CheckSize(d, 12))
     935            return;
     936
     937        const uint32_t *ptr = d.ptr<uint32_t>();
     938
     939        fEvtBldRunNumberMin->setValue(ptr[1]);
     940        fEvtBldRunNumberMax->setValue(ptr[2]);
     941        fEvtBldOpenFiles->setValue(ptr[0]);
    946942    }
    947943
     
    10781074        fFadConnections.assign(ptr, ptr+40);
    10791075    }
    1080 /*
    1081     template<typename T>
    1082         bool CheckConsistency(const T *v)
    1083     {
    1084         for (int i=1; i<40; i++)
    1085             if (fFadConnections[i]==10 && v[i]!=v[0])
    1086                 return false;
    1087 
    1088         return true;
    1089     }
    1090 
    1091     template<typename T>
    1092         T GetFirst(const T *v)
    1093     {
    1094         for (int i=0; i<40; i++)
    1095             if (fFadConnections[i]==9)
    1096                 return v[i];
    1097 
    1098         return T();
    1099     }
    1100   */
    1101     void handleFadFwVersion(const DimData &d)
    1102     {
    1103         if (!CheckSize(d, 43*sizeof(float)))
    1104             return;
    1105 
    1106         const float *ptr = d.ptr<float>();
    1107         fFadFwVersion->setValue(ptr[1]);
     1076
     1077    template<typename T, class S>
     1078        void handleFadMinMax(const DimData &d, QPushButton *led, S *wmin, S *wmax=0)
     1079    {
     1080        if (!CheckSize(d, 42*sizeof(T)))
     1081            return;
     1082
     1083        const T *ptr = d.ptr<T>();
     1084        const T  min = ptr[40];
     1085        const T  max = ptr[41];
     1086
     1087        if (max<min)
     1088            SetLedColor(led, kLedGray, d.time);
     1089        else
     1090            SetLedColor(led, min==max?kLedGreen: kLedOrange, d.time);
     1091
     1092        if (!wmax && max!=min)
     1093            wmin->setValue(0);
     1094        else
     1095            wmin->setValue(min);
     1096
     1097        if (wmax)
     1098            wmax->setValue(max);
    11081099
    11091100        ostringstream tip;
     
    11171108            tip << "<tr><th>" << c << "</th>";
    11181109            for (int b=0; b<10; b++)
    1119                 tip << "<td>" << ptr[c*10+b+3] << "</td>";
     1110                tip << "<td>" << ptr[c*10+b] << "</td>";
    11201111            tip << "</tr>";
    11211112        }
    11221113        tip << "</table>";
    11231114
    1124         fFadFwVersion->setToolTip(tip.str().c_str());
    1125 
    1126         SetLedColor(fFadLedFwVersion, d.qos?kLedGreen:kLedOrange, d.time);
     1115        led->setToolTip(tip.str().c_str());
     1116    }
     1117
     1118    void handleFadFwVersion(const DimData &d)
     1119    {
     1120        handleFadMinMax<float, QDoubleSpinBox>(d, fFadLedFwVersion, fFadFwVersion);
     1121    }
     1122
     1123    void handleFadRunNumber(const DimData &d)
     1124    {
     1125        handleFadMinMax<uint32_t, QSpinBox>(d, fFadLedRunNumber, fFadRunNumber);
    11271126    }
    11281127
     
    11991198        SetFadLed(fFadLedSocket,         d, FAD::EventHeader::kSock17);
    12001199        SetFadLed(fFadLedPllLock,        d, 0xf000);
    1201 
    1202 
    12031200    }
    12041201
     
    20011998            return PostInfoHandler(&FactGui::handleLoggerStats);
    20021999
    2003         if (getInfo()==&fDimFadFiles)
    2004             return PostInfoHandler(&FactGui::handleFadFiles);
     2000//        if (getInfo()==&fDimFadFiles)
     2001//            return PostInfoHandler(&FactGui::handleFadFiles);
    20052002
    20062003        if (getInfo()==&fDimFadConnections)
     
    20092006        if (getInfo()==&fDimFadFwVersion)
    20102007            return PostInfoHandler(&FactGui::handleFadFwVersion);
     2008
     2009        if (getInfo()==&fDimFadRunNumber)
     2010            return PostInfoHandler(&FactGui::handleFadRunNumber);
    20112011
    20122012        if (getInfo()==&fDimFadDNA)
     
    20652065            return PostInfoHandler(&FactGui::handleFtmError);
    20662066
    2067         if (getInfo()==&fDimFadFiles)
    2068             return PostInfoHandler(&FactGui::handleFadFiles);
     2067//        if (getInfo()==&fDimFadFiles)
     2068//            return PostInfoHandler(&FactGui::handleFadFiles);
    20692069
    20702070        for (map<string,DimInfo*>::iterator i=fServices.begin(); i!=fServices.end(); i++)
     
    24502450        fDimFtmDynamicData     ("FTM_CONTROL/DYNAMIC_DATA",     (void*)NULL, 0, this),
    24512451        fDimFtmCounter         ("FTM_CONTROL/COUNTER",          (void*)NULL, 0, this),
    2452         fDimFadFiles           ("FAD_CONTROL/FILES",            (void*)NULL, 0, this),
    24532452        fDimFadRuns            ("FAD_CONTROL/RUNS",             (void*)NULL, 0, this),
    24542453        fDimFadEvents          ("FAD_CONTROL/EVENTS",           (void*)NULL, 0, this),
     
    24572456        fDimFadConnections     ("FAD_CONTROL/CONNECTIONS",      (void*)NULL, 0, this),
    24582457        fDimFadFwVersion       ("FAD_CONTROL/FIRMWARE_VERSION", (void*)NULL, 0, this),
     2458        fDimFadRunNumber       ("FAD_CONTROL/RUN_NUMBER",       (void*)NULL, 0, this),
    24592459        fDimFadDNA             ("FAD_CONTROL/DNA",              (void*)NULL, 0, this),
    24602460        fDimFadStatus          ("FAD_CONTROL/STATUS",           (void*)NULL, 0, this),
Note: See TracChangeset for help on using the changeset viewer.