]>
Commit | Line | Data |
---|---|---|
a09a2da4 | 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 | ||
722ccc67 | 24 | Int_t DdlData(TObjArray *pmdddlcont); |
a09a2da4 | 25 | |
26 | enum {kDDLOffset = 0xC00}; // offset for DDL numbers | |
27 | ||
608c1f27 | 28 | enum EPMDRawStreamError { |
29 | kDDLIndexMismatch = 1, | |
30 | kNoMappingFile = 2, | |
31 | kParityError = 3 | |
32 | }; | |
33 | ||
a09a2da4 | 34 | private : |
35 | AliPMDRawStream(const AliPMDRawStream& stream); | |
36 | AliPMDRawStream& operator = (const AliPMDRawStream& stream); | |
37 | ||
40f4a63f | 38 | void GetRowCol(Int_t ddlno, Int_t smn, Int_t pbusid, |
34ab69dd | 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; | |
e54787da | 45 | void TransformH2S(Int_t smn, Int_t &row, Int_t &col) const; |
722ccc67 | 46 | Int_t ComputeParity(UInt_t data1); |
47 | UInt_t GetNextWord(); | |
89f0ae35 | 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[]); | |
a09a2da4 | 66 | |
67 | AliRawReader* fRawReader; // object for reading the raw data | |
722ccc67 | 68 | UChar_t* fData; // pointer to the data |
69 | Int_t fPosition; | |
a09a2da4 | 70 | |
89f0ae35 | 71 | ClassDef(AliPMDRawStream, 6) // class for reading PMD raw digits |
a09a2da4 | 72 | }; |
73 | ||
74 | #endif |