AliITSRawStream classes moved from RAW to ITS
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSSD.h
1 #ifndef ALIITSRAWSTREAMSSD_H
2 #define ALIITSRAWSTREAMSSD_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 SSD digits in raw data.
11 ///
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "AliITSRawStream.h"
15
16 class AliRawReader;
17
18
19 class AliITSRawStreamSSD: public AliITSRawStream {
20   public :
21     AliITSRawStreamSSD(AliRawReader* rawReader);
22     virtual ~AliITSRawStreamSSD() {};
23
24     virtual Bool_t   Next();
25
26     Int_t            GetSideFlag() const {return fCoord1;};
27     Int_t            GetStrip() const {return fCoord2;};
28
29     enum {kDDLOffset = 0x300};    // offset for DDL numbers
30     enum {kDDLsNumber = 16};      // number of DDLs in SSD
31     enum {kModulesPerDDL = 109};  // number of modules in each DDL
32
33     static Int_t     GetModuleNumber(UInt_t iDDL, UInt_t iModule)
34       {return fgkDDLModuleMap[iDDL][iModule];}
35
36   private :
37     static const Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL];  // mapping DDL/module -> module number
38
39     UInt_t           fData;         // data read for file
40
41     ClassDef(AliITSRawStreamSSD, 0) // class for reading ITS SSD raw digits
42 };
43
44 #endif