Fixes in order to write correct raw-data on big-endian platforms (Marco)
[u/mrichter/AliRoot.git] / PMD / AliPMDRawStream.h
CommitLineData
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
16class AliRawReader;
17
18
19class AliPMDRawStream: public TObject {
20 public :
21 AliPMDRawStream(AliRawReader* rawReader);
22 virtual ~AliPMDRawStream();
23
9ac124a2 24 Bool_t DdlData(Int_t indexDDL, 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
34ab69dd 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;
e54787da 45 void TransformH2S(Int_t smn, Int_t &row, Int_t &col) const;
a98f9d26 46 int ComputeParity(Int_t data);
a09a2da4 47
48 AliRawReader* fRawReader; // object for reading the raw data
49
a09a2da4 50
9ac124a2 51 ClassDef(AliPMDRawStream, 3) // class for reading PMD raw digits
a09a2da4 52};
53
54#endif