Bug fix related to reconstruction of simulated data in raw format (E. Fragiacomo)
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSSD.h
1 #ifndef ALIITSRAWSTREAMSSD_H
2 #define ALIITSRAWSTREAMSSD_H
3 /* Copyright(c) 2007-2009, 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 //  Revised by Enrico Fragiacomo
12 //  Last update: 2007/09/06
13 ///
14 ///////////////////////////////////////////////////////////////////////////////
15
16 #include "AliITSRawStream.h"
17
18 class AliRawReader;
19
20
21 class AliITSRawStreamSSD: public AliITSRawStream {
22   public :
23     AliITSRawStreamSSD(AliRawReader* rawReader);
24     virtual ~AliITSRawStreamSSD() {};
25
26     virtual Bool_t   Next();
27
28     Int_t            GetSideFlag() const {return fCoord1;}
29     Int_t            GetStrip() const {return fCoord2;}
30     Int_t GetDDL() const {return fddl;}
31     Int_t GetAD() const {return fad;}
32     Int_t GetADC() const {return fadc;}
33
34     enum {kDDLsNumber = 16};      // number of DDLs in SSD
35     enum {kModulesPerDDL = 108};  // number of modules in each DDL
36
37     static Int_t     GetModuleNumber(UInt_t iDDL, UInt_t iModule)
38       {return fgkDDLModuleMap[iDDL][iModule];}
39
40     enum ESSDRawStreamError {
41       kWrongModuleIdErr = 1
42     };
43
44     Int_t fddl;
45     Int_t fad;
46     Int_t fadc;
47
48     Bool_t flag;
49
50   protected :
51     static const Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL];  // mapping DDL/module -> module number
52
53     UInt_t           fData;         // data read for file
54
55     ClassDef(AliITSRawStreamSSD, 0) // class for reading ITS SSD raw digits
56 };
57
58 #endif