]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PMD/AliPMDRawStream.h
Fix compiler warning
[u/mrichter/AliRoot.git] / PMD / AliPMDRawStream.h
1 #ifndef ALIPMDRAWSTREAM_H
2 #define ALIPMDRAWSTREAM_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 PMD digits in raw data.
11 ///
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include <TObject.h>
15
16 class AliRawReader;
17
18
19 class AliPMDRawStream: public TObject {
20   public :
21     AliPMDRawStream(AliRawReader* rawReader);
22     virtual ~AliPMDRawStream();
23
24     Int_t DdlData(TObjArray *pmdddlcont);
25
26     enum {kDDLOffset = 0xC00};      // offset for DDL numbers
27
28     enum EPMDRawStreamError {
29       kDDLIndexMismatch = 1,
30       kNoMappingFile = 2,
31       kParityError = 3
32     };
33
34   private :
35     AliPMDRawStream(const AliPMDRawStream& stream);
36     AliPMDRawStream& operator = (const AliPMDRawStream& stream);
37
38     void             GetRowCol(Int_t ddlno, Int_t smn, Int_t pbusid, 
39                                UInt_t mcmno, UInt_t chno,
40                                Int_t startRowBus[], Int_t endRowBus[],
41                                Int_t startColBus[], Int_t endColBus[],
42                                Int_t &row, Int_t &col) const;
43     void             ConvertDDL2SMN(Int_t iddl, Int_t imodule,
44                                     Int_t &smn, Int_t &detector) const;
45     void             TransformH2S(Int_t smn, Int_t &row, Int_t &col) const;
46     Int_t            ComputeParity(UInt_t data1);
47     UInt_t           GetNextWord();
48     void             Ddl0Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
49                                  Int_t startRowBus[], Int_t endRowBus[],
50                                  Int_t startColBus[], Int_t endColBus[]);
51     void             Ddl1Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
52                                  Int_t startRowBus[], Int_t endRowBus[],
53                                  Int_t startColBus[], Int_t endColBus[]);
54     void             Ddl2Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
55                                  Int_t startRowBus[], Int_t endRowBus[],
56                                  Int_t startColBus[], Int_t endColBus[]);
57     void             Ddl3Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
58                                  Int_t startRowBus[], Int_t endRowBus[],
59                                  Int_t startColBus[], Int_t endColBus[]);
60     void             Ddl4Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
61                                  Int_t startRowBus[], Int_t endRowBus[],
62                                  Int_t startColBus[], Int_t endColBus[]);
63     void             Ddl5Mapping(Int_t moduleNo[],    Int_t mcmperBus[],
64                                  Int_t startRowBus[], Int_t endRowBus[],
65                                  Int_t startColBus[], Int_t endColBus[]);
66
67     AliRawReader*    fRawReader;    // object for reading the raw data
68     UChar_t*         fData;         // pointer to the data
69     Int_t            fPosition;
70
71     ClassDef(AliPMDRawStream, 6)    // class for reading PMD raw digits
72 };
73
74 #endif