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