Changeset 11732 for trunk/FACT++


Ignore:
Timestamp:
07/31/11 12:03:39 (13 years ago)
Author:
tbretz
Message:
Added a check to make sure that the next run is not started while the previous is still processing.
File:
1 edited

Legend:

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

    r11726 r11732  
    77using namespace std;
    88
    9 int DataCalib::fStep = 0;
     9int  DataCalib::fStep = 0;
     10bool DataCalib::fProcessing = false;
    1011
    1112vector<int32_t> DataCalib::fOffset(1440*1024, 0);
     
    4344
    4445    fStep = 0;
     46    fProcessing = false;
    4547}
    4648
     
    5254bool DataCalib::Open(RUN_HEAD* h)
    5355{
     56    if (h->NPix != 1440)
     57    {
     58        fMsg.Error("Number of pixels in header not 1440.");
     59        return false;
     60    }
     61
     62    if (h->Nroi != 1024)
     63    {
     64        fMsg.Error("Region of interest not 1024.");
     65        return false;
     66    }
     67
     68    if (fProcessing)
     69    {
     70        fMsg.Warn("Previous run not yet finished!");
     71        return false;
     72    }
     73
    5474    if (fStep==4)
    5575    {
     
    5878    }
    5979
    60     if (h->NPix != 1440)
    61     {
    62         fMsg.Error("Number of pixels in header not 1440.");
    63         return false;
    64     }
    65 
    66     if (h->Nroi != 1024)
    67     {
    68         fMsg.Error("Region of interest not 1024.");
    69         return false;
    70     }
     80    fProcessing = true;
    7181
    7282    ostringstream name;
     
    7686    Reset();
    7787    InitSize(1440, 1024);
    78 
    79     fFileName = FormFileName(GetRunId(), "drs.fits");
    8088
    8189    return true;
     
    117125    file.AddColumn('F', "TriggerOffsetRms", 1024*1440);
    118126
     127    fFileName = FormFileName(GetRunId(), "drs.fits");
     128
    119129    if (!file.OpenFile(fFileName))
    120130        return;
     
    148158    if (!file.WriteData(buf.data(), 1024*1440*sizeof(float)*6+3))
    149159        return;
     160
     161    ostringstream str;
     162    str << "Wrote DRS calibration data (step=" << fStep << ") to '" << fFileName << "'";
     163    Info(str.str());
    150164#endif
    151165}
     
    190204        WriteFits();
    191205
     206    fProcessing = false;
     207
    192208    fDim.Update(fStats);
    193 
    194     fStep++;
    195209
    196210    return true;
Note: See TracChangeset for help on using the changeset viewer.