]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PMD/AliPMDRawStream.h
Adding EMCAL
[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
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