]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliITSRawStreamSDDv2.h
Fix in raw data headers processing in AliMDC. Removing wrong equipment size in versio...
[u/mrichter/AliRoot.git] / RAW / AliITSRawStreamSDDv2.h
1 #ifndef ALIITSRAWSTREAMSDDV2_H
2 #define ALIITSRAWSTREAMSDDV2_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 ITS SDD digits in test beam raw data.
11 ///
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "AliITSRawStream.h"
15
16 class AliRawReader;
17
18
19 class AliITSRawStreamSDDv2: public AliITSRawStream {
20   public :
21     AliITSRawStreamSDDv2(AliRawReader* rawReader);
22     virtual ~AliITSRawStreamSDDv2() {};
23
24     virtual Bool_t   Next();
25
26     Int_t            GetAnode() const {return fCoord1;};
27     Int_t            GetTimeBin() const {return fCoord2;};
28
29   private :
30     UInt_t           ReadBits();
31     Int_t            DecompAmbra(Int_t value) const;
32
33     UInt_t           fData;         // data read for file
34
35     static const UInt_t fgkCodeLength[8];  // length of coded data word
36     Int_t            fSkip;            // number of skipped words
37     Int_t            fEventId;         // event ID from the header
38     Int_t            fCarlosId;        // carlos ID from the header
39     Int_t            fChannel;         // current channel
40     ULong64_t        fChannelData[2];  // packed data for the 2 channels
41     UInt_t           fLastBit[2];      // last filled bit in fChannelData
42     UInt_t           fChannelCode[2];  // current channel code
43     Bool_t           fReadCode[2];     // next bits are code or data
44     UInt_t           fReadBits[2];     // number of bits to read
45     Int_t            fTimeBin[2];      // current time bin
46     Int_t            fAnode[2];        // current anode number
47     Int_t            fLowThreshold[2]; // low Carlos threshold
48
49     ClassDef(AliITSRawStreamSDDv2, 0) // class for reading ITS SDD raw digits
50 };
51
52 #endif