// File: hldevt.cc // //*-- Author : Walter Karig //*-- Modified : 97/12/11 18:19:30 by Walter Karig //*-- Modified : 25/03/98 by Manuel Sanchez Garcia // ////////////////////////////////////////////////////// //HldEvent // // Class used for reading LMD events from file // ///////////////////////////////////////////////////// #include #include "hldfilevt.h" //ClassImp(HldFilEvt) Bool_t HldFilEvt::read() { if (file->eof()) { return kFALSE; } if (pData) { delete[] pData; pData = 0; } if (file->read(pHdr, getHdrSize())) { if (isSwapped()) swapHdr(); if (getSize() > getHdrSize()) { pData = new UInt4[getDataLen()]; if (file->read(pData, getDataSize())) file->ignore(getPaddedSize() - getSize()); } } return file->good(); } Bool_t HldFilEvt::readSubEvt(size_t i) { UInt4* p; if (i) p = subEvt[i-1].getPaddedEnd(); else p = pData; if (p < getPaddedEnd()) subEvt[i] = HldSubEvt(p); else return kFALSE; return kTRUE; } Bool_t HldFilEvt::execute() { if (read()){ for (size_t idx = 0; idx < lastSubEvtIdx; idx++) // reset *subEvtTable[idx].p = 0; for (size_t i = 0; i < maxSubEvts && readSubEvt(i); i++) for (size_t idx = 0; idx < lastSubEvtIdx; idx++) { // cout << "\tsubEvt["<