]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRawStreamSDDCompressed.h
added mono-cathods removal in real Pb-Pb settings
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSDDCompressed.h
index 1914fba6a018c742cb86f81bd083b4dbe7d26bc1..a0fb9d3558a97a19afc8130e0e6edf19c8e41a37 100644 (file)
@@ -30,13 +30,21 @@ class AliITSRawStreamSDDCompressed: public AliITSRawStream {
     virtual Int_t    GetAnode() const {return fCoord1;}
     virtual Int_t    GetTime() const {return fCoord2;}
     virtual Int_t    GetChannel() const {return fChannel;}
-    virtual Int_t    ReadJitter() const {return 0;}
+    virtual Int_t    GetJitter() const {return fJitter;}
     virtual Int_t    GetCarlosId() const {return fCarlosId;}
+    virtual UInt_t   GetDataWord() const {return fData;}
 
-    virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* ddlsdd){fDDLModuleMap->SetDDLMap(ddlsdd);}
+    virtual void SetADCEncoded(Bool_t fl=kTRUE){
+      fADCEncoded=fl;
+    }
+    virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* ddlsdd){
+      if(!fDDLModuleMap) fDDLModuleMap=new AliITSDDLModuleMapSDD();
+      fDDLModuleMap->SetDDLMap(ddlsdd);
+    }
     virtual void     SetZeroSuppLowThreshold(Int_t iMod, Int_t iSid, Int_t th) 
       {fLowThresholdArray[iMod][iSid]=th;}
     Int_t   GetModuleNumber(UInt_t iDDL, UInt_t iModule) const {
+      if(!fDDLModuleMap) return kSPDModules+1; // dummy module number if the DDL map is not set (case of DAs)
       return fDDLModuleMap->GetModuleNumber(iDDL,iModule);
     }
 
@@ -52,7 +60,7 @@ class AliITSRawStreamSDDCompressed: public AliITSRawStream {
     };
   protected:
 
-
+    virtual Int_t    DecompAmbra(Int_t value) const;
     AliITSDDLModuleMapSDD* fDDLModuleMap; // mapping DDL/module -> module number 
     UInt_t           fData;         // data read for file
     Int_t            fCarlosId;     // carlos ID
@@ -60,9 +68,12 @@ class AliITSRawStreamSDDCompressed: public AliITSRawStream {
     Int_t            fJitter;          // jitter between L0 and pascal stop (x25ns)
     Int_t            fLowThresholdArray[kSDDModules][2]; // array with low thresholds for all modules
 
-    Int_t            fDDL;        //current ddl number
+    Int_t            fDDL;        // current ddl number
+    Bool_t           fADCEncoded;  // flag for data format
+                                  // kTRUE -> ADC encoded in 5+3 bits
+                                  // kFALSE -> ADC decoded (8 bits)
 
-    ClassDef(AliITSRawStreamSDDCompressed, 1) // class for reading ITS SDD raw digits
+    ClassDef(AliITSRawStreamSDDCompressed, 2) // class for reading ITS SDD raw digits
 };
 
 #endif