]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCRawStream.h
fX, fDetector and fRow data members added (6 Bytes) - needed for Alignment (M.Ivanov)
[u/mrichter/AliRoot.git] / TPC / AliTPCRawStream.h
1 #ifndef ALITPCRAWSTREAM_H
2 #define ALITPCRAWSTREAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 ///
8 /// This class provides access to TPC digits in raw data.
9 ///
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #include "AliAltroRawStream.h"
13
14 class AliRawReader;
15 class AliAltroMapping;
16
17 class AliTPCRawStream: public AliAltroRawStream {
18   public :
19     AliTPCRawStream(AliRawReader* rawReader);
20     virtual ~AliTPCRawStream();
21
22     virtual void             Reset();
23     virtual Bool_t           Next();
24
25     inline Int_t GetSector()     const { return fSector; }     // Provide index of current sector
26     inline Int_t GetPrevSector() const { return fPrevSector; } // Provide index of previous sector
27     inline Bool_t  IsNewSector() const {return fSector != fPrevSector;};
28     inline Int_t GetRow()        const { return fRow; }        // Provide index of current row
29     inline Int_t GetPrevRow()    const { return fPrevRow; }    // Provide index of previous row
30     inline Bool_t  IsNewRow()    const {return (fRow != fPrevRow) || IsNewSector();};
31     inline Int_t GetPad()        const { return fPad; }        // Provide index of current pad
32     inline Int_t GetPrevPad()    const { return fPrevPad; }    // Provide index of previous pad
33     inline Bool_t  IsNewPad()    const {return (fPad != fPrevPad) || IsNewRow();};
34
35   protected :
36     AliTPCRawStream(const AliTPCRawStream& stream);
37     AliTPCRawStream& operator = (const AliTPCRawStream& stream);
38
39     virtual void ApplyAltroMapping();
40
41     Int_t            fSector;       // index of current sector
42     Int_t            fPrevSector;   // index of previous sector
43     Int_t            fRow;          // index of current row
44     Int_t            fPrevRow;      // index of previous row
45     Int_t            fPad;          // index of current pad
46     Int_t            fPrevPad;      // index of previous pad
47
48     AliAltroMapping *fMapping[6];   // Pointers to ALTRO mapping
49
50     ClassDef(AliTPCRawStream, 0)    // base class for reading TPC raw digits
51 };
52
53 #endif