]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSRawStreamSDD.h
moving FMD1 1.5 cm forward. Better eta coverage...
[u/mrichter/AliRoot.git] / ITS / AliITSRawStreamSDD.h
index d0ca61e641f62411c6143bcfcaff361274541564..d9ec48d8a5855a961b66492821bf9486eeb470d6 100644 (file)
@@ -24,24 +24,32 @@ class AliITSRawStreamSDD: public AliITSRawStream {
     AliITSRawStreamSDD& operator=(const AliITSRawStreamSDD& rs);
     virtual ~AliITSRawStreamSDD();
 
+    static UChar_t ReadBlockAttributes(AliRawReader* rawReader);
+    static UInt_t  ReadAMSamplFreqFromCDH(UChar_t cdhAttr){
+      if(cdhAttr&0x10) return 40;
+      else return 20;
+    }
+    static AliITSRawStream* CreateRawStreamSDD(AliRawReader* rawReader, UChar_t attributes);
+    static AliITSRawStream* CreateRawStreamSDD(AliRawReader* rawReader);
+
     virtual Bool_t   Next();
 
     virtual Int_t    GetAnode() const {return fCoord1;}
     virtual Int_t    GetTime() const {return fCoord2;}
     virtual Int_t    GetChannel() const {return fChannel;}
     virtual Int_t    GetEightBitSignal() const {return fEightBitSignal;}
-    virtual Int_t    ReadJitter() const {return 0;}
     virtual Int_t    GetCarlosId() const {return fCarlosId;}
     virtual Int_t    GetEventId() const {return fEventId;}
+    virtual Int_t    GetJitter() const {return fJitter;}  
+
 
     virtual void     SetDecompressAmbra(Bool_t deco=kTRUE){
       fDecompressAmbra=deco;
     }
     virtual void SetDDLModuleMap(AliITSDDLModuleMapSDD* ddlsdd){
       if(!fDDLModuleMap) fDDLModuleMap=new AliITSDDLModuleMapSDD();
-      fDDLModuleMap->SetDDLMap(ddlsdd);}
-    virtual void     SetLowCarlosThreshold(Int_t th, Int_t i)
-      {fLowThreshold[i]=th;}
+      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 {
@@ -69,7 +77,8 @@ class AliITSRawStreamSDD: public AliITSRawStream {
 
     AliITSDDLModuleMapSDD* fDDLModuleMap; // mapping DDL/module -> module number 
     UInt_t           fData;         // data read for file
-    Int_t            fSkip[kDDLsNumber];// obsolete -- needed to compile AliITSRawStreamSDDv2
+    Bool_t           fResetSkip;    // flag for end of DDL data
+
     Int_t            fEventId;      // event ID from header
     Int_t            fCarlosId;     // carlos ID
     Int_t            fChannel;      // current channel
@@ -80,7 +89,7 @@ class AliITSRawStreamSDD: public AliITSRawStream {
     Bool_t           fReadCode[kModulesPerDDL][2];   // next bits are code or data
     UInt_t           fReadBits[kModulesPerDDL][2];   // number of bits to read
     Int_t            fLowThresholdArray[kSDDModules][2]; // array with low thresholds for all modules
-    Int_t            fLowThreshold[2];    // obsolete -- needed to compile AliITSRawStreamSDDv2
+
     Int_t            fNfifo[kFifoWords];  // FIFO number
     Int_t            fTimeBin[kModulesPerDDL][2];  // current timebin [ncarlos][nchannels]
     Int_t            fAnode[kModulesPerDDL][2]; // current anode [ncarlos][nchannels]
@@ -90,7 +99,7 @@ class AliITSRawStreamSDD: public AliITSRawStream {
     Int_t            fEightBitSignal;    // signal at 8 bit
     Bool_t           fDecompressAmbra; //flag to switch off decompression
 
-    ClassDef(AliITSRawStreamSDD, 13) // class for reading ITS SDD raw digits
+    ClassDef(AliITSRawStreamSDD, 14) // class for reading ITS SDD raw digits
 };
 
 #endif