Beispiel #1
0
void Interpret::reset()
{
	info("reset()");
	resetCounters();
	resetEventVariables();
	_lastMetaIndexNotSet = 0;
	_lastWordIndexSet = 0;
	_metaEventIndexLength = 0;
	_metaEventIndex = 0;
	_startWordIndex = 0;
}
Beispiel #2
0
void Interpret::addEvent()
{
	if (Basis::debugSet()) {
		std::stringstream tDebug;
		tDebug << "addEvent() " << _nEvents;
		debug(tDebug.str());
	}
	if (tTotalHits == 0) {
		_nEmptyEvents++;
		if (_createEmptyEventHits) {
			addEventErrorCode(__NO_HIT);
			addHit(0, 0, 0, 0, 0, 0);
		}
	}
	if (tTriggerWord == 0) {
		addEventErrorCode(__NO_TRG_WORD);
		if (_firstTriggerNrSet)  // set the last existing trigger number for events without trigger number if trigger numbers exist
			tEventTriggerNumber = _lastTriggerNumber;
	}
	if (tTriggerWord > 1) {
		addTriggerErrorCode(__TRG_NUMBER_MORE_ONE);
		if (Basis::warningSet())
			warning(std::string("addEvent: # trigger words > 1 at event " + LongIntToStr(_nEvents)));
	}
	if (_useTdcTriggerTimeStamp && tTdcTimeStamp >= 254)
		addEventErrorCode(__TDC_OVERFLOW);

	storeEventHits();
	if (tTotalHits > _nMaxHitsPerEvent)
		_nMaxHitsPerEvent = tTotalHits;
	histogramTriggerErrorCode();
	histogramErrorCode();
	if (_createMetaDataWordIndex) {
		if (_actualMetaWordIndex < _metaWordIndexLength) {
			_metaWordIndex[_actualMetaWordIndex].eventIndex = _nEvents;
			_metaWordIndex[_actualMetaWordIndex].startWordIdex = _startWordIndex;
			_metaWordIndex[_actualMetaWordIndex].stopWordIdex = _nDataWords - 1;
			_startWordIndex = _nDataWords - 1;
			_actualMetaWordIndex++;
		}
		else {
			std::stringstream tInfo;
			tInfo << "Interpret::addEvent(): meta word index array is too small " << _actualMetaWordIndex << ">=" << _metaWordIndexLength;
			throw std::out_of_range(tInfo.str());
		}
	}
	_nEvents++;
	resetEventVariables();
}
Beispiel #3
0
void Interpret::reset()
{
	info("reset()");
	resetCounters();
	resetEventVariables();
	_lastMetaIndexNotSet = 0;
	_lastWordIndexSet = 0;
	_metaEventIndexLength = 0;
	_metaEventIndex = 0;
	_startWordIndex = 0;
	// initialize SRAM variables to 0
	tTriggerNumber = 0;
	tActualLVL1ID = 0;
	tActualBCID = 0;
	tActualSRcode= 0;
	tActualSRcounter = 0;
}