-
+// $Id$
//**************************************************************************
//* This file is property of and copyright by the ALICE HLT Project *
//* ALICE Experiment at CERN, All rights reserved. *
//* provided "as is" without express or implied warranty. *
//**************************************************************************
-/** @file AliHLTTPCDigitReader32Bit.cxx
- @author Kenneth Aamodt
- @date
- @brief DigitReader implementation for the 32 bit offline decoder
-*/
-
-#if __GNUC__>= 3
-using namespace std;
-#endif
+/// @file AliHLTTPCDigitReader32Bit.cxx
+/// @author Kenneth Aamodt
+/// @date
+/// @brief DigitReader implementation for the 32 bit offline decoder
+///
#include <cassert>
#include "AliHLTTPCDigitReader32Bit.h"
#include "AliHLTTPCMapping.h"
#include "AliRawReader.h"
#include "AliRawReaderMemory.h"
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
#include "AliAltroRawStreamV3.h"
-#endif HAVE_NOT_ALTRORAWSTREAMV3
-#include "AliHLTTPCTransform.h"
+
+using namespace std;
ClassImp(AliHLTTPCDigitReader32Bit)
AliHLTTPCDigitReader32Bit::AliHLTTPCDigitReader32Bit()
:
AliHLTTPCDigitReader(),
- fRawReader(NULL),
fRawReaderMemory(NULL),
fAltroRawStreamV3(NULL),
- fMapping(NULL)
+ fMapping(NULL),
+ fSkipDataReadingFlag(kFALSE)
{
// see header file for class documentation
// or
fRawReaderMemory=NULL;
}
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
if (fAltroRawStreamV3){
delete fAltroRawStreamV3;
fAltroRawStreamV3 = NULL;
}
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
if(fMapping){
delete fMapping;
fRawReaderMemory->SetMemory(reinterpret_cast<UChar_t*>(ptr), ULong_t(size));
fRawReaderMemory->SetEquipmentID(ddlno);
fRawReaderMemory->Reset();
- fRawReaderMemory->NextEvent();
+ fSkipDataReadingFlag = fRawReaderMemory->NextEvent();
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
if(fAltroRawStreamV3 != NULL){
delete fAltroRawStreamV3;
fAltroRawStreamV3=NULL;
if (!fAltroRawStreamV3){
return -ENODEV;
}
- fAltroRawStreamV3->NextDDL();
-#else
- HLTError("AltroRawStreamV3 is not available in this AliRoot version");
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
+
+ fSkipDataReadingFlag = fAltroRawStreamV3->NextDDL();
if(!fMapping){
fMapping = new AliHLTTPCMapping(patch);
int AliHLTTPCDigitReader32Bit::Reset()
{
// see header file for class documentation
- fRawReaderMemory->Reset();
+ fRawReaderMemory->ClearBuffers();
return 0;
}
bool AliHLTTPCDigitReader32Bit::NextChannel()
{
// see header file for class documentation
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
- return fAltroRawStreamV3->NextChannel();
-#else
- return false;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
+ if(fSkipDataReadingFlag == kFALSE){
+ return kFALSE;
+ }
+ return fAltroRawStreamV3->NextChannel();
}
int AliHLTTPCDigitReader32Bit::NextBunch()
{
// see header file for class documentation
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
return fAltroRawStreamV3->NextBunch();
-#else
- return false;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
}
bool AliHLTTPCDigitReader32Bit::NextSignal()
const UShort_t* AliHLTTPCDigitReader32Bit::GetSignalsShort()
{
// see header file for class documentation
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
return fAltroRawStreamV3->GetSignals();
-#else
- return false;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
}
int AliHLTTPCDigitReader32Bit::GetRow()
{
// see header file for class documentation
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
return fMapping->GetRow(fAltroRawStreamV3->GetHWAddress());
-#else
- return -1;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
}
int AliHLTTPCDigitReader32Bit::GetPad()
{
// see header file for class documentation
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
return fMapping->GetPad(fAltroRawStreamV3->GetHWAddress());
-#else
- return -1;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
}
int AliHLTTPCDigitReader32Bit::GetSignal()
{
// see header file for class documentation
int iResult=-1;
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
iResult=fAltroRawStreamV3->GetStartTimeBin()-fAltroRawStreamV3->GetBunchLength()+1;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
return iResult;
}
int AliHLTTPCDigitReader32Bit::GetBunchSize()
{
// see header file for class documentation
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
return fAltroRawStreamV3->GetBunchLength();
-#else
- return -1;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
}
int AliHLTTPCDigitReader32Bit::GetRowOffset() const
AliHLTUInt32_t AliHLTTPCDigitReader32Bit::GetAltroBlockHWaddr() const
{
// see header file for class documentation
-#ifndef HAVE_NOT_ALTRORAWSTREAMV3
return (AliHLTUInt32_t)fAltroRawStreamV3->GetHWAddress();
-#else
- return 0;
-#endif //HAVE_NOT_ALTRORAWSTREAMV3
}
AliHLTUInt32_t AliHLTTPCDigitReader32Bit::GetAltroBlockHWaddr(Int_t row, Int_t pad) const