]>
Commit | Line | Data |
---|---|---|
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> | |
15 | #include "AliITSDDLModuleMapSDD.h" | |
16 | #include "AliLog.h" | |
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;}; | |
36 | virtual Bool_t IsCompletedModule() const {return fCompletedModule;}; | |
37 | virtual Bool_t IsCompletedDDL() const {return fCompletedDDL;}; | |
38 | virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* /*ddlsdd*/){ | |
39 | AliError("This method must be implemented in a derived class"); | |
40 | }; | |
41 | virtual void SetZeroSuppLowThreshold(Int_t /*iMod*/, Int_t /*iSid*/, Int_t /*th*/) { | |
42 | AliError("This method must be implemented in a derived class"); | |
43 | }; | |
44 | virtual Int_t GetCarlosId() const { | |
45 | AliError("This method must be implemented in a derived class"); | |
46 | return -1; | |
47 | }; | |
48 | virtual Int_t GetChannel() const { | |
49 | AliError("This method must be implemented in a derived class"); | |
50 | return -1; | |
51 | }; | |
52 | virtual Int_t GetJitter() const { | |
53 | AliError("This method must be implemented in a derived class"); | |
54 | return -1; | |
55 | }; | |
56 | ||
57 | ||
58 | protected : | |
59 | AliRawReader* fRawReader; // object for reading the raw data | |
60 | ||
61 | Int_t fModuleID; // index of current module | |
62 | Int_t fPrevModuleID; // index of previous module | |
63 | Int_t fCoord1; // current 1st coordinate | |
64 | // SPD: column cell number (z) | |
65 | // SDD: anode cell number (z) | |
66 | // SSD: N/P, flag for side | |
67 | Int_t fCoord2; // current 2nd coordinate | |
68 | // SPD: row cell number (y) | |
69 | // SDD: time bin number (y) | |
70 | // SSD: strip number | |
71 | Int_t fSignal; // signal in ADC counts | |
72 | Bool_t fCompletedModule; // set to kTRUE when all data from a module (SDD) are read | |
73 | Bool_t fCompletedDDL; // set to kTRUE when all data from a DDL (SDD) are read | |
74 | ||
75 | ClassDef(AliITSRawStream, 2) // base class for reading ITS raw digits | |
76 | }; | |
77 | ||
78 | #endif |