/* $Id$ */
-#include "AliTRDarrayI.h"
-#include "AliTRDarrayF.h"
#include "AliTRDsegmentID.h"
/////////////////////////////////////////////////////////////
// Adapted from AliDigits, origin M.Ivanov //
/////////////////////////////////////////////////////////////
+class AliTRDarrayI;
+
class AliTRDdataArray : public AliTRDsegmentID {
public:
virtual ~AliTRDdataArray();
AliTRDdataArray &operator=(const AliTRDdataArray &d);
- virtual void Copy(TObject &d);
+ virtual void Copy(TObject &d) const;
virtual void Allocate(Int_t nrow, Int_t ncol,Int_t ntime);
virtual void Reset();
- virtual Int_t GetNRow() { return fNrow; };
- virtual Int_t GetNCol() { return fNcol; };
- virtual Int_t GetNtime() { return fNtime; };
-
- Int_t GetIndex(Int_t row, Int_t col, Int_t time);
+ virtual Int_t GetNrow() const { return fNrow; };
+ virtual Int_t GetNcol() const { return fNcol; };
+ virtual Int_t GetNtime() const { return fNtime; };
+ Int_t GetIndex(Int_t row, Int_t col, Int_t time) const;
+ Int_t GetIndexUnchecked(Int_t row, Int_t col, Int_t time) const
+ { return time * fNrow*fNcol + GetIdx1Unchecked(row,col); };
+ Int_t GetBufType() const { return fBufType; };
+ virtual Int_t GetNelems() const { return fNelems; };
protected:
- Int_t GetIdx1(Int_t row, Int_t col);
- inline Bool_t CheckBounds(const char *where, Int_t idx1, Int_t idx2);
- inline Bool_t OutOfBoundsError(const char *where, Int_t idx1, Int_t idx2);
+ Int_t GetIdx1(Int_t row, Int_t col) const;
+ inline Int_t GetIdx1Unchecked(Int_t row, Int_t col) const
+ { return row + col * fNrow; };
+ inline Bool_t CheckBounds(Int_t idx1, Int_t idx2);
+ inline Bool_t OutOfBoundsError(Int_t idx1, Int_t idx2);
Int_t fNrow; // Number of rows of the detector segement
Int_t fNcol; // Number of columns of the detector segment