For Pythia with tune don't switch off MI in ConfigHeavyFlavor
[u/mrichter/AliRoot.git] / ITS / AliITSRawStream.h
index 7dffd8d..bf7bd52 100644 (file)
@@ -3,22 +3,62 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
+/* $Id$ */
+
+///////////////////////////////////////////////////////////////////////////////
+///
+/// This is a base class for providing access to ITS digits in raw data.
+///
+///////////////////////////////////////////////////////////////////////////////
+
 #include <TObject.h>
-#include "AliRawReader.h"
+#include "AliITSDDLModuleMapSDD.h"
+#include "AliLog.h"
+
+class AliRawReader;
 
 
 class AliITSRawStream: public TObject {
   public :
     AliITSRawStream(AliRawReader* rawReader);
+    AliITSRawStream(const AliITSRawStream& stream);
+    AliITSRawStream& operator = (const AliITSRawStream& stream);
+    virtual ~AliITSRawStream() {};
 
     virtual Bool_t   Next() = 0;
 
-    inline Int_t     GetModuleID() const {return fModuleID;};
-    inline Int_t     GetPrevModuleID() const {return fPrevModuleID;};
-    inline Bool_t    IsNewModule() const {return fModuleID != fPrevModuleID;};
-    inline Int_t     GetCoord1() const {return fCoord1;};
-    inline Int_t     GetCoord2() const {return fCoord2;};
-    inline Int_t     GetSignal() const {return fSignal;};
+    Int_t            GetModuleID() const {return fModuleID;};
+    Int_t            GetPrevModuleID() const {return fPrevModuleID;};
+    Bool_t           IsNewModule() const {return fModuleID != fPrevModuleID;};
+    Int_t            GetCoord1() const {return fCoord1;};
+    Int_t            GetCoord2() const {return fCoord2;};
+    Int_t            GetSignal() const {return fSignal;};
+    virtual Bool_t   IsCompletedModule() const {return fCompletedModule;}; 
+    virtual Bool_t   IsCompletedDDL() const {return fCompletedDDL;}; 
+    virtual void     SetDDLModuleMap(AliITSDDLModuleMapSDD* /*ddlsdd*/){
+      AliError("This method must be implemented in a derived class");
+    };
+    virtual void     SetZeroSuppLowThreshold(Int_t /*iMod*/, Int_t /*iSid*/, Int_t /*th*/) {
+      AliError("This method must be implemented in a derived class");
+    };
+    virtual void     SetADCEncoded(Bool_t /*fl*/) {
+      AliError("This method must be implemented in a derived class");
+    };
+
+
+    virtual Int_t     GetCarlosId() const {
+      AliError("This method must be implemented in a derived class");
+      return -1;
+    };
+    virtual Int_t     GetChannel() const {
+      AliError("This method must be implemented in a derived class");
+      return -1;
+    };
+    virtual Int_t     GetJitter()  const {
+      AliError("This method must be implemented in a derived class");
+      return -1;
+    }; 
+
 
   protected :
     AliRawReader*    fRawReader;    // object for reading the raw data
@@ -34,8 +74,10 @@ class AliITSRawStream: public TObject {
                                     //  SDD: time bin number (y)
                                     //  SSD: strip number
     Int_t            fSignal;       // signal in ADC counts
+    Bool_t           fCompletedModule; // set to kTRUE when all data from a module (SDD) are read
+    Bool_t           fCompletedDDL;  // set to kTRUE when all data from a DDL (SDD) are read
 
-    ClassDef(AliITSRawStream, 0) // base class for reading ITS raw digits
+    ClassDef(AliITSRawStream, 2) // base class for reading ITS raw digits
 };
 
 #endif