Changeset 17192 for trunk


Ignore:
Timestamp:
09/19/13 16:27:27 (11 years ago)
Author:
tbretz
Message:
Read the mean value for the temperatures directly from the report; fixed a new bug in the calculation of the median.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/smartfact.cc

    r17172 r17192  
    1818#include "DimWriteStatistics.h"
    1919#include "externals/PixelMap.h"
    20 #include "externals/Interpolator2D.h"
    2120
    2221#include "tools.h"
     
    601600        if (!col.empty())
    602601            out << col;
    603         for (auto it=vec.begin(); it!=vec.end(); it++)
     602        for (auto it=vec.cbegin(); it!=vec.cend(); it++)
    604603        {
    605604            // The valid range is from 1 to 127
     
    684683            avg = accumulate (t.begin(), t.end(), 0.)/t.size();
    685684
    686             const size_t p = t.size()/2;
    687             med = p%2 ? copy[p] : (copy[p-1]+copy[p])/2.;
     685            const size_t p = copy.size()/2;
     686            med = copy.size()%2 ? copy[p] : (copy[p-1]+copy[p])/2.;
    688687        }
    689688    };
     
    17511750    int HandleFscBiasTemp(const EventImp &d)
    17521751    {
    1753         if (!CheckDataSize(d, "FscControl:BiasTemp", 321*4))
     1752        if (!CheckDataSize(d, "FscControl:BiasTemp", 323*4))
    17541753            return GetCurrentState();
    17551754
    17561755        const float *ptr = d.Ptr<float>(4);
     1756        const float avg = d.Get<float>(321*4);
     1757        //const float rms = d.Get<float>(322*4);
    17571758
    17581759        vector<double> tout(320);
    1759         double pavg = 0;
    17601760        for (int i=0; i<320; i++)
    17611761        {
    17621762            const int idx = (fPixelMap.hv(i).hw()/9)*2+fPixelMap.hv(i).group();
    17631763            tout[idx] = ptr[i];
    1764             pavg += ptr[i];
    1765         }
    1766 
    1767         WriteCam(d, "cam-fsccontrol-temperature", tout, 3, pavg/320-1.75);
     1764        }
     1765
     1766        WriteCam(d, "cam-fsccontrol-temperature", tout, 3, avg-1.75);
    17681767
    17691768        return GetCurrentState();
Note: See TracChangeset for help on using the changeset viewer.