Consistent declarations needed on Alpha
[u/mrichter/AliRoot.git] / TRD / AliTRDdataArrayF.h
index 93740e7090ce985a174f926c8cab14b2b713fcef..e8f34f71bd2a9993ab425c9291bcc110e9d38b88 100644 (file)
@@ -5,8 +5,10 @@
  * See cxx source for full Copyright notice                               */
 
 /* $Id: AliTRDdataArrayF.h,v */
  * See cxx source for full Copyright notice                               */
 
 /* $Id: AliTRDdataArrayF.h,v */
+
+#include <TMath.h>
  
  
-#include   "AliTRDdataArray.h"
+#include "AliTRDdataArray.h"
 
 /////////////////////////////////////////////////////////////
 //                                                         //
 
 /////////////////////////////////////////////////////////////
 //                                                         //
 //                                                         //
 /////////////////////////////////////////////////////////////
 
 //                                                         //
 /////////////////////////////////////////////////////////////
 
+class AliTRDarrayF;
+
 class AliTRDdataArrayF : public AliTRDdataArray {
 
  public:
 
   AliTRDdataArrayF();
   AliTRDdataArrayF(Int_t nrow, Int_t ncol,Int_t ntime);
 class AliTRDdataArrayF : public AliTRDdataArray {
 
  public:
 
   AliTRDdataArrayF();
   AliTRDdataArrayF(Int_t nrow, Int_t ncol,Int_t ntime);
-  AliTRDdataArrayF(AliTRDdataArrayF &a);
+  AliTRDdataArrayF(const AliTRDdataArrayF &a);
   virtual ~AliTRDdataArrayF();
   virtual ~AliTRDdataArrayF();
+  AliTRDdataArrayF &operator=(const AliTRDdataArrayF &a);
 
   virtual void    Allocate(Int_t nrow, Int_t ncol,Int_t ntime);
 
   virtual void    Allocate(Int_t nrow, Int_t ncol,Int_t ntime);
-  virtual void    Copy(AliTRDdataArrayF &a);
+  virtual void    Copy(TObject &a);
   virtual void    Compress(Int_t bufferType, Float_t threshold);
   virtual void    Compress(Int_t bufferType); 
   virtual void    Expand();
   virtual void    Compress(Int_t bufferType, Float_t threshold);
   virtual void    Compress(Int_t bufferType); 
   virtual void    Expand();
@@ -34,24 +39,28 @@ class AliTRDdataArrayF : public AliTRDdataArray {
   virtual Bool_t  Next(); 
   virtual void    Reset();
 
   virtual Bool_t  Next(); 
   virtual void    Reset();
 
-  inline  void    SetData(Int_t row, Int_t col, Int_t time, Float_t value);
+          void    SetData(Int_t row, Int_t col, Int_t time, Float_t value);
+          void    SetDataUnchecked(Int_t row, Int_t col, Int_t time, Float_t value)
+                                  { SetDataFast(GetIdx1Unchecked(row,col),time,value); };
+
   virtual void    SetThreshold(Float_t threshold) { fThreshold = threshold; };
 
   virtual void    SetThreshold(Float_t threshold) { fThreshold = threshold; };
 
-  virtual Float_t GetData(Int_t row, Int_t col, Int_t time);
-  virtual Float_t GetThreshold()                  { return fThreshold;  };
+  virtual Float_t GetData(Int_t row, Int_t col, Int_t time) const;
+          Float_t GetDataUnchecked(Int_t row, Int_t col, Int_t time) const
+                                  { return GetDataFast(GetIdx1Unchecked(row,col),time); };
+                                                  
+  virtual Float_t GetThreshold() const            { return fThreshold;  };
 
   virtual Int_t   GetSize();
   virtual Int_t   GetDataSize(); 
   virtual Int_t   GetOverThreshold(Float_t threshold);  
 
 
   virtual Int_t   GetSize();
   virtual Int_t   GetDataSize(); 
   virtual Int_t   GetOverThreshold(Float_t threshold);  
 
-  inline  AliTRDdataArrayF &operator=(AliTRDdataArrayF &a);
-
  protected:
 
  protected:
 
-  inline  void    SetDataFast(Int_t idx1, Int_t idx2, Float_t value); 
-  inline  Float_t GetDataFast(Int_t idx1, Int_t idx2); 
+  void    SetDataFast(Int_t idx1, Int_t idx2, Float_t v);  
+  Float_t GetDataFast(Int_t idx1, Int_t idx2) const;
 
 
-  Float_t         GetData1(Int_t idx1, Int_t idx2); 
+  Float_t         GetData1(Int_t idx1, Int_t idx2) const
   void            Expand1(); 
   void            Compress1(); 
   void            Expand2();
   void            Expand1(); 
   void            Compress1(); 
   void            Expand2();
@@ -68,70 +77,5 @@ class AliTRDdataArrayF : public AliTRDdataArray {
 
 };
  
 
 };
  
-//____________________________________________________________________________
-Float_t AliTRDdataArrayF::GetDataFast(Int_t idx1, Int_t idx2)
-{
-  //
-  // Returns the value at a given position in the array
-  //
-
-  return fElements->At(fIndex->At(idx2) + idx1); 
-
-}
-
-//_____________________________________________________________________________
-void AliTRDdataArrayF::SetData(Int_t row, Int_t col, Int_t time, Float_t value)
-{
-  //
-  // Sets the data value at a given position of the array
-  // Includes boundary checking
-  //
-
-  if ((row >= 0) && (col >= 0) && (time >= 0)) {
-    Int_t idx1 = GetIdx1(row,col);
-    if ((idx1 >= 0) && (time < fNdim2)) {
-      SetDataFast(idx1,time,value);
-    }
-    else {
-      if (idx1 >= 0) {
-        TObject::Error("SetData"
-                      ,"time %d out of bounds (size: %d, this: 0x%08x)"
-                      ,time,fNdim2,this);
-      }
-    }
-  }
-
-}
-
-//_____________________________________________________________________________
-void  AliTRDdataArrayF::SetDataFast(Int_t idx1, Int_t idx2, Float_t value)
-{
-  //
-  // Set the value at a given position in the array
-  //
-
-  if ((idx1 < 0) || (idx1 >= fNdim1) || 
-      (idx2 < 0) || (idx2 >= fNdim2)) { 
-    TObject::Error("SetDataFast"
-                  ,"idx1 %d  idx2 %d out of bounds (size: %d x %d, this: 0x%08x)"
-                  ,idx1,idx2,fNdim1,fNdim2,this);
-  }
-
-  (*fElements)[fIndex->fArray[idx2] + idx1] = value; 
-
-}
-
-//_____________________________________________________________________________
-AliTRDdataArrayF &AliTRDdataArrayF::operator=(AliTRDdataArrayF &a)
-{
-  //
-  // Assignment operator
-  //
-
-  if (this != &a) a.Copy(*this);
-  return *this;
-
-}
-
 #endif
 
 #endif