Merge branch 'master' into LocalDev
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawStream.h
CommitLineData
65792ca0 1#ifndef ALIPHOSRAWSTREAM_H
2#define ALIPHOSRAWSTREAM_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8///////////////////////////////////////////////////////////////////////////////
9///
10/// This class provides access to PHOS digits in raw data.
11///
12///////////////////////////////////////////////////////////////////////////////
13
b7f3cbac 14// --- ROOT system ---
65792ca0 15
b7f3cbac 16// --- AliRoot header files ---
17#include "AliAltroRawStream.h"
65792ca0 18class AliRawReader;
be88e894 19class AliAltroMapping;
65792ca0 20
f88e2313 21class AliPHOSRawStream: public AliAltroRawStream {
b7f3cbac 22
23public :
b7f3cbac 24 AliPHOSRawStream(AliRawReader* rawReader);
7b916e14 25 virtual ~AliPHOSRawStream();
26
27 virtual void Reset();
28 virtual Bool_t Next();
b7f3cbac 29
be88e894 30 Int_t GetModule() const {return fModule;}
31 Int_t GetRow() const {return fRow;}
32 Int_t GetColumn() const {return fColumn;}
7b916e14 33 Int_t GetPrevModule() const {return fPrevModule;}
be88e894 34 Int_t GetPrevRow() const {return fPrevRow;}
35 Int_t GetPrevColumn() const {return fPrevColumn;}
36 Bool_t IsNewModule() const {return GetModule() != GetPrevModule();}
37 Bool_t IsNewRow() const {return (GetRow() != GetPrevRow()) || IsNewModule();}
38 Bool_t IsNewColumn() const {return (GetColumn() != GetPrevColumn()) || IsNewRow();}
39 Bool_t IsLowGain() const {return (!fGain);}
7b916e14 40
41protected:
7b916e14 42
be88e894 43 AliPHOSRawStream(const AliPHOSRawStream& stream);
44 AliPHOSRawStream& operator = (const AliPHOSRawStream& stream);
7b916e14 45
be88e894 46 virtual void ApplyAltroMapping();
47
48 Int_t fModule; // index of current module
49 Int_t fPrevModule; // index of previous module
50 Int_t fRow; // index of current row
51 Int_t fPrevRow; // index of previous row
52 Int_t fColumn; // index of current column
53 Int_t fPrevColumn; // index of previous column
54 Bool_t fGain; // low (0) or (1) high gain
f88e2313 55
be88e894 56 AliAltroMapping *fMapping[4]; // pointers to ALTRO mapping
57
b7f3cbac 58 ClassDef(AliPHOSRawStream, 0) // class for reading PHOS raw digits
be88e894 59
60};
65792ca0 61
62#endif
f88e2313 63