AliZDCRecoParam class implemented
[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     UInt_t  GetADCRaw() const {return fRawADC;};
26     Int_t   GetSector(Int_t i) const {return fSector[i];};
27     Int_t   GetADCModule() const {return fADCModule;};
28     Int_t   GetADCChannel() const {return fADCChannel;};
29     Int_t   GetADCValue() const {return fADCValue;};
30     Int_t   GetADCGain() const {return fADCGain;};
31     Bool_t  IsADCDataWord() const {return fIsADCDataWord;};
32
33   enum EZDCRawStreamError {
34     kInvalidADCModule = 1
35   };
36
37   private :
38     AliZDCRawStream(const AliZDCRawStream& stream);
39     AliZDCRawStream& operator = (const AliZDCRawStream& stream);
40
41     AliRawReader*    fRawReader;     // object for reading the raw data
42
43     UInt_t           fRawADC;        // raw ADC
44     Int_t            fSector[2];     // index of current sector
45     Int_t            fADCModule;     // ADC module;
46     Int_t            fADCChannel;    // ADC module;
47     Int_t            fADCValue;      // ADC channel;
48     Int_t            fADCGain;       // ADC gain (0=high range; 1=low range)
49     Bool_t           fIsADCDataWord; //True when data word
50
51     ClassDef(AliZDCRawStream, 3)    // class for reading ZDC raw digits
52 };
53
54 #endif