Line data Source code
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 : /// \class AliTPCRawStreamV3
7 : /// \brief This class provides access to TPC digits in raw data.
8 :
9 : #include "AliAltroRawStreamV3.h"
10 :
11 : class AliRawReader;
12 : class AliAltroMapping;
13 :
14 : class AliTPCRawStreamV3: public AliAltroRawStreamV3 {
15 : public :
16 : AliTPCRawStreamV3(AliRawReader* rawReader, AliAltroMapping **mapping = NULL);
17 : virtual ~AliTPCRawStreamV3();
18 :
19 : virtual void Reset();
20 : virtual Bool_t NextChannel();
21 : virtual Bool_t NextDDL();
22 :
23 1564 : inline Int_t GetSector() const { return fSector; } // Provide index of current sector
24 0 : inline Int_t GetPrevSector() const { return fPrevSector; } // Provide index of previous sector
25 0 : inline Bool_t IsNewSector() const {return fSector != fPrevSector;};
26 94702 : inline Int_t GetRow() const { return fRow; } // Provide index of current row
27 0 : inline Int_t GetPrevRow() const { return fPrevRow; } // Provide index of previous row
28 0 : inline Bool_t IsNewRow() const {return (fRow != fPrevRow) || IsNewSector();};
29 94702 : inline Int_t GetPad() const { return fPad; } // Provide index of current pad
30 0 : inline Int_t GetPrevPad() const { return fPrevPad; } // Provide index of previous pad
31 0 : inline Bool_t IsNewPad() const {return (fPad != fPrevPad) || IsNewRow();};
32 0 : inline Int_t GetPatchIndex() const { return fPatchIndex; } // Provide index of current patch
33 :
34 :
35 : protected :
36 : AliTPCRawStreamV3& operator = (const AliTPCRawStreamV3& stream);
37 : AliTPCRawStreamV3(const AliTPCRawStreamV3& 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 : Int_t fPatchIndex; ///< current patch
48 :
49 : AliAltroMapping *fMapping[6]; ///< Pointers to ALTRO mapping
50 : Bool_t fIsMapOwner; ///< does object own its mappings?
51 :
52 : /// \cond CLASSIMP
53 32 : ClassDef(AliTPCRawStreamV3, 0) // base class for reading TPC raw digits using the fast algorithm
54 : /// \endcond
55 : };
56 :
57 : #endif
|