]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ZDC/AliZDCRawStream.h
Digits and raw data updated for commissioning
[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            GetADCValue() const {return fADCValue;};
27     UInt_t           GetADCRaw() const {return fRawADC;};
28     Int_t            GetADCGain() const {return fADCGain;};
29     Bool_t           IsADCDataWord() const {return fIsADCDataWord;};
30
31   enum EZDCRawStreamError {
32     kInvalidADCModule = 1
33   };
34
35   private :
36     AliZDCRawStream(const AliZDCRawStream& stream);
37     AliZDCRawStream& operator = (const AliZDCRawStream& stream);
38
39     AliRawReader*    fRawReader;     // object for reading the raw data
40
41     UInt_t           fRawADC;        // raw ADC
42     Int_t            fSector[2];     // index of current sector
43     Int_t            fADCModule;     // ADC module;
44     Int_t            fADCValue;      // ADC value;
45     Int_t            fADCGain;       // ADC gain (0=high range; 1=low range)
46     Bool_t           fIsADCDataWord; //True when data word
47
48     ClassDef(AliZDCRawStream, 2)    // class for reading ZDC raw digits
49 };
50
51 #endif