]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDRawStream.h
Adding a switch to turn on/off the gain calibration
[u/mrichter/AliRoot.git] / PMD / AliPMDRawStream.h
index 7ddde3fe341351f9372bb5cf34f1f2adf0390e6a..65670d57060c7f1c1c1bf3bb901c6586c176a2b8 100644 (file)
@@ -21,42 +21,34 @@ class AliPMDRawStream: public TObject {
     AliPMDRawStream(AliRawReader* rawReader);
     virtual ~AliPMDRawStream();
 
-    virtual Bool_t   Next();
-
-    Int_t            GetModule() const {return fModule;};
-    Int_t            GetPrevModule() const {return fPrevModule;};
-    Bool_t           IsNewModule() const {return fModule != fPrevModule;};
-    Int_t            GetMCM() const {return fMCM;};
-    Int_t            GetChannel() const {return fChannel;};
-    Int_t            GetRow() const {return fRow;};
-    Int_t            GetColumn() const {return fColumn;};
-    Int_t            GetSignal() const {return fSignal;};
-    Int_t            GetDetector() const {return fDetector;};
-    Int_t            GetSMN() const {return fSMN;};
-
+    Bool_t DdlData(Int_t indexDDL, TObjArray *pmdddlcont);
 
     enum {kDDLOffset = 0xC00};      // offset for DDL numbers
 
+    enum EPMDRawStreamError {
+      kDDLIndexMismatch = 1,
+      kNoMappingFile = 2,
+      kParityError = 3
+    };
+
   private :
     AliPMDRawStream(const AliPMDRawStream& stream);
     AliPMDRawStream& operator = (const AliPMDRawStream& stream);
 
-    void             GetRowCol(Int_t ddlno, UInt_t mcmno, UInt_t chno,
-                              Int_t &um, Int_t &row, Int_t &col) const;
+    void             GetRowCol(Int_t ddlno, Int_t pbusid, 
+                              UInt_t mcmno, UInt_t chno,
+                              Int_t startRowBus[], Int_t endRowBus[],
+                              Int_t startColBus[], Int_t endColBus[],
+                              Int_t &row, Int_t &col) const;
+    void             ConvertDDL2SMN(Int_t iddl, Int_t imodule,
+                                   Int_t &smn, Int_t &detector) const;
+    void             TransformH2S(Int_t smn, Int_t &row, Int_t &col) const;
+    int              ComputeParity(Int_t data);
 
     AliRawReader*    fRawReader;    // object for reading the raw data
 
-    Int_t            fModule;       // index of current module
-    Int_t            fPrevModule;   // index of previous module
-    Int_t            fMCM;          // index of current MCM
-    Int_t            fChannel;      // index of current channel
-    Int_t            fRow;          // index of current row
-    Int_t            fColumn;       // index of current column
-    Int_t            fSignal;       // signal in ADC counts
-    Int_t            fDetector;     // PRE = 0, CPV = 1
-    Int_t            fSMN;          // serial module number (0-23)
-
-    ClassDef(AliPMDRawStream, 0)    // class for reading PMD raw digits
+
+    ClassDef(AliPMDRawStream, 3)    // class for reading PMD raw digits
 };
 
 #endif