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 */
6 ///////////////////////////////////////////////////////////////////////////////
8 /// This class provides access to TPC digits in raw data.
10 ///////////////////////////////////////////////////////////////////////////////
12 #include "AliAltroRawStream.h"
15 class AliAltroMapping;
17 class AliTPCRawStream: public AliAltroRawStream {
19 AliTPCRawStream(AliRawReader* rawReader, AliAltroMapping **mapping = NULL);
20 virtual ~AliTPCRawStream();
23 virtual Bool_t Next();
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();};
35 AliTPCRawStream& operator = (const AliTPCRawStream& stream);
36 AliTPCRawStream(const AliTPCRawStream& stream);
40 virtual void ApplyAltroMapping();
42 Int_t fSector; // index of current sector
43 Int_t fPrevSector; // index of previous sector
44 Int_t fRow; // index of current row
45 Int_t fPrevRow; // index of previous row
46 Int_t fPad; // index of current pad
47 Int_t fPrevPad; // index of previous pad
49 AliAltroMapping *fMapping[6]; // Pointers to ALTRO mapping
50 Bool_t fIsMapOwner; // does object own its mappings?
52 ClassDef(AliTPCRawStream, 0) // base class for reading TPC raw digits