Changeset 16531 for trunk


Ignore:
Timestamp:
05/31/13 14:32:08 (11 years ago)
Author:
tbretz
Message:
Improved statistics sent with GUI_STATS; some cosmetics
File:
1 edited

Legend:

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

    r16382 r16531  
    5858bool runWrite(const EVT_CTRL2 &evt);
    5959void runClose();
    60 void applyCalib(const shared_ptr<EVT_CTRL2> &evt);
     60void applyCalib(const EVT_CTRL2 &evt, const size_t &size);
    6161void factOut(int severity, const char *message);
    6262void factReportIncomplete (uint64_t rep);
    6363void gotNewRun(RUN_CTRL2 &run);
    6464void runFinished();
    65 void factStat(GUI_STAT gj);
     65void factStat(const GUI_STAT &gj);
    6666bool eventCheck(const EVT_CTRL2 &evt);
    6767void debugHead(void *buf);
     
    702702
    703703    // different sort in FAD board.....
     704    EVENT *event = evt->fEvent;
    704705    for (int px = 0; px < 9; px++)
    705706    {
     
    712713            const int pixS = i*36 + drs*9 + px;
    713714
    714             evt->fEvent->StartPix[pixS] = pixC;
    715 
    716             memcpy(evt->fEvent->Adc_Data + pixS*roi, &rBuf.S[src+4], roi * 2);
     715            event->StartPix[pixS] = pixC;
     716
     717            memcpy(event->Adc_Data + pixS*roi, &rBuf.S[src+4], roi * 2);
    717718
    718719            src += 4+pixR;
     
    727728            if (pixR > roi)
    728729            {
    729                 evt->fEvent->StartTM[tmS] = (pixC + pixR - roi) % 1024;
    730 
    731                 memcpy(evt->fEvent->Adc_Data + tmS*roi + NPIX*roi, &rBuf.S[src - roi], roi * 2);
     730                event->StartTM[tmS] = (pixC + pixR - roi) % 1024;
     731
     732                memcpy(event->Adc_Data + tmS*roi + NPIX*roi, &rBuf.S[src - roi], roi * 2);
    732733            }
    733734            else
    734735            {
    735                 evt->fEvent->StartTM[tmS] = -1;
     736                event->StartTM[tmS] = -1;
    736737            }
    737738        }
     
    788789// ==========================================================================
    789790
    790 Queue<shared_ptr<EVT_CTRL2>> processingQueue1(bind(&applyCalib, placeholders::_1));
     791void proc1(const shared_ptr<EVT_CTRL2> &);
     792
     793Queue<shared_ptr<EVT_CTRL2>> processingQueue1(bind(&proc1, placeholders::_1));
     794
     795void proc1(const shared_ptr<EVT_CTRL2> &evt)
     796{
     797    applyCalib(*evt, processingQueue1.size());
     798}
    791799
    792800// If this is not convenient anymore, it could be replaced by
     
    873881    if (evt->valid())
    874882    {
    875         evt->fEvent->Errors[0] = evt->Errors[0];
    876         evt->fEvent->Errors[1] = evt->Errors[1];
    877         evt->fEvent->Errors[2] = evt->Errors[2];
    878         evt->fEvent->Errors[3] = evt->Errors[3];
    879 
    880         evt->fEvent->PCTime = evt->time.tv_sec;
    881         evt->fEvent->PCUsec = evt->time.tv_usec;
    882 
    883         evt->fEvent->NumBoards = evt->nBoard;
     883        EVENT *event = evt->fEvent;
     884
     885        // This is already done in initMemory()
     886        //event->Roi         = evt->runCtrl->roi0;
     887        //event->RoiTM       = evt->runCtrl->roi8;
     888        //event->EventNum    = evt->evNum;
     889        //event->TriggerNum  = evt->trgNum;
     890        //event->TriggerType = evt->trgTyp;
     891
     892        event->NumBoards = evt->nBoard;
     893
     894        event->Errors[0] = evt->Errors[0];
     895        event->Errors[1] = evt->Errors[1];
     896        event->Errors[2] = evt->Errors[2];
     897        event->Errors[3] = evt->Errors[3];
     898
     899        event->PCTime    = evt->time.tv_sec;
     900        event->PCUsec    = evt->time.tv_usec;
    884901
    885902        for (int ib=0; ib<NBOARDS; ib++)
    886             evt->fEvent->BoardTime[ib] = evt->FADhead[ib].time;
     903            event->BoardTime[ib] = evt->FADhead[ib].time;
    887904
    888905        if (!eventCheck(*evt))
     
    13001317        // ==================================================================
    13011318
    1302         gj.bufNew = evtCtrl.size();      //# incomplete events in buffer
    1303         gj.bufEvt = primaryQueue.size(); //# complete events in buffer
    1304         gj.bufTot = gj.bufNew+gj.bufEvt; //# total events currently in buffer
    1305         if (gj.bufNew>gj.maxEvt)         //# maximum events in buffer past cycle
    1306             gj.maxEvt = gj.bufNew;
    1307 
    1308         // ==================================================================
    1309 
    13101319        const time_t actTime = time(NULL);
    13111320        if (actTime == gi_SecTime)
     
    13471356        // =================================================================
    13481357
    1349         gj.bufTot = Memory::max_inuse/MAX_TOT_MEM;
    1350         gj.usdMem = Memory::max_inuse;
    1351         gj.totMem = Memory::allocated;
     1358        gj.bufNew   = evtCtrl.size();            //# incomplete events in buffer
     1359        gj.bufEvt   = primaryQueue.size();       //# complete events in buffer
     1360        gj.bufWrite = secondaryQueue.size();     //# complete events in buffer
     1361        gj.bufProc  = processingQueue1.size();   //# complete events in buffer
     1362        gj.bufTot   = Memory::max_inuse/MAX_TOT_MEM;
     1363        gj.usdMem   = Memory::max_inuse;
     1364        gj.totMem   = Memory::allocated;
     1365        gj.maxMem   = g_maxMem;
    13521366
    13531367        gj.deltaT = 1000; // temporary, must be improved
     
    13701384
    13711385        Memory::max_inuse = 0;
    1372         gj.maxEvt = 0;
    13731386
    13741387        for (int ib=0; ib<NBOARDS; ib++)
     
    14331446
    14341447    memset(gi_NumConnect, 0, NBOARDS*sizeof(*gi_NumConnect));
    1435     memset(gj.numConn,    0, NBOARDS*sizeof(*gj.numConn));
    1436     memset(gj.totBytes,   0, NBOARDS*sizeof(*gj.totBytes));
    1437 
    1438     gj.bufTot   = gj.maxEvt = gj.xxxEvt = 0;
    1439     gj.maxMem   = gj.xxxMem = 0;
     1448
     1449    memset(&gj, 0, sizeof(GUI_STAT));
    14401450
    14411451    gj.usdMem   = Memory::inuse;
    14421452    gj.totMem   = Memory::allocated;
    1443 
    1444     gj.bufNew   = gj.bufEvt = 0;
    1445     gj.evtSkip  = gj.evtWrite = gj.evtErr = 0;
    1446     gj.readStat = gj.procStat = gj.writStat = 0;
    1447 
     1453    gj.maxMem   = g_maxMem;
    14481454
    14491455
Note: See TracChangeset for help on using the changeset viewer.