rlu_hijing has to be float to work correctly with gfortran (Fedora Core 7)
[u/mrichter/AliRoot.git] / ZDC / AliZDCRawStream.h
1 #ifndef ALIZDCRAWSTREAM_H
2 #define ALIZDCRAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 ///
10 /// This class provides access to ZDC digits in raw data.
11 ///
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include <TObject.h>
15
16 class AliRawReader;
17
18
19 class AliZDCRawStream: public TObject {
20   public :
21     AliZDCRawStream(AliRawReader* rawReader); 
22     virtual ~AliZDCRawStream();
23     virtual Bool_t   Next();
24
25     Int_t            GetSector(Int_t i) const {return fSector[i];};
26     Int_t            GetADCModule() const {return fADCModule;};
27     Int_t            GetADCValue() const {return fADCValue;};
28     UInt_t           GetADCRaw() const {return fRawADC;};
29     Int_t            GetADCGain() const {return fADCGain;};
30     Bool_t           IsADCDataWord() const {return fIsADCDataWord;};
31
32   enum EZDCRawStreamError {
33     kInvalidADCModule = 1
34   };
35
36   private :
37     AliZDCRawStream(const AliZDCRawStream& stream);
38     AliZDCRawStream& operator = (const AliZDCRawStream& stream);
39
40     AliRawReader*    fRawReader;     // object for reading the raw data
41
42     UInt_t           fRawADC;        // raw ADC
43     Int_t            fSector[2];     // index of current sector
44     Int_t            fADCModule;     // ADC module;
45     Int_t            fADCValue;      // ADC value;
46     Int_t            fADCGain;       // ADC gain (0=high range; 1=low range)
47     Bool_t           fIsADCDataWord; //True when data word
48
49     ClassDef(AliZDCRawStream, 2)    // class for reading ZDC raw digits
50 };
51
52 #endif