]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/AliTPCRawStreamFast.h
(Jens Viechula)
[u/mrichter/AliRoot.git] / TPC / AliTPCRawStreamFast.h
CommitLineData
a0918fa7 1#ifndef ALITPCRAWSTREAMFAST_H
2#define ALITPCRAWSTREAMFAST_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 "AliAltroRawStreamFast.h"
13
14class AliRawReader;
15class AliAltroMapping;
16
17class AliTPCRawStreamFast: public AliAltroRawStreamFast {
18 public :
08205ed7 19 AliTPCRawStreamFast(AliRawReader* rawReader, AliAltroMapping **mapping = NULL);
a0918fa7 20 virtual ~AliTPCRawStreamFast();
21
22 virtual void Reset();
23 virtual Bool_t NextChannel();
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
36 protected :
37 AliTPCRawStreamFast& operator = (const AliTPCRawStreamFast& stream);
38 AliTPCRawStreamFast(const AliTPCRawStreamFast& stream);
39
40 virtual void ApplyAltroMapping();
41
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
48
49 AliAltroMapping *fMapping[6]; // Pointers to ALTRO mapping
50 Bool_t fIsMapOwner; // does object own its mappings?
51
52 ClassDef(AliTPCRawStreamFast, 0) // base class for reading TPC raw digits using the fast algorithm
53};
54
55#endif