]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PMD/AliPMDRawStream.h
bring back some functionality which was deleted by accident
[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
08cf9354 38 void GetRowCol(Int_t imodule, 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();
08cf9354 48 void Ddl0Mapping(Int_t modulePerDDL,
49 Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 50 Int_t startRowBus[], Int_t endRowBus[],
51 Int_t startColBus[], Int_t endColBus[]);
08cf9354 52 void Ddl1Mapping(Int_t modulePerDDL,
53 Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 54 Int_t startRowBus[], Int_t endRowBus[],
55 Int_t startColBus[], Int_t endColBus[]);
08cf9354 56 void Ddl2Mapping(Int_t modulePerDDL,
57 Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 58 Int_t startRowBus[], Int_t endRowBus[],
59 Int_t startColBus[], Int_t endColBus[]);
08cf9354 60 void Ddl3Mapping(Int_t modulePerDDL,
61 Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 62 Int_t startRowBus[], Int_t endRowBus[],
63 Int_t startColBus[], Int_t endColBus[]);
08cf9354 64 void Ddl4Mapping(Int_t modulePerDDL,
65 Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 66 Int_t startRowBus[], Int_t endRowBus[],
67 Int_t startColBus[], Int_t endColBus[]);
08cf9354 68 void Ddl5Mapping(Int_t modulePerDDL,
69 Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 70 Int_t startRowBus[], Int_t endRowBus[],
71 Int_t startColBus[], Int_t endColBus[]);
a09a2da4 72
73 AliRawReader* fRawReader; // object for reading the raw data
722ccc67 74 UChar_t* fData; // pointer to the data
75 Int_t fPosition;
a09a2da4 76
08cf9354 77 ClassDef(AliPMDRawStream, 7) // class for reading PMD raw digits
a09a2da4 78};
79
80#endif