Classes for reading raw data moved to the RAW module. New on-line MONITORING module...
[u/mrichter/AliRoot.git] / RAW / AliRawReaderRoot.h
1 #ifndef ALIRAWREADERROOT_H
2 #define ALIRAWREADERROOT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 #include <TObject.h>
7 #include <Riostream.h>
8 #include "AliRawEvent.h"
9 #include "AliRawReader.h"
10
11
12 class AliRawReaderRoot: public AliRawReader {
13   public :
14     AliRawReaderRoot(const char* fileName, Int_t eventNumber);
15     AliRawReaderRoot(AliRawEvent* event);
16     virtual ~AliRawReaderRoot();
17
18     virtual UInt_t   GetType();
19     virtual UInt_t   GetRunNumber();
20     virtual const UInt_t* GetEventId();
21     virtual const UInt_t* GetTriggerPattern();
22     virtual const UInt_t* GetDetectorPattern();
23     virtual const UInt_t* GetAttributes();
24     virtual UInt_t   GetGDCId();
25
26     virtual Bool_t   ReadMiniHeader();
27     virtual Bool_t   ReadNextData(UChar_t*& data);
28
29     virtual Bool_t   Reset();
30
31   protected :
32     virtual Bool_t   ReadNext(UChar_t* data, Int_t size);
33
34     TFile*           fFile;         // raw data root file
35     AliRawEvent*     fEvent;        // (super) event
36     Int_t            fSubEventIndex; // index of current sub event
37     AliRawEvent*     fSubEvent;     // current sub event
38     AliRawData*      fRawData;      // current raw data
39     UChar_t*         fPosition;     // current position in the raw data
40     UChar_t*         fEnd;          // end position of the current subevent
41
42     ClassDef(AliRawReaderRoot, 0) // class for reading raw digits from a root file
43 };
44
45 #endif