]>
Commit | Line | Data |
---|---|---|
2906f4c2 | 1 | #ifndef ALIITSRAWSTREAM_H |
2 | #define ALIITSRAWSTREAM_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 is a base class for providing access to ITS digits in raw data. | |
11 | /// | |
12 | /////////////////////////////////////////////////////////////////////////////// | |
13 | ||
14 | #include <TObject.h> | |
2f8ed7ab | 15 | #include "AliITSDDLModuleMapSDD.h" |
16 | #include "AliLog.h" | |
2906f4c2 | 17 | |
18 | class AliRawReader; | |
19 | ||
20 | ||
21 | class AliITSRawStream: public TObject { | |
22 | public : | |
23 | AliITSRawStream(AliRawReader* rawReader); | |
24 | AliITSRawStream(const AliITSRawStream& stream); | |
25 | AliITSRawStream& operator = (const AliITSRawStream& stream); | |
26 | virtual ~AliITSRawStream() {}; | |
27 | ||
28 | virtual Bool_t Next() = 0; | |
29 | ||
30 | Int_t GetModuleID() const {return fModuleID;}; | |
31 | Int_t GetPrevModuleID() const {return fPrevModuleID;}; | |
32 | Bool_t IsNewModule() const {return fModuleID != fPrevModuleID;}; | |
33 | Int_t GetCoord1() const {return fCoord1;}; | |
34 | Int_t GetCoord2() const {return fCoord2;}; | |
35 | Int_t GetSignal() const {return fSignal;}; | |
5dfa68c5 | 36 | virtual Bool_t IsCompletedModule() const {return fCompletedModule;}; // to be implemented in derived class |
2f8ed7ab | 37 | virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* /*ddlsdd*/){ |
38 | AliError("This method must be implemented in a derived class"); | |
39 | }; | |
40 | virtual void SetZeroSuppLowThreshold(Int_t /*iMod*/, Int_t /*iSid*/, Int_t /*th*/) { | |
41 | AliError("This method must be implemented in a derived class"); | |
42 | }; | |
6297cc01 | 43 | virtual Int_t GetCarlosId() const { |
44 | AliError("This method must be implemented in a derived class"); | |
45 | return -1; | |
46 | }; | |
47 | virtual Int_t GetChannel() const { | |
48 | AliError("This method must be implemented in a derived class"); | |
49 | return -1; | |
50 | }; | |
2f8ed7ab | 51 | |
52 | ||
2906f4c2 | 53 | protected : |
54 | AliRawReader* fRawReader; // object for reading the raw data | |
55 | ||
56 | Int_t fModuleID; // index of current module | |
57 | Int_t fPrevModuleID; // index of previous module | |
58 | Int_t fCoord1; // current 1st coordinate | |
59 | // SPD: column cell number (z) | |
60 | // SDD: anode cell number (z) | |
61 | // SSD: N/P, flag for side | |
62 | Int_t fCoord2; // current 2nd coordinate | |
63 | // SPD: row cell number (y) | |
64 | // SDD: time bin number (y) | |
65 | // SSD: strip number | |
66 | Int_t fSignal; // signal in ADC counts | |
5dfa68c5 | 67 | Bool_t fCompletedModule; // set to kTRUE when all data from a module (SDD) are read |
2906f4c2 | 68 | |
5dfa68c5 | 69 | ClassDef(AliITSRawStream, 1) // base class for reading ITS raw digits |
2906f4c2 | 70 | }; |
71 | ||
72 | #endif |