Line data Source code
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 24 : virtual ~AliITSRawStream() {};
27 :
28 : virtual Bool_t Next() = 0;
29 :
30 3558 : Int_t GetModuleID() const {return fModuleID;};
31 148 : Int_t GetPrevModuleID() const {return fPrevModuleID;};
32 296 : Bool_t IsNewModule() const {return fModuleID != fPrevModuleID;};
33 2868 : Int_t GetCoord1() const {return fCoord1;};
34 1582 : Int_t GetCoord2() const {return fCoord2;};
35 26216 : Int_t GetSignal() const {return fSignal;};
36 3558 : virtual Bool_t IsCompletedModule() const {return fCompletedModule;};
37 1478 : virtual Bool_t IsCompletedDDL() const {return fCompletedDDL;};
38 : virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* /*ddlsdd*/){
39 0 : AliError("This method must be implemented in a derived class");
40 0 : };
41 : virtual void SetZeroSuppLowThreshold(Int_t /*iMod*/, Int_t /*iSid*/, Int_t /*th*/) {
42 0 : AliError("This method must be implemented in a derived class");
43 0 : };
44 : virtual void SetADCEncoded(Bool_t /*fl*/) {
45 0 : AliError("This method must be implemented in a derived class");
46 0 : };
47 :
48 :
49 : virtual Int_t GetCarlosId() const {
50 0 : AliError("This method must be implemented in a derived class");
51 0 : return -1;
52 : };
53 : virtual Int_t GetChannel() const {
54 0 : AliError("This method must be implemented in a derived class");
55 0 : return -1;
56 : };
57 : virtual Int_t GetJitter() const {
58 0 : AliError("This method must be implemented in a derived class");
59 0 : return -1;
60 : };
61 :
62 :
63 : protected :
64 : AliRawReader* fRawReader; // object for reading the raw data
65 :
66 : Int_t fModuleID; // index of current module
67 : Int_t fPrevModuleID; // index of previous module
68 : Int_t fCoord1; // current 1st coordinate
69 : // SPD: column cell number (z)
70 : // SDD: anode cell number (z)
71 : // SSD: N/P, flag for side
72 : Int_t fCoord2; // current 2nd coordinate
73 : // SPD: row cell number (y)
74 : // SDD: time bin number (y)
75 : // SSD: strip number
76 : Int_t fSignal; // signal in ADC counts
77 : Bool_t fCompletedModule; // set to kTRUE when all data from a module (SDD) are read
78 : Bool_t fCompletedDDL; // set to kTRUE when all data from a DDL (SDD) are read
79 :
80 118 : ClassDef(AliITSRawStream, 2) // base class for reading ITS raw digits
81 : };
82 :
83 : #endif
|