#include "AliACORDERawReader.h"
#include "AliBitPacking.h"
#include "TBits.h"
#include <Riostream.h>
#include "TMath.h"
#include "TH1F.h"
#include "TArrayI.h"
#include "AliLog.h"
ClassImp(AliACORDERawReader)
AliACORDERawReader::AliACORDERawReader (AliRawReader *rawReader, Bool_t isOnline):
TNamed("ACORDERawReader","read raw ACORDE data"),
fRawReader(rawReader),
fData(NULL),
fPosition(0),
fIsOnline(isOnline),
fDataSize(0)
{
fWord[0] = fWord[1] = fWord[2] = fWord[3] = 0;
}
AliACORDERawReader::~AliACORDERawReader ()
{
}
Bool_t AliACORDERawReader::Next()
{
if (fPosition >= 0) return kFALSE;
if (!fRawReader->ReadNextData(fData)) return kFALSE;
if (fRawReader->GetDataSize() == 0) return kFALSE;
fDataSize = fRawReader->GetDataSize();
if (fDataSize != 16) {
fRawReader->AddFatalErrorLog(kRawDataSizeErr,Form("size %d != 16",fDataSize));
AliWarning(Form("Wrong ACORDE raw data size: %d, expected 16 bytes!",fDataSize));
return kFALSE;
}
fPosition = 0;
for (Int_t i=0; i<4; i++)
fWord[i] = GetNextWord();
return kTRUE;
}
Int_t AliACORDERawReader::GetPosition()
{
if (((fRawReader->GetDataSize() * 8) % 32) != 0)
AliFatal(Form("Incorrect raw data size ! %d words are found !",fRawReader->GetDataSize()));
return (fRawReader->GetDataSize() * 8) / 32;
}
UInt_t AliACORDERawReader::GetNextWord()
{
if (!fData || fPosition < 0)
AliFatal("Raw data payload buffer is not yet initialized !");
UInt_t word = 0;
word |= fData[fPosition++];
word |= fData[fPosition++] << 8;
word |= fData[fPosition++] << 16;
word |= fData[fPosition++] << 24;
return word;
}
AliACORDERawReader.cxx:10 AliACORDERawReader.cxx:11 AliACORDERawReader.cxx:12 AliACORDERawReader.cxx:13 AliACORDERawReader.cxx:14 AliACORDERawReader.cxx:15 AliACORDERawReader.cxx:16 AliACORDERawReader.cxx:17 AliACORDERawReader.cxx:18 AliACORDERawReader.cxx:19 AliACORDERawReader.cxx:20 AliACORDERawReader.cxx:21 AliACORDERawReader.cxx:22 AliACORDERawReader.cxx:23 AliACORDERawReader.cxx:24 AliACORDERawReader.cxx:25 AliACORDERawReader.cxx:26 AliACORDERawReader.cxx:27 AliACORDERawReader.cxx:28 AliACORDERawReader.cxx:29 AliACORDERawReader.cxx:30 AliACORDERawReader.cxx:31 AliACORDERawReader.cxx:32 AliACORDERawReader.cxx:33 AliACORDERawReader.cxx:34 AliACORDERawReader.cxx:35 AliACORDERawReader.cxx:36 AliACORDERawReader.cxx:37 AliACORDERawReader.cxx:38 AliACORDERawReader.cxx:39 AliACORDERawReader.cxx:40 AliACORDERawReader.cxx:41 AliACORDERawReader.cxx:42 AliACORDERawReader.cxx:43 AliACORDERawReader.cxx:44 AliACORDERawReader.cxx:45 AliACORDERawReader.cxx:46 AliACORDERawReader.cxx:47 AliACORDERawReader.cxx:48 AliACORDERawReader.cxx:49 AliACORDERawReader.cxx:50 AliACORDERawReader.cxx:51 AliACORDERawReader.cxx:52 AliACORDERawReader.cxx:53 AliACORDERawReader.cxx:54 AliACORDERawReader.cxx:55 AliACORDERawReader.cxx:56 AliACORDERawReader.cxx:57 AliACORDERawReader.cxx:58 AliACORDERawReader.cxx:59 AliACORDERawReader.cxx:60 AliACORDERawReader.cxx:61 AliACORDERawReader.cxx:62 AliACORDERawReader.cxx:63 AliACORDERawReader.cxx:64 AliACORDERawReader.cxx:65 AliACORDERawReader.cxx:66 AliACORDERawReader.cxx:67 AliACORDERawReader.cxx:68 AliACORDERawReader.cxx:69 AliACORDERawReader.cxx:70 AliACORDERawReader.cxx:71 AliACORDERawReader.cxx:72 AliACORDERawReader.cxx:73 AliACORDERawReader.cxx:74 AliACORDERawReader.cxx:75 AliACORDERawReader.cxx:76 AliACORDERawReader.cxx:77 AliACORDERawReader.cxx:78 AliACORDERawReader.cxx:79 AliACORDERawReader.cxx:80 AliACORDERawReader.cxx:81 AliACORDERawReader.cxx:82 AliACORDERawReader.cxx:83 AliACORDERawReader.cxx:84 AliACORDERawReader.cxx:85 AliACORDERawReader.cxx:86 AliACORDERawReader.cxx:87 AliACORDERawReader.cxx:88 AliACORDERawReader.cxx:89 AliACORDERawReader.cxx:90 AliACORDERawReader.cxx:91 AliACORDERawReader.cxx:92 AliACORDERawReader.cxx:93 AliACORDERawReader.cxx:94 AliACORDERawReader.cxx:95 AliACORDERawReader.cxx:96 AliACORDERawReader.cxx:97 AliACORDERawReader.cxx:98 AliACORDERawReader.cxx:99 AliACORDERawReader.cxx:100 AliACORDERawReader.cxx:101 AliACORDERawReader.cxx:102 AliACORDERawReader.cxx:103 AliACORDERawReader.cxx:104 AliACORDERawReader.cxx:105 AliACORDERawReader.cxx:106 AliACORDERawReader.cxx:107 AliACORDERawReader.cxx:108 AliACORDERawReader.cxx:109 AliACORDERawReader.cxx:110