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 */
8 ///////////////////////////////////////////////////////////////////////////////
10 /// This class provides access to PMD digits in raw data.
12 ///////////////////////////////////////////////////////////////////////////////
19 class AliPMDRawStream: public TObject {
21 AliPMDRawStream(AliRawReader* rawReader);
22 virtual ~AliPMDRawStream();
24 Bool_t DdlData(Int_t indexDDL, TObjArray *pmdddlcont);
26 enum {kDDLOffset = 0xC00}; // offset for DDL numbers
28 enum EPMDRawStreamError {
29 kDDLIndexMismatch = 1,
35 AliPMDRawStream(const AliPMDRawStream& stream);
36 AliPMDRawStream& operator = (const AliPMDRawStream& stream);
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 ComputeParity(Int_t data);
48 AliRawReader* fRawReader; // object for reading the raw data
51 ClassDef(AliPMDRawStream, 4) // class for reading PMD raw digits