X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HLT%2Frec%2FAliHLTOUTDigitReader.cxx;h=3c4e93e9e61725a4b0aa11662a06d20134c5c338;hb=da46899f224cabe68a6062d5d3845632dc66ea07;hp=b5323c95cd7ad95821e376019529e0b8cf1f3cb6;hpb=c512382464cdd8bfcef9d34c7134cd9d9376f9f5;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/rec/AliHLTOUTDigitReader.cxx b/HLT/rec/AliHLTOUTDigitReader.cxx index b5323c95cd7..3c4e93e9e61 100644 --- a/HLT/rec/AliHLTOUTDigitReader.cxx +++ b/HLT/rec/AliHLTOUTDigitReader.cxx @@ -1,11 +1,10 @@ // $Id$ //************************************************************************** -//* This file is property of and copyright by the ALICE HLT Project * +//* This file is property of and copyright by the * //* ALICE Experiment at CERN, All rights reserved. * //* * //* Primary Authors: Matthias Richter * -//* for The ALICE HLT Project. * //* * //* Permission to use, copy, modify and distribute this software and its * //* documentation strictly for non-commercial purposes is hereby granted * @@ -16,11 +15,11 @@ //* provided "as is" without express or implied warranty. * //************************************************************************** -/** @file AliHLTOUTDigitReader.cxx - @author Matthias Richter - @date - @brief HLTOUT data wrapper for simulated AliRoot HLT digit data. -*/ +/// @file AliHLTOUTDigitReader.cxx +/// @author Matthias Richter +/// @date +/// @brief HLTOUT data wrapper for simulated AliRoot HLT digit data. +/// #include "AliHLTOUTDigitReader.h" #include "AliRawDataHeader.h" @@ -35,9 +34,10 @@ /** ROOT macro for the implementation of ROOT specific class methods */ ClassImp(AliHLTOUTDigitReader) -AliHLTOUTDigitReader::AliHLTOUTDigitReader(int event, AliHLTEsdManager* pEsdManager) +AliHLTOUTDigitReader::AliHLTOUTDigitReader(int event, AliHLTEsdManager* pEsdManager, const char* digitFile) : AliHLTOUTHomerCollection(event, pEsdManager), + fDigitFileName(digitFile), fpDigitFile(NULL), fpDigitTree(NULL), fMinDDL(-1), @@ -45,18 +45,18 @@ AliHLTOUTDigitReader::AliHLTOUTDigitReader(int event, AliHLTEsdManager* pEsdMana fppDigitArrays(NULL), fpEquipments(NULL), fNofDDLs(0), - fCurrent(-1) + fCurrentLink(-1) { + // constructor + // + // HLTOUT data wrapper for simulated AliRoot HLT digit data + // // see header file for class documentation - // or - // refer to README to build package - // or - // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt } AliHLTOUTDigitReader::~AliHLTOUTDigitReader() { - // see header file for class documentation + // destructor CloseTree(); if (fpDigitFile) { @@ -68,18 +68,18 @@ AliHLTOUTDigitReader::~AliHLTOUTDigitReader() Bool_t AliHLTOUTDigitReader::ReadNextData(UChar_t*& data) { - // see header file for class documentation + // overloaded from AliHLTOUTHomerCollection: switch to next DDL if (!fppDigitArrays && (!ReadArrays() || !fppDigitArrays)) return kFALSE; - if (fCurrent>=fNofDDLs) + if (fCurrentLink>=fNofDDLs) return kFALSE; - while (++fCurrent-1 && fMinDDL>fpEquipments[fCurrent]) continue; - if (fMaxDDL>-1 && fMaxDDLGetSize()>(int)sizeof(AliRawDataHeader)) { - data=reinterpret_cast(fppDigitArrays[fCurrent]->GetArray()); + while (++fCurrentLink-1 && fMinDDL>fpEquipments[fCurrentLink]) continue; + if (fMaxDDL>-1 && fMaxDDLGetSize()>(int)sizeof(AliRawDataHeader)) { + data=reinterpret_cast(fppDigitArrays[fCurrentLink]->GetArray()); data+=sizeof(AliRawDataHeader); return kTRUE; } @@ -89,48 +89,51 @@ Bool_t AliHLTOUTDigitReader::ReadNextData(UChar_t*& data) int AliHLTOUTDigitReader::Reset() { - // see header file for class documentation - fCurrent=-1; + // overloaded from AliHLTOUTHomerCollection: reset DDL position + fCurrentLink=-1; return 0; } int AliHLTOUTDigitReader::GetDataSize() { - // see header file for class documentation - if (fCurrent>=0 && fCurrentGetSize()-sizeof(AliRawDataHeader); + // overloaded from AliHLTOUTHomerCollection: get size of current DDL + if (fCurrentLink>=0 && fCurrentLinkGetSize()-sizeof(AliRawDataHeader); } return 0; } const AliRawDataHeader* AliHLTOUTDigitReader::GetDataHeader() { - // see header file for class documentation - if (fCurrent>=0 && fCurrent(fppDigitArrays[fCurrent]->GetArray()); + // overloaded from AliHLTOUTHomerCollection: get data header of current DDL + if (fCurrentLink>=0 && fCurrentLink(fppDigitArrays[fCurrentLink]->GetArray()); } return NULL; } void AliHLTOUTDigitReader::SelectEquipment(int /*equipmentType*/, int minEquipmentId, int maxEquipmentId) { - // see header file for class documentation + // overloaded from AliHLTOUTHomerCollection: select equipment range fMinDDL=minEquipmentId; fMaxDDL=maxEquipmentId; } int AliHLTOUTDigitReader::GetEquipmentId() { - // see header file for class documentation - if (fCurrent>=0 && fCurrent=0 && fCurrentLinkIsZombie()) return false; @@ -198,8 +205,12 @@ bool AliHLTOUTDigitReader::ReadArrays() int AliHLTOUTDigitReader::CloseTree() { - // see header file for class documentation + // Cleanup tree and data arrays. int iResult=0; + for (int i=0; i