Changeset 15470 for trunk/FACT++/src


Ignore:
Timestamp:
05/01/13 11:08:01 (12 years ago)
Author:
tbretz
Message:
Some more renaming; some values can already be initialized as soon as evtCtrl->fEvent is valid, no need to wait until the event is written or processed.
File:
1 edited

Legend:

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

    r15469 r15470  
    589589        evtCtrl[i].fEvent->StartTM[k] = -1;
    590590
    591     evtCtrl[i].fEvent->NumBoards = 0;
    592     evtCtrl[i].fEvent->PCTime    = evtCtrl[i].pcTime[0];
    593     evtCtrl[i].fEvent->PCUsec    = evtCtrl[i].pcTime[1];
     591    evtCtrl[i].fEvent->NumBoards   = 0;
     592    evtCtrl[i].fEvent->SoftTrig    = 0;
     593    evtCtrl[i].fEvent->PCTime      = evtCtrl[i].pcTime[0];
     594    evtCtrl[i].fEvent->PCUsec      = evtCtrl[i].pcTime[1];
     595    evtCtrl[i].fEvent->Roi         = evtCtrl[i].nRoi;
     596    evtCtrl[i].fEvent->RoiTM       = evtCtrl[i].nRoiTM;
     597    evtCtrl[i].fEvent->EventNum    = evtCtrl[i].evNum;
     598    evtCtrl[i].fEvent->TriggerNum  = evtCtrl[i].trgNum;
     599    evtCtrl[i].fEvent->TriggerType = evtCtrl[i].trgTyp;
    594600}
    595601
     
    12611267
    12621268          //get index into mBuffer for this event (create if needed)
    1263           const int evID = mBufEvt(i);
     1269          const int idx = mBufEvt(i);
    12641270
    12651271          // no free entry in mBuffer, retry later
    1266           if (evID == -1)
     1272          if (idx == -1)
    12671273              continue;
    12681274
    12691275          // We have a valid entry, but no memory has yet been allocated
    1270           if (evID >= 0 && evtCtrl[evID].FADhead == NULL)
     1276          if (idx >= 0 && evtCtrl[idx].FADhead == NULL)
    12711277          {
    12721278              // Try to get memory from the big buffer
    1273               evtCtrl[evID].FADhead = (PEVNT_HEADER*)TGB_Malloc();
    1274               if (evtCtrl[evID].FADhead == NULL)
     1279              evtCtrl[idx].FADhead = (PEVNT_HEADER*)TGB_Malloc();
     1280              if (evtCtrl[idx].FADhead == NULL)
    12751281              {
    12761282                  // If this works properly, this is a hack which can be removed, or
    12771283                  // replaced by a signal or dim message
    12781284                  if (rd[i].bufTyp==2)
    1279                       factPrintf(kError, 882, "malloc failed for event %d", evID);
     1285                      factPrintf(kError, 882, "malloc failed for event %d (run=%d)", evtCtrl[idx].evNum, evtCtrl[idx].runNum);
    12801286                  rd[i].bufTyp = 2;
    12811287                  continue;
    12821288              }
    12831289
    1284               // Initialice mBuffer[evID]->fEvent
    1285               initEvent(evID);
     1290              // Initialise contents of mBuffer[evID]->fEvent
     1291              initEvent(idx);
    12861292
    12871293              // Some statistics
     
    12951301              if (gj.bufTot > gj.maxEvt)
    12961302                  gj.maxEvt = gj.bufTot;
    1297 
    1298               //register event in 'active list (reading)'
    1299               //mBuffer[evID].evtCtrl_idx = evtCtrl_lastPtr;
    1300 
    1301               //evtCtrl[evtCtrl_lastPtr].mBuffer_idx = evID;
    1302               //evtCtrl[evtCtrl_lastPtr].evtStat = 0;
    1303               //evtCtrl[evtCtrl.lastPtr].pcTime  = g_actTime;
    1304 
    1305               //evtCtrl_lastPtr++;
    1306               //evtCtrl_lastPtr %= MAX_EVT * MAX_RUN;
    13071303          }
    13081304
     
    13131309
    13141310          // Fatal error occured. Event cannot be processed. Skip it. Start reading next header.
    1315           if (evID < -1000)
     1311          if (idx < -1000)
    13161312              continue;
    13171313
     
    13261322          }
    13271323
    1328           if (evtCtrl[evID].board[board] != -1)
     1324          if (evtCtrl[idx].board[board] != -1)
    13291325          {
    13301326              factPrintf(kWarn, 501, "Got event %5d from board %3d (i=%3d, len=%5d) twice: Starts with %3d %3d - ends with %3d %3d",
    1331                          evID, board, i, rd[i].fadLen,
     1327                         evtCtrl[idx].evNum, board, i, rd[i].fadLen,
    13321328                         rd[i].rBuf->B[0], rd[i].rBuf->B[1],
    13331329                         rd[i].rBuf->B[rd[i].fadLen - 2],
     
    13371333
    13381334          // Copy data from rd[i] to mBuffer[evID]
    1339           copyData(i, evID, board);
     1335          copyData(i, idx, board);
    13401336
    13411337          // now we have stored a new board contents into Event structure
    13421338
    1343           evtCtrl[evID].fEvent->NumBoards++;
    1344           evtCtrl[evID].board[board] = board;
    1345           evtCtrl[evID].nBoard++;
    1346           evtCtrl[evID].evtStat  = evtCtrl[evID].nBoard;
     1339          evtCtrl[idx].fEvent->NumBoards++;
     1340          evtCtrl[idx].board[board] = board;
     1341          evtCtrl[idx].nBoard++;
     1342          evtCtrl[idx].evtStat  = evtCtrl[idx].nBoard;
    13471343
    13481344          // have we already reported first (partial) event of this run ???
    1349           if (evtCtrl[evID].nBoard==1 && evtCtrl[evID].runNum != actrun)
     1345          if (evtCtrl[idx].nBoard==1 && evtCtrl[idx].runNum != actrun)
    13501346          {
    13511347              // Signal the fadctrl that a new run has been started
    1352               gotNewRun(evtCtrl[evID].runNum, NULL);
     1348              gotNewRun(evtCtrl[idx].runNum, NULL);
    13531349
    13541350              factPrintf(kInfo, 1, "gotNewRun called, prev run %d, new run %d, event %d",
    1355                          actrun, evtCtrl[evID].runNum, evtCtrl[evID].evNum);
     1351                         actrun, evtCtrl[idx].runNum, evtCtrl[idx].evNum);
    13561352
    13571353              for (int j=0; j<MAX_RUN; j++)
     
    13641360                  // We got the first part of this event, so this is
    13651361                  // the number of events we expect for this run
    1366                   if (runCtrl[j].runId==evtCtrl[evID].runNum)
     1362                  if (runCtrl[j].runId==evtCtrl[idx].runNum)
    13671363                      runCtrl[j].lastEvt++;
    13681364              }
    13691365
    13701366              // Change 'actrun' the the new runnumber
    1371               actrun = evtCtrl[evID].runNum;
     1367              actrun = evtCtrl[idx].runNum;
    13721368          }
    13731369
    13741370          // event not yet complete
    1375           if (evtCtrl[evID].nBoard < actBoards)
     1371          if (evtCtrl[idx].nBoard < actBoards)
    13761372              continue;
    13771373
     
    13861382
    13871383          // Flag that the event is ready for processing
    1388           evtCtrl[evID].evtStat = 99;
     1384          evtCtrl[idx].evtStat = 99;
    13891385
    13901386      } // end for loop over all sockets
     
    18231819
    18241820           //and set correct event header ; also check for consistency in event (not yet)
    1825            evtCtrl[k0].fEvent->Roi         = evtCtrl[k0].nRoi;
    1826            evtCtrl[k0].fEvent->RoiTM       = evtCtrl[k0].nRoiTM;
    1827            evtCtrl[k0].fEvent->EventNum    = evtCtrl[k0].evNum;
    1828            evtCtrl[k0].fEvent->TriggerNum  = evtCtrl[k0].trgNum;
    1829            evtCtrl[k0].fEvent->TriggerType = evtCtrl[k0].trgTyp;
    18301821           evtCtrl[k0].fEvent->Errors[0]   = evtCtrl[k0].Errors[0];
    18311822           evtCtrl[k0].fEvent->Errors[1]   = evtCtrl[k0].Errors[1];
    18321823           evtCtrl[k0].fEvent->Errors[2]   = evtCtrl[k0].Errors[2];
    18331824           evtCtrl[k0].fEvent->Errors[3]   = evtCtrl[k0].Errors[3];
    1834            evtCtrl[k0].fEvent->SoftTrig    = 0;
    1835 
    18361825
    18371826           for (int ib=0; ib<NBOARDS; ib++)
Note: See TracChangeset for help on using the changeset viewer.