| 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 | private : |
| 29 | AliPMDRawStream(const AliPMDRawStream& stream); |
| 30 | AliPMDRawStream& operator = (const AliPMDRawStream& stream); |
| 31 | |
| 32 | void GetRowCol(Int_t ddlno, Int_t pbusid, |
| 33 | UInt_t mcmno, UInt_t chno, |
| 34 | Int_t startRowBus[], Int_t endRowBus[], |
| 35 | Int_t startColBus[], Int_t endColBus[], |
| 36 | Int_t &row, Int_t &col) const; |
| 37 | void ConvertDDL2SMN(Int_t iddl, Int_t imodule, |
| 38 | Int_t &smn, Int_t &detector) const; |
| 39 | void TransformH2S(Int_t smn, Int_t &row, Int_t &col) const; |
| 40 | int ComputeParity(Int_t data); |
| 41 | |
| 42 | AliRawReader* fRawReader; // object for reading the raw data |
| 43 | |
| 44 | |
| 45 | ClassDef(AliPMDRawStream, 3) // class for reading PMD raw digits |
| 46 | }; |
| 47 | |
| 48 | #endif |