]>
Commit | Line | Data |
---|---|---|
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 | ||
16 | class AliRawReader; | |
17 | ||
18 | ||
19 | class AliPMDRawStream: public TObject { | |
20 | public : | |
21 | AliPMDRawStream(AliRawReader* rawReader); | |
22 | virtual ~AliPMDRawStream(); | |
23 | ||
24 | virtual Bool_t Next(); | |
25 | ||
26 | Int_t GetModule() const {return fModule;}; | |
27 | Int_t GetPrevModule() const {return fPrevModule;}; | |
28 | Bool_t IsNewModule() const {return fModule != fPrevModule;}; | |
29 | Int_t GetMCM() const {return fMCM;}; | |
30 | Int_t GetChannel() const {return fChannel;}; | |
31 | Int_t GetRow() const {return fRow;}; | |
32 | Int_t GetColumn() const {return fColumn;}; | |
33 | Int_t GetSignal() const {return fSignal;}; | |
34 | Int_t GetDetector() const {return fDetector;}; | |
35 | Int_t GetSMN() const {return fSMN;}; | |
36 | ||
37 | ||
38 | enum {kDDLOffset = 0xC00}; // offset for DDL numbers | |
39 | ||
40 | private : | |
41 | AliPMDRawStream(const AliPMDRawStream& stream); | |
42 | AliPMDRawStream& operator = (const AliPMDRawStream& stream); | |
43 | ||
44 | void GetRowCol(Int_t ddlno, UInt_t mcmno, UInt_t chno, | |
45 | Int_t &um, Int_t &row, Int_t &col) const; | |
e54787da | 46 | void ConvertDDL2SMN(Int_t iddl, Int_t ium, Int_t &smn, |
47 | Int_t &module, Int_t &detector) const; | |
48 | void TransformH2S(Int_t smn, Int_t &row, Int_t &col) const; | |
a09a2da4 | 49 | |
50 | AliRawReader* fRawReader; // object for reading the raw data | |
51 | ||
52 | Int_t fModule; // index of current module | |
53 | Int_t fPrevModule; // index of previous module | |
54 | Int_t fMCM; // index of current MCM | |
55 | Int_t fChannel; // index of current channel | |
56 | Int_t fRow; // index of current row | |
57 | Int_t fColumn; // index of current column | |
58 | Int_t fSignal; // signal in ADC counts | |
59 | Int_t fDetector; // PRE = 0, CPV = 1 | |
60 | Int_t fSMN; // serial module number (0-23) | |
61 | ||
e54787da | 62 | ClassDef(AliPMDRawStream, 1) // class for reading PMD raw digits |
a09a2da4 | 63 | }; |
64 | ||
65 | #endif |