/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
+/* $Id$ */
+
+///////////////////////////////////////////////////////////////////////////////
+///
+/// This class provides access to ITS SPD digits in raw data.
+///
+///////////////////////////////////////////////////////////////////////////////
+
#include "AliITSRawStream.h"
-#include "AliRawReader.h"
class AliITSRawStreamSPD: public AliITSRawStream {
public :
- AliITSRawStreamSPD();
+ AliITSRawStreamSPD(AliRawReader* rawReader);
+ virtual ~AliITSRawStreamSPD() {};
virtual Bool_t Next();
- inline Int_t GetRow() const {return fCoord1;};
- inline Int_t GetColumn() const {return fCoord2;};
+ Int_t GetRow() const {return fCoord2;};
+ Int_t GetColumn() const {return fCoord1;};
+
+ enum {kDDLOffset = 0x100}; // offset for DDL numbers
+ enum {kDDLsNumber = 20}; // number of DDLs in SPD
+ enum {kModulesPerDDL = 12}; // number of modules in each DDL
+
+ static Int_t GetModuleNumber(UInt_t iDDL, UInt_t iModule)
+ {return fgkDDLModuleMap[iDDL][iModule];}
private :
- AliRawReader fRawReader; // object for reading the raw data file
+ static const Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL]; // mapping DDL/module -> module number
+
UShort_t fData; // data read for file
+ Int_t fDDLNumber; // current DDL number
+ Int_t fEventNumber; // event trigger number
+ Int_t fModuleNumber; // sequential module number
UInt_t fOffset; // offset for cell column
UInt_t fHitCount; // counter of hits