Line data Source code
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 :
16 : class AliRawReader;
17 :
18 : class AliACORDERawStream : public TObject {
19 :
20 : public:
21 :
22 : AliACORDERawStream(AliRawReader*);
23 : AliACORDERawStream(const AliACORDERawStream &r);
24 : virtual ~AliACORDERawStream();
25 : AliACORDERawStream &operator=(const AliACORDERawStream &r);
26 : //MRC's part
27 : Int_t GetNEvents(char* fileName);
28 : //
29 : virtual void Reset();
30 : virtual Bool_t Next();
31 :
32 0 : Int_t DataSize() const { return fDataSize; }
33 : UInt_t GetWord(Int_t index) const;
34 :
35 : enum EACORDERawStreamError {
36 : kRawDataSizeErr = 1
37 : };
38 :
39 : private:
40 :
41 : UInt_t GetNextWord();
42 :
43 : AliRawReader* fRawReader; // object for reading the raw data
44 : Int_t fPosition; // current position in the raw-data payload
45 : UChar_t* fData; // pointer to raw data payload
46 :
47 : Int_t fDataSize; // data size
48 :
49 : UInt_t fWord[4]; // data vector
50 :
51 20 : ClassDef(AliACORDERawStream,0) // class for reading ACORDE DDL raw data
52 :
53 : };
54 :
55 : typedef AliACORDERawStream AliCRTRawStream; // for backward compatibility
56 :
57 : #endif
|