9#ifndef HALMEMORYMANAGERARRAYS_H_
10#define HALMEMORYMANAGERARRAYS_H_
23 Array_1() : TObject(), fSize(0), fArray(
nullptr) {}
39 void Resize(Int_t new_dim);
45 inline T&
operator[](
const int index) {
return fArray[index]; };
50 inline Int_t
GetSize()
const {
return fSize; }
89 T FindMin(Int_t& index)
const;
91 T FindMax(Int_t& index)
const;
97 inline T
Get(Int_t i)
const {
return fArray[i]; };
103 inline void Set(Int_t index, T val) { fArray[index] = val; };
111 if (fArray)
delete[] fArray;
131 Array_2() : TObject(), fSize(0), fArray(NULL) {};
153 inline Int_t
GetSize()
const {
return fSize; }
174 inline T
Get(Int_t i, Int_t j)
const {
return fArray[i].
Get(j); };
175 inline Array_1<T>& operator[](
const int index) {
return fArray[index]; };
182 inline void Set(Int_t i, Int_t j, T val) { fArray[i].
Set(j, val); };
191 if (fArray)
delete[] fArray;
203 Array_3() : TObject(), fSize(0), fArray(NULL) {};
204 Array_3(Int_t x, Int_t y, Int_t z);
216 void MakeBigger(Int_t sizeA, Int_t sizeB, Int_t sizeC);
221 inline Int_t
GetSize()
const {
return fSize; }
222 inline Array_2<T>& operator[](
const int index) {
return fArray[index]; };
248 inline T
Get(Int_t A, Int_t B, Int_t C)
const {
return fArray[A].
Get(B, C); };
265 inline void Set(Int_t A, Int_t B, Int_t C, T val) { fArray[A].
Set(B, C, val); };
267 if (fArray)
delete[] fArray;
280 Array_4() : TObject(), fSize(0), fArray(NULL) {};
281 Array_4(Int_t x, Int_t y, Int_t z, Int_t t);
294 void MakeBigger(Int_t sizeA, Int_t sizeB, Int_t sizeC, Int_t sizeD);
295 inline Array_3<T>& operator[](
const int index) {
return fArray[index]; };
318 inline Int_t
GetSize()
const {
return fSize; }
327 inline T
Get(Int_t A, Int_t B, Int_t C, Int_t D)
const {
return fArray[A].
Get(B, C, D); };
345 inline void Set(Int_t A, Int_t B, Int_t C, Int_t D, T val) { fArray[A].
Set(B, C, D, val); };
347 if (fArray)
delete[] fArray;
void Set(Int_t index, T val)
T IncrementAfter(Int_t i)
void Add(Array_1< T > const &rhs)
void Resize(Int_t new_dim)
T & operator[](const int index)
void MakeBigger(Int_t new_dim)
Array_1< T > & operator+=(const Array_1< T > &rhs)
Array_1< T > & operator=(const Array_1< T > &rhs)
void MakeBigger(Int_t sizeA, Int_t sizeB)
Array_2< T > & operator=(const Array_2< T > &rhs)
T IncrementAfter(Int_t i, Int_t j)
T Get(Int_t i, Int_t j) const
Array_1< T > * At(const Int_t i)
void Set(Int_t i, Int_t j, T val)
Array_2< T > * At(Int_t i) const
void Set(Int_t A, Int_t B, Int_t C, T val)
Array_3< T > & operator=(const Array_3< T > &rhs)
void MakeBigger(Int_t sizeA, Int_t sizeB, Int_t sizeC)
Array_3< T > & operator+=(const Array_3< T > &rhs)
T IncrementAfter(Int_t A, Int_t B, Int_t C)
T Get(Int_t A, Int_t B, Int_t C) const
void Set(Int_t A, Int_t B, Int_t C, Int_t D, T val)
Array_4< T > & operator+=(const Array_4< T > &rhs)
Array_3< T > * At(Int_t i) const
Array_4< T > & operator=(const Array_4< T > &rhs)
T Get(Int_t A, Int_t B, Int_t C, Int_t D) const
T IncrementAfter(Int_t A, Int_t B, Int_t C, Int_t D)
void MakeBigger(Int_t sizeA, Int_t sizeB, Int_t sizeC, Int_t sizeD)