Ignore:
Timestamp:
07/22/11 13:05:21 (13 years ago)
Author:
tbretz
Message:
Another fix to fix the min/max temperatures
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/EventBuilderWrapper.h

    r11537 r11539  
    17281728            const array<int16_t,42> tmp[4] =
    17291729            {
    1730                 Compare(&h, &h.fTempDrs[0]),
    1731                 Compare(&h, &h.fTempDrs[1]),
    1732                 Compare(&h, &h.fTempDrs[2]),
    1733                 Compare(&h, &h.fTempDrs[3])
     1730                Compare(&h, &h.fTempDrs[0]),    // 0-39:val, 40:min, 41:max
     1731                Compare(&h, &h.fTempDrs[1]),    // 0-39:val, 40:min, 41:max
     1732                Compare(&h, &h.fTempDrs[2]),    // 0-39:val, 40:min, 41:max
     1733                Compare(&h, &h.fTempDrs[3])     // 0-39:val, 40:min, 41:max
    17341734            };
    17351735
    17361736            vector<int16_t> data;
    17371737            data.reserve(82);
    1738             data.push_back(tmp[0][0]);
    1739             data.insert(data.end(), tmp[0].data()+2, tmp[0].data()+42);
    1740             data.push_back(tmp[0][1]);
    1741             data.insert(data.end(), tmp[0].data()+2, tmp[0].data()+42);
     1738            data.push_back(tmp[0][40]);                                 // min: 0
     1739            data.insert(data.end(), tmp[0].data(), tmp[0].data()+40);   // val: 1-40
     1740            data.push_back(tmp[0][41]);                                 // max: 41
     1741            data.insert(data.end(), tmp[0].data(), tmp[0].data()+40);   // val: 42-81
    17421742
    17431743            for (int j=0; j<=3; j++)
     
    17461746
    17471747                // Gloabl min
    1748                 if (ref[40]<data[0])
     1748                if (ref[40]<data[0])           // 40=min
    17491749                    data[0] = ref[40];
    17501750
    17511751                // Global max
    1752                 if (ref[41]>data[40])
     1752                if (ref[41]>data[40])          // 41=max
    17531753                    data[40] = ref[41];
    17541754
    1755                 for (int i=0; i<40; i++)
     1755                for (int i=0; i<40; i++)       
    17561756                {
    17571757                    // min per board
    1758                     if (ref[i]<data[j+1])
    1759                         data[j+1] = ref[i];
     1758                    if (ref[i]<data[i+1])      // data:  1-40
     1759                        data[i+1] = ref[i];    // ref:   0-39
    17601760
    17611761                    // max per board
    1762                     if (ref[i]>data[j+41])
    1763                         data[j+41] = ref[i];
     1762                    if (ref[i]>data[i+42])     // data: 42-81
     1763                        data[i+42] = ref[i];   // ref:   0-39
    17641764                }
    17651765            }
    17661766
    1767             vector<float> deg(82);
    1768             for (int i=0; i<82; i++)
     1767            vector<float> deg(82);              //  0: global min,  1-40: min
     1768            for (int i=0; i<82; i++)            // 41: global max, 42-81: max
    17691769                deg[i] = data[i]/16.;
    17701770            fDimTemperature.Update(deg);
Note: See TracChangeset for help on using the changeset viewer.