]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCRawStreamV3.h
style modifications (Markus)
[u/mrichter/AliRoot.git] / TPC / AliTPCRawStreamV3.h
1 #ifndef ALITPCRAWSTREAMV3_H
2 #define ALITPCRAWSTREAMV3_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 "AliAltroRawStreamV3.h"
13
14 class AliRawReader;
15 class AliAltroMapping;
16
17 class AliTPCRawStreamV3: public AliAltroRawStreamV3 {
18   public :
19     AliTPCRawStreamV3(AliRawReader* rawReader, AliAltroMapping **mapping = NULL);
20     virtual ~AliTPCRawStreamV3();
21
22     virtual void             Reset();
23     virtual Bool_t           NextChannel();
24     virtual Bool_t           NextDDL();
25   
26     inline Int_t GetSector()     const { return fSector; }     // Provide index of current sector
27     inline Int_t GetPrevSector() const { return fPrevSector; } // Provide index of previous sector
28     inline Bool_t  IsNewSector() const {return fSector != fPrevSector;};
29     inline Int_t GetRow()        const { return fRow; }        // Provide index of current row
30     inline Int_t GetPrevRow()    const { return fPrevRow; }    // Provide index of previous row
31     inline Bool_t  IsNewRow()    const {return (fRow != fPrevRow) || IsNewSector();};
32     inline Int_t GetPad()        const { return fPad; }        // Provide index of current pad
33     inline Int_t GetPrevPad()    const { return fPrevPad; }    // Provide index of previous pad
34     inline Bool_t  IsNewPad()    const {return (fPad != fPrevPad) || IsNewRow();};
35
36
37   protected :
38     AliTPCRawStreamV3& operator = (const AliTPCRawStreamV3& stream);
39     AliTPCRawStreamV3(const AliTPCRawStreamV3& stream);
40
41     virtual void ApplyAltroMapping();
42
43     Int_t            fSector;       // index of current sector
44     Int_t            fPrevSector;   // index of previous sector
45     Int_t            fRow;          // index of current row
46     Int_t            fPrevRow;      // index of previous row
47     Int_t            fPad;          // index of current pad
48     Int_t            fPrevPad;      // index of previous pad
49     Int_t            fPatchIndex;   // current patch
50
51     AliAltroMapping *fMapping[6];   // Pointers to ALTRO mapping
52     Bool_t           fIsMapOwner;   // does object own its mappings?
53
54     ClassDef(AliTPCRawStreamV3, 0)    // base class for reading TPC raw digits using the fast algorithm
55 };
56
57 #endif