]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSRawStream.h
CMake: DA rpm creation, enable more detectors from the same folder
[u/mrichter/AliRoot.git] / PHOS / AliPHOSRawStream.h
index 26136a3df6265a7a93bdf3e14c4a75c38bb0b9fb..489d59fa5d0ca81aa80bd62676ef43d796f41029 100644 (file)
 ///
 ///////////////////////////////////////////////////////////////////////////////
 
-#include "AliAltroRawStream.h"
+// --- ROOT system ---
 
+// --- AliRoot header files ---
+#include "AliAltroRawStream.h"
 class AliRawReader;
-
+class AliAltroMapping;
 
 class AliPHOSRawStream: public AliAltroRawStream {
-  public :
-    AliPHOSRawStream(AliRawReader* rawReader);
-
-    Int_t            GetModule() const {return fSector;};
-    Int_t            GetPrevModule() const {return fPrevSector;};
-    Bool_t           IsNewModule() const {return fSector != fPrevSector;};
-    Int_t            GetRow() const {return fRow;};
-    Int_t            GetPrevRow() const {return fPrevRow;};
-    Bool_t           IsNewRow() const {return (fRow != fPrevRow) || IsNewModule();};
-    Int_t            GetColumn() const {return fPad;};
-    Int_t            GetPrevColumn() const {return fPrevPad;};
-    Bool_t           IsNewColumn() const {return (fPad != fPrevPad) || IsNewRow();};
-    Int_t            GetTime() const {return fTime;};
-    Int_t            GetSignal() const {return fSignal;};
-
-    ClassDef(AliPHOSRawStream, 0)   // class for reading PHOS raw digits
+
+public :
+  AliPHOSRawStream(AliRawReader* rawReader);
+  virtual ~AliPHOSRawStream();
+  virtual void             Reset();
+  virtual Bool_t           Next();
+  
+  Int_t            GetModule()     const {return fModule;}
+  Int_t            GetRow()        const {return fRow;}
+  Int_t            GetColumn()     const {return fColumn;}
+  Int_t            GetPrevModule() const {return fPrevModule;}
+  Int_t            GetPrevRow()    const {return fPrevRow;}
+  Int_t            GetPrevColumn() const {return fPrevColumn;}
+  Bool_t           IsNewModule()   const {return GetModule() != GetPrevModule();}
+  Bool_t           IsNewRow()      const {return (GetRow() != GetPrevRow()) || IsNewModule();}
+  Bool_t           IsNewColumn()   const {return (GetColumn() != GetPrevColumn()) || IsNewRow();}
+  Bool_t           IsLowGain()     const {return (!fGain);} 
+
+protected:
+
+  AliPHOSRawStream(const AliPHOSRawStream& stream);
+  AliPHOSRawStream& operator = (const AliPHOSRawStream& stream);
+
+  virtual void ApplyAltroMapping();
+
+  Int_t            fModule;       // index of current module
+  Int_t            fPrevModule;   // index of previous module
+  Int_t            fRow;          // index of current row
+  Int_t            fPrevRow;      // index of previous row
+  Int_t            fColumn;       // index of current column
+  Int_t            fPrevColumn;   // index of previous column
+  Bool_t           fGain;         // low (0) or (1) high gain
+  
+  AliAltroMapping *fMapping[4];   // pointers to ALTRO mapping
+
+  ClassDef(AliPHOSRawStream, 0)   // class for reading PHOS raw digits
+
 };
 
 #endif
+