new classes for raw data processing (T. Kuhr)
[u/mrichter/AliRoot.git] / ITS / AliITSRawStream.h
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 #include <TObject.h>
7
8
9 class AliITSRawStream: public TObject {
10   public :
11     AliITSRawStream();
12
13     virtual Bool_t   Next() = 0;
14
15     inline Int_t     GetModuleID() const {return fModuleID;};
16     inline Int_t     GetPrevModuleID() const {return fPrevModuleID;};
17     inline Bool_t    IsNewModule() const {return fModuleID != fPrevModuleID;};
18     inline Int_t     GetCoord1() const {return fCoord1;};
19     inline Int_t     GetCoord2() const {return fCoord2;};
20     inline Int_t     GetSignal() const {return fSignal;};
21
22   protected :
23     Int_t            fModuleID;     // index of current module
24     Int_t            fPrevModuleID; // index of previous module
25     Int_t            fCoord1;       // current 1st coordinate
26                                     //  SPD: column cell number (z)
27                                     //  SDD: anode cell number (z)
28                                     //  SSD: N/P, flag for side
29     Int_t            fCoord2;       // current 2nd coordinate
30                                     //  SPD: row cell number (y)
31                                     //  SDD: time bin number (y)
32                                     //  SSD: strip number
33     Int_t            fSignal;       // signal in ADC counts
34
35     ClassDef(AliITSRawStream, 0) // base class for reading ITS raw digits
36 };
37
38 #endif