Line data Source code
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 0 : class AliITSRawStreamSSD: public AliITSRawStream {
22 : public :
23 : AliITSRawStreamSSD(AliRawReader* rawReader);
24 16 : virtual ~AliITSRawStreamSSD() {};
25 :
26 : virtual Bool_t Next();
27 :
28 24930 : Int_t GetSideFlag() const {return fCoord1;}
29 24930 : Int_t GetStrip() const {return fCoord2;}
30 24938 : Int_t GetDDL() const {return fddl;}
31 24938 : Int_t GetAD() const {return fad;}
32 24930 : Int_t GetADC() const {return fadc;}
33 :
34 : static Bool_t InitDDLModuleMap(); // Initialize DLL module map
35 : static void Setv11HybridDDLMapping();
36 : static void SetvPPRasymmFMDDDLMapping();
37 :
38 : enum {kDDLsNumber = 16}; // number of DDLs in SSD
39 : enum {kModulesPerDDL = 108}; // number of modules in each DDL
40 :
41 : static Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule);
42 :
43 : enum ESSDRawStreamError {
44 : kWrongModuleIdErr = 1
45 : };
46 :
47 : Int_t fddl; // ddl
48 : Int_t fad; // ad module
49 : Int_t fadc; // adc
50 :
51 : Bool_t flag; //
52 :
53 : protected :
54 : static Bool_t fgkDDLModuleMapInit; // Module map is initialized or not
55 : static Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL]; // mapping DDL/module -> module number
56 :
57 : UInt_t fData; // data read for file
58 :
59 118 : ClassDef(AliITSRawStreamSSD, 0) // class for reading ITS SSD raw digits
60 : };
61 :
62 : #endif
|