Changeset 15356


Ignore:
Timestamp:
04/16/13 10:25:58 (12 years ago)
Author:
tbretz
Message:
Send gotNewRun as soon as possible (after the header from the first board has been received
File:
1 edited

Legend:

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

    r15348 r15356  
    15891589                  evtCtrl.pcTime[iDx] = g_actTime;
    15901590
    1591                   if (++mBuffer[evID].nBoard >= actBoards) {
    1592                      int qnrun = 0;
    1593                      if (mBuffer[evID].runNum != actrun) {      // have we already reported first event of this run ???
    1594                         actrun = mBuffer[evID].runNum;
    1595                         int ir;
    1596                         for (ir = 0; ir < MAX_RUN; ir++) {
    1597                            qnrun++;
    1598                            if (runCtrl[ir].runId == actrun) {
    1599                               if (++runCtrl[ir].lastEvt == 0) {
    1600                                  gotNewRun (actrun, mBuffer[evID].FADhead);
    1601                                  factPrintf(kInfo, 1, "gotNewRun called for run %d, event %d",
    1602                                             mBuffer[evID].runNum, mBuffer[evID].evNum);
    1603                                  break;
     1591                  mBuffer[evID].nBoard++;
     1592
     1593                  // have we already reported first (partial) event of this run ???
     1594                  if (mBuffer[evID].nBoard>0 && mBuffer[evID].runNum != actrun)
     1595                  {
     1596                      actrun = mBuffer[evID].runNum;
     1597
     1598                      for (int ir = 0; ir < MAX_RUN; ir++)
     1599                      {
     1600                          if (runCtrl[ir].runId == actrun)
     1601                          {
     1602                              if (++runCtrl[ir].lastEvt == 0)
     1603                              {
     1604                                  gotNewRun (actrun, NULL);
     1605                                  factPrintf(kInfo, 1, "gotNewRun called for run %d, event %d",
     1606                                             mBuffer[evID].runNum, mBuffer[evID].evNum);
     1607                                  break;
    16041608                              }
    1605                            }
    1606                         }
    1607                      }
    1608                      //complete event read ---> flag for next processing
    1609                      evtCtrl.evtStat[iDx] = 99;
    1610                      gi.evtTot++;
     1609                          }
     1610                      }
    16111611                  }
    16121612
     1613                  //complete event read ---> flag for next processing
     1614                  if (mBuffer[evID].nBoard >= actBoards)
     1615                  {
     1616                      evtCtrl.evtStat[iDx] = 99;
     1617                      gi.evtTot++;
     1618                  }
     1619
     1620
     1621/*
     1622                  if (mBuffer[evID].nBoard >= actBoards)
     1623                  {
     1624                      // have we already reported first event of this run ???
     1625                      if (mBuffer[evID].runNum != actrun)
     1626                      {
     1627                          actrun = mBuffer[evID].runNum;
     1628
     1629                          for (int ir = 0; ir < MAX_RUN; ir++)
     1630                          {
     1631                              if (runCtrl[ir].runId == actrun)
     1632                              {
     1633                                  if (++runCtrl[ir].lastEvt == 0)
     1634                                  {
     1635                                      gotNewRun (actrun, mBuffer[evID].FADhead);
     1636                                      factPrintf(kInfo, 1, "gotNewRun called for run %d, event %d",
     1637                                                 mBuffer[evID].runNum, mBuffer[evID].evNum);
     1638                                      break;
     1639                                  }
     1640                              }
     1641                          }
     1642                      }
     1643                      //complete event read ---> flag for next processing
     1644                      evtCtrl.evtStat[iDx] = 99;
     1645                      gi.evtTot++;
     1646                  }
     1647*/
    16131648//                EndBuf:
    16141649                  //rd[i].bufTyp = 0;     //ready to read next header
     
    20812116       for (int k0=evtCtrl.frstPtr; k0!=evtCtrl.lastPtr; k0++, k0 %= MAX_EVT*MAX_RUN)
    20822117       {
    2083            if (!(evtCtrl.evtStat[k0] > 90 && evtCtrl.evtStat[k0] < 1000))
     2118           if (evtCtrl.evtStat[k0] <= 90 || evtCtrl.evtStat[k0] >= 1000)
    20842119           {
    20852120               if (evtCtrl.evtStat[k0] >= 0 && evtCtrl.evtStat[k0] < 90)
Note: See TracChangeset for help on using the changeset viewer.