Mapping file put in the CDB
[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;
3d8b8ac5 17class AliCDBManager;
18class AliCDBStorage;
19class AliCDBEntry;
20class AliPMDMappingData;
a09a2da4 21
22
23class AliPMDRawStream: public TObject {
24 public :
25 AliPMDRawStream(AliRawReader* rawReader);
26 virtual ~AliPMDRawStream();
27
722ccc67 28 Int_t DdlData(TObjArray *pmdddlcont);
a09a2da4 29
30 enum {kDDLOffset = 0xC00}; // offset for DDL numbers
31
608c1f27 32 enum EPMDRawStreamError {
33 kDDLIndexMismatch = 1,
34 kNoMappingFile = 2,
35 kParityError = 3
36 };
37
a09a2da4 38 private :
39 AliPMDRawStream(const AliPMDRawStream& stream);
40 AliPMDRawStream& operator = (const AliPMDRawStream& stream);
41
08cf9354 42 void GetRowCol(Int_t imodule, Int_t pbusid,
34ab69dd 43 UInt_t mcmno, UInt_t chno,
44 Int_t startRowBus[], Int_t endRowBus[],
45 Int_t startColBus[], Int_t endColBus[],
46 Int_t &row, Int_t &col) const;
47 void ConvertDDL2SMN(Int_t iddl, Int_t imodule,
48 Int_t &smn, Int_t &detector) const;
e54787da 49 void TransformH2S(Int_t smn, Int_t &row, Int_t &col) const;
722ccc67 50 Int_t ComputeParity(UInt_t data1);
51 UInt_t GetNextWord();
3d8b8ac5 52 void Ddl0Mapping(Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 53 Int_t startRowBus[], Int_t endRowBus[],
54 Int_t startColBus[], Int_t endColBus[]);
3d8b8ac5 55 void Ddl1Mapping(Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 56 Int_t startRowBus[], Int_t endRowBus[],
57 Int_t startColBus[], Int_t endColBus[]);
3d8b8ac5 58 void Ddl2Mapping(Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 59 Int_t startRowBus[], Int_t endRowBus[],
60 Int_t startColBus[], Int_t endColBus[]);
3d8b8ac5 61 void Ddl3Mapping(Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 62 Int_t startRowBus[], Int_t endRowBus[],
63 Int_t startColBus[], Int_t endColBus[]);
3d8b8ac5 64 void Ddl4Mapping(Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 65 Int_t startRowBus[], Int_t endRowBus[],
66 Int_t startColBus[], Int_t endColBus[]);
3d8b8ac5 67 void Ddl5Mapping(Int_t moduleNo[], Int_t mcmperBus[],
89f0ae35 68 Int_t startRowBus[], Int_t endRowBus[],
69 Int_t startColBus[], Int_t endColBus[]);
a09a2da4 70
3d8b8ac5 71 AliPMDMappingData *GetMappingData() const;
72
a09a2da4 73 AliRawReader* fRawReader; // object for reading the raw data
722ccc67 74 UChar_t* fData; // pointer to the data
75 Int_t fPosition;
a09a2da4 76
3d8b8ac5 77 AliPMDMappingData *fMapData; //! Mapping data
78
79 ClassDef(AliPMDRawStream, 8) // class for reading PMD raw digits
a09a2da4 80};
81
82#endif