]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliITSRawStreamSPD.h
reset in NextEvent added
[u/mrichter/AliRoot.git] / RAW / AliITSRawStreamSPD.h
1 #ifndef ALIITSRAWSTREAMSPD_H
2 #define ALIITSRAWSTREAMSPD_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 SPD digits in raw data.
11 ///
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "AliITSRawStream.h"
15
16
17 class AliITSRawStreamSPD: public AliITSRawStream {
18   public :
19     AliITSRawStreamSPD(AliRawReader* rawReader);
20     virtual ~AliITSRawStreamSPD() {};
21
22     virtual Bool_t   Next();
23
24     Int_t            GetRow() const {return fCoord2;};
25     Int_t            GetColumn() const {return fCoord1;};
26
27     enum {kDDLOffset = 0x100};    // offset for DDL numbers
28     enum {kDDLsNumber = 20};      // number of DDLs in SPD
29     enum {kModulesPerDDL = 12};   // number of modules in each DDL
30
31     static Int_t     GetModuleNumber(UInt_t iDDL, UInt_t iModule)
32       {return fgkDDLModuleMap[iDDL][iModule];}
33
34   private :
35     static const Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL];  // mapping DDL/module -> module number
36
37     UShort_t         fData;         // data read for file
38     UInt_t           fOffset;       // offset for cell column
39     UInt_t           fHitCount;     // counter of hits
40
41     ClassDef(AliITSRawStreamSPD, 0) // class for reading ITS SPD raw digits
42 };
43
44 #endif