]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ACORDE/AliACORDERawStream.h
Completely Updated (Mario Sitta)
[u/mrichter/AliRoot.git] / ACORDE / AliACORDERawStream.h
CommitLineData
0a59828d 1#ifndef ALIACORDERAWSTREAM_H
2#define ALIACORDERAWSTREAM_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliACORDERawStream.h 20210 2007-08-18 08:41:30Z hristov $ */
7
8///////////////////////////////////////////////////////////////////////////////
9// //
10// Reads ACORDE DDL raw data from raw data stream //
11// //
12///////////////////////////////////////////////////////////////////////////////
13
14#include "TObject.h"
15
16class AliRawReader;
17
18class AliACORDERawStream : public TObject {
19
20 public:
21
22 AliACORDERawStream(AliRawReader*);
23 virtual ~AliACORDERawStream();
24// AliACORDERawStream &operator=(const AliACORDERawStream &r);
25
26 virtual void Reset();
27 virtual Bool_t Next();
28
29 Int_t DataSize() const { return fDataSize; }
30 UInt_t GetWord(Int_t index) const;
31
32 enum EACORDERawStreamError {
33 kRawDataSizeErr = 1
34 };
35
36 private:
37
38 UInt_t GetNextWord();
39 UShort_t GetNextShort();
40
41
42 AliRawReader* fRawReader; // object for reading the raw data
43 Int_t fPosition; // current position in the raw-data payload
44 UChar_t* fData; // pointer to raw data payload
45
46 Int_t fDataSize; // data size
47
48 UInt_t fWord[4]; // data vector
49
50 ClassDef(AliACORDERawStream,0) // class for reading ACORDE DDL raw data
51
52};
53
54typedef AliACORDERawStream AliCRTRawStream; // for backward compatibility
55
56#endif