]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRawStreamSDD.h
- AliITSInitGeometry.cxx (updated): fgkOldSSDcone changed from kTRUE to
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSDD.h
index 687e909ae9e123cb3574fffbea3936db7f758d6c..6747a274453ad154f195d75c1e557747902ebd13 100644 (file)
@@ -12,6 +12,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 #include "AliITSRawStream.h"
+#include "AliITSDDLModuleMapSDD.h"
 
 class AliRawReader;
 
@@ -19,7 +20,9 @@ class AliRawReader;
 class AliITSRawStreamSDD: public AliITSRawStream {
   public :
     AliITSRawStreamSDD(AliRawReader* rawReader);
-    virtual ~AliITSRawStreamSDD() {};
+    AliITSRawStreamSDD(const AliITSRawStreamSDD& rs);
+    AliITSRawStreamSDD& operator=(const AliITSRawStreamSDD& rs);
+    virtual ~AliITSRawStreamSDD();
 
     virtual Bool_t   Next();
 
@@ -28,11 +31,15 @@ class AliITSRawStreamSDD: public AliITSRawStream {
     virtual Int_t    GetChannel() const {return fChannel;}
     virtual Int_t    ReadJitter() const {return 0;}
     virtual Int_t    GetCarlosId() const {return fCarlosId;}
+    virtual Int_t    GetEventId() const {return fEventId;}
+
+    virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* ddlsdd){fDDLModuleMap->SetDDLMap(ddlsdd);}
     virtual void     SetLowCarlosThreshold(Int_t th, Int_t i) 
       {fLowThreshold[i]=th;}
     virtual void     SetNCarlos(Int_t nC=12){fNCarlos=nC;}
-    static  Int_t    GetModuleNumber(UInt_t iDDL, UInt_t iModule)
-                     {return fgkDDLModuleMap[iDDL][iModule];}
+    Int_t   GetModuleNumber(UInt_t iDDL, UInt_t iModule) const {
+      return fDDLModuleMap->GetModuleNumber(iDDL,iModule);
+    }
     virtual void     Reset(); 
     virtual Bool_t   ResetSkip(Int_t ddln); 
 
@@ -45,17 +52,16 @@ class AliITSRawStreamSDD: public AliITSRawStream {
       kDataFormatErr = 2
     };
   protected:
-    static const Int_t fgkDDLModuleMap[kDDLsNumber][kModulesPerDDL]; //  mapping DDL/module -> module number
-
     virtual UInt_t   ReadBits();
     virtual Int_t    DecompAmbra(Int_t value) const;
 
     static const UInt_t fgkCodeLength[8]; //code length
 
+    AliITSDDLModuleMapSDD* fDDLModuleMap; // mapping DDL/module -> module number 
     UInt_t           fData;         // data read for file
     Int_t            fSkip[kDDLsNumber];// number of skipped words
-    Int_t            fCarlosId;     // carlos ID
     Int_t            fEventId;      // event ID from header
+    Int_t            fCarlosId;     // carlos ID
     Int_t            fChannel;      // current channel
     Int_t            fJitter;          // jitter between L0 and pascal stop (x25ns)
     ULong64_t        fChannelData[kModulesPerDDL][2];// packed data for the 2 channels
@@ -65,17 +71,16 @@ class AliITSRawStreamSDD: public AliITSRawStream {
     UInt_t           fReadBits[kModulesPerDDL][2];   // number of bits to read
     Int_t            fLowThreshold[2]; // low Carlos threshold
     Int_t            fNCarlos;         // number of Carlos 
-    Int_t            fNfifo[kFifoWords];
+    Int_t            fNfifo[kFifoWords];  // FIFO number
     Int_t            fTimeBin[kModulesPerDDL][2];  // current timebin [ncarlos][nchannels]
     Int_t            fAnode[kModulesPerDDL][2]; // current anode [ncarlos][nchannels]
     Int_t            fDDL;        //current ddl number
-    UInt_t           fICarlosWord[kCarlosWords];
-    UInt_t           fIFifoWord[kFifoWords];
-    Int_t            fICountFoot[kModulesPerDDL];
-    Int_t            fIdcd;   // fifo counter, for debugging, to be removed when the code is stabilised
-    Int_t            fEndWords;//number of 3f1f1f1f
-    Int_t            fResetSkip; //if it is 0, the ResetSkip Funcion is called
-    ClassDef(AliITSRawStreamSDD, 6) // class for reading ITS SDD raw digits
+    UInt_t           fICarlosWord[kCarlosWords]; // Carlos words
+    UInt_t           fIFifoWord[kFifoWords];     // FIFO words
+    Int_t            fICountFoot[kModulesPerDDL]; // counter for carlos footer words
+    Int_t            fEndWords;      //number of 3f1f1f1f
+    Int_t            fResetSkip;     //if it is 0, the ResetSkip Funcion is called
+    ClassDef(AliITSRawStreamSDD, 7) // class for reading ITS SDD raw digits
 };
 
 #endif