]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRawStreamSPD.h
Added new method DisIntegrate(AliMUONHit&, TList& digits) to replace the one in
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSPD.h
index 816765fa3f4609e23d654c615b1cb0529d8f002c..ee85836b46486a334745f2aea0a7044a6ead724e 100644 (file)
@@ -3,22 +3,41 @@
 /* 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