Changeset 17238


Ignore:
Timestamp:
10/17/13 15:22:51 (11 years ago)
Author:
tbretz
Message:
Using the new Queue implementation, all queued functions need to return true so that the event is afterwards removed from the queue; added fits.fz and fits.gz to the list of recognized file extensions; added kZFits to the list of known file formats; give an old DRS calibration to the DataCalib writer for compression.
File:
1 edited

Legend:

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

    r16956 r17238  
    2525
    2626#include "DataWriteFits2.h"
    27 
    28 #include "queue.h"
    2927
    3028namespace ba = boost::asio;
     
    150148                break;
    151149            if (access((name+"fits").c_str(), F_OK) == 0)
     150                break;
     151            if (access((name+"fits.fz").c_str(), F_OK) == 0)
     152                break;
     153            if (access((name+"fits.gz").c_str(), F_OK) == 0)
    152154                break;
    153155            if (access((name+"drs.fits").c_str(), F_OK) == 0)
     
    425427        case FAD::kDebug:   msg += "kDebug.";  break;
    426428        case FAD::kFits:    msg += "kFits.";   break;
     429        case FAD::kZFits:   msg += "kZFits.";  break;
    427430        case FAD::kCfitsio: msg += "kCfitsio"; break;
    428431        case FAD::kRaw:     msg += "kRaw";     break;
     
    485488    shared_ptr<DataProcessorImp> fFile;
    486489
    487     void UpdateDimEvents(const pair<Time,array<uint32_t,4>> &stat)
     490    bool UpdateDimEvents(const pair<Time,array<uint32_t,4>> &stat)
    488491    {
    489492        fDimEvents.setData(stat.second.data(), sizeof(uint32_t)*4);
    490493        fDimEvents.Update(stat.first);
     494        return true;
    491495    }
    492496
     
    503507        // and associate it to the run control structure
    504508        evt.runCtrl->calib = make_shared<DrsCalibration>(DataCalib::GetCalibration());
    505 
    506         /*
    507          evt.runCtrl->calibInt.resize(1024*1440);
    508 
    509          const int16_t *off = evt.runCtrl->zcalib.data();
    510          int32_t *ptr = evt.runCtrl->calib.data();
    511 
    512          const uint64_t num = evt.runCtrl->calib.fNumOffset;
    513          for (int i=0; i<1024*1440)
    514              ptr[i] = off[i]/num;
    515          */
    516 
    517         // FIMXE: Check if file already exists...
    518509
    519510        // Crate the file
     
    525516        case FAD::kCfitsio: file = new DataWriteFits(fPath, night, runid,  fMsg); break;
    526517        case FAD::kFits:    file = new DataWriteFits2(fPath, night, runid, fMsg); break;
     518        case FAD::kZFits:   file = new DataWriteFits2(fPath, night, runid, *evt.runCtrl->calib, fMsg); break;
    527519        case FAD::kRaw:     file = new DataWriteRaw(fPath, night, runid, fMsg); break;
    528         case FAD::kCalib:   file = new DataCalib(fPath, night, runid, fDimDrsCalibration, fDimDrsRuns, fMsg); break;
     520        case FAD::kCalib:   file = new DataCalib(fPath, night, runid, *evt.runCtrl->calib, fDimDrsCalibration, fDimDrsRuns, fMsg); break;
    529521        }
    530522
     
    653645    virtual void CloseRun(uint32_t /*runid*/) { }
    654646
    655     void UpdateDimRoi(const pair<Time, array<uint16_t,2>> &roi)
     647    bool UpdateDimRoi(const pair<Time, array<uint16_t,2>> &roi)
    656648    {
    657649        fDimRoi.setData(roi.second.data(), sizeof(uint16_t)*2);
    658650        fDimRoi.Update(roi.first);
    659     }
    660 
    661     void UpdateDimTempRefClk(const tuple<Time, array<uint32_t,40>, array<int16_t,160>> &dat)
     651        return true;
     652    }
     653
     654    bool UpdateDimTempRefClk(const tuple<Time, array<uint32_t,40>, array<int16_t,160>> &dat)
    662655    {
    663656        const auto delay = boost::posix_time::seconds(5);
     
    686679
    687680        if (newt<oldt+delay)
    688             return;
     681            return true;
    689682
    690683        oldt = newt;
     
    769762
    770763        listtmp.clear();
     764
     765        return true;
    771766    }
    772767
     
    883878    Time fLastDimEventData;
    884879
    885     void UpdateDimRawData(const vector<char> &v)
     880    bool UpdateDimRawData(const vector<char> &v)
    886881    {
    887882        const EVENT *evt = reinterpret_cast<const EVENT*>(v.data());
     
    890885        fDimRawData.setQuality(evt->TriggerType);
    891886        fDimRawData.Update(Time(evt->PCTime, evt->PCUsec));
    892     }
    893     void UpdateDimEventData(const tuple<Time,uint32_t,array<float, 1440*4>> &tup)
     887
     888        return true;
     889    }
     890
     891    bool UpdateDimEventData(const tuple<Time,uint32_t,array<float, 1440*4>> &tup)
    894892    {
    895893        fDimEventData.setQuality(get<1>(tup));
    896894        fDimEventData.setData(get<2>(tup));
    897895        fDimEventData.Update(get<0>(tup));
     896
     897        return true;
    898898    }
    899899
     
    11461146    */
    11471147
    1148     void UpdateDimStatistics1(const pair<Time,GUI_STAT> &stat)
     1148    bool UpdateDimStatistics1(const pair<Time,GUI_STAT> &stat)
    11491149    {
    11501150        fDimStatistics1.setData(&stat.second, sizeof(GUI_STAT));
    11511151        fDimStatistics1.Update(stat.first);
     1152
     1153        return true;
    11521154    }
    11531155
     
    12721274    vector<uint> fNumConnected;
    12731275
    1274     void procHeader(const tuple<Time,bool,FAD::EventHeader> &dat)
     1276    bool procHeader(const tuple<Time,bool,FAD::EventHeader> &dat)
    12751277    {
    12761278        const Time             &t = get<0>(dat);
     
    13331335            Update(fDimDac, dacs, t);
    13341336        }
     1337
     1338        return true;
    13351339    }
    13361340
Note: See TracChangeset for help on using the changeset viewer.