]>
Commit | Line | Data |
---|---|---|
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 | Bool_t DdlData(Int_t indexDDL, 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 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 ComputeParity(Int_t data); | |
47 | ||
48 | AliRawReader* fRawReader; // object for reading the raw data | |
49 | ||
50 | ||
51 | ClassDef(AliPMDRawStream, 3) // class for reading PMD raw digits | |
52 | }; | |
53 | ||
54 | #endif |