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 */
8 ///////////////////////////////////////////////////////////////////////////////
10 /// This is a base class for providing access to ITS digits in raw data.
12 ///////////////////////////////////////////////////////////////////////////////
15 #include "AliITSDDLModuleMapSDD.h"
21 class AliITSRawStream: public TObject {
23 AliITSRawStream(AliRawReader* rawReader);
24 AliITSRawStream(const AliITSRawStream& stream);
25 AliITSRawStream& operator = (const AliITSRawStream& stream);
26 virtual ~AliITSRawStream() {};
28 virtual Bool_t Next() = 0;
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;}; // to be implemented in derived class
37 virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* /*ddlsdd*/){
38 AliError("This method must be implemented in a derived class");
40 virtual void SetZeroSuppLowThreshold(Int_t /*iMod*/, Int_t /*iSid*/, Int_t /*th*/) {
41 AliError("This method must be implemented in a derived class");
43 virtual Int_t GetCarlosId() const {
44 AliError("This method must be implemented in a derived class");
47 virtual Int_t GetChannel() const {
48 AliError("This method must be implemented in a derived class");
54 AliRawReader* fRawReader; // object for reading the raw data
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)
66 Int_t fSignal; // signal in ADC counts
67 Bool_t fCompletedModule; // set to kTRUE when all data from a module (SDD) are read
69 ClassDef(AliITSRawStream, 1) // base class for reading ITS raw digits