X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDdataArrayF.h;h=9a690d9aeae9c47721c3154f77dd50f562b67325;hb=ec9303f869c4b02b507f7af420963a0208e4c1b6;hp=a2a4f13044ea2a56ec12908571bc36ad4be11236;hpb=6f1e466d6db177aa095cc30f57958d5e62389e1c;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDdataArrayF.h b/TRD/AliTRDdataArrayF.h index a2a4f13044e..9a690d9aeae 100644 --- a/TRD/AliTRDdataArrayF.h +++ b/TRD/AliTRDdataArrayF.h @@ -1,12 +1,14 @@ -#ifndef TRDdataArrayF_H -#define TRDdataArrayF_H +#ifndef ALITRDDATAARRAYF_H +#define ALITRDDATAARRAYF_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id: AliTRDdataArrayF.h,v */ + +#include -#include "AliTRDdataArray.h" +#include "AliTRDdataArray.h" ///////////////////////////////////////////////////////////// // // @@ -16,15 +18,20 @@ // // ///////////////////////////////////////////////////////////// +class AliTRDarrayF; + class AliTRDdataArrayF : public AliTRDdataArray { public: AliTRDdataArrayF(); AliTRDdataArrayF(Int_t nrow, Int_t ncol,Int_t ntime); - ~AliTRDdataArrayF(); + AliTRDdataArrayF(const AliTRDdataArrayF &a); + virtual ~AliTRDdataArrayF(); + AliTRDdataArrayF &operator=(const AliTRDdataArrayF &a); virtual void Allocate(Int_t nrow, Int_t ncol,Int_t ntime); + virtual void Copy(TObject &a) const; virtual void Compress(Int_t bufferType, Float_t threshold); virtual void Compress(Int_t bufferType); virtual void Expand(); @@ -32,22 +39,28 @@ class AliTRDdataArrayF : public AliTRDdataArray { 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 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 GetSize() const; + virtual Int_t GetDataSize() const; virtual Int_t GetOverThreshold(Float_t threshold); 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(); @@ -64,60 +77,5 @@ class AliTRDdataArrayF : public AliTRDdataArray { }; - -//_____________________________________________________________________________ -inline 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); - -} - -//_____________________________________________________________________________ -inline 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); - } - } - } - -} - -//_____________________________________________________________________________ -inline 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; - -} - #endif