SPD Fast-OR bits decoding (H. Tydesjo)
[u/mrichter/AliRoot.git] / ITS / AliITSRawStream.h
CommitLineData
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>
15
16class AliRawReader;
17
18
19class AliITSRawStream: public TObject {
20 public :
21 AliITSRawStream(AliRawReader* rawReader);
22 AliITSRawStream(const AliITSRawStream& stream);
23 AliITSRawStream& operator = (const AliITSRawStream& stream);
24 virtual ~AliITSRawStream() {};
25
26 virtual Bool_t Next() = 0;
27
28 Int_t GetModuleID() const {return fModuleID;};
29 Int_t GetPrevModuleID() const {return fPrevModuleID;};
30 Bool_t IsNewModule() const {return fModuleID != fPrevModuleID;};
31 Int_t GetCoord1() const {return fCoord1;};
32 Int_t GetCoord2() const {return fCoord2;};
33 Int_t GetSignal() const {return fSignal;};
5dfa68c5 34 virtual Bool_t IsCompletedModule() const {return fCompletedModule;}; // to be implemented in derived class
2906f4c2 35 protected :
36 AliRawReader* fRawReader; // object for reading the raw data
37
38 Int_t fModuleID; // index of current module
39 Int_t fPrevModuleID; // index of previous module
40 Int_t fCoord1; // current 1st coordinate
41 // SPD: column cell number (z)
42 // SDD: anode cell number (z)
43 // SSD: N/P, flag for side
44 Int_t fCoord2; // current 2nd coordinate
45 // SPD: row cell number (y)
46 // SDD: time bin number (y)
47 // SSD: strip number
48 Int_t fSignal; // signal in ADC counts
5dfa68c5 49 Bool_t fCompletedModule; // set to kTRUE when all data from a module (SDD) are read
2906f4c2 50
5dfa68c5 51 ClassDef(AliITSRawStream, 1) // base class for reading ITS raw digits
2906f4c2 52};
53
54#endif