A++ » INCLUDE » TNDArrayRef<unsigned int>

class TNDArrayRef<unsigned int>


TNDArray

N-Dim array class.

Storage layout:
Assume 3 dimensions, array sizes 2, 4 and 3 i.e. 24 bins:
Data is stored as [0,0,0], [0,0,1], [0,0,2], [0,1,0],...

fSizes stores the combined size of each bin in a dimension, i.e. in
above example it would contain 24, 12, 3, 1.

Storage is allocated lazily, only when data is written to the array.

TNDArrayRef gives access to a sub-dimension, e.g. arr[0][1] in above
three-dimensional example, up to an element with conversion operator
to double: double value = arr[0][1][2];


Function Members (Methods)

public:
~TNDArrayRef<unsigned int>()
static TClass*Class()
TClass*IsA() const
unsigned intoperator unsigned int() const
TNDArrayRef<unsigned int>&operator=(const TNDArrayRef<unsigned int>&)
TNDArrayRef<unsigned int>&operator=(TNDArrayRef<unsigned int>&&)
TNDArrayRef<unsigned int>operator[](Int_t idx) const
voidShowMembers(TMemberInspector& insp) const
voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
TNDArrayRef<unsigned int>(const TNDArrayRef<unsigned int>&)
TNDArrayRef<unsigned int>(TNDArrayRef<unsigned int>&&)
TNDArrayRef<unsigned int>(const unsigned int* data, const Long64_t* sizes)

Data Members

private:
const unsigned int*fDatapointer into TNDArray's fData
const Long64_t*fSizespointer into TNDArray's fSizes

Class Charts

Inheritance Chart:
TNDArrayRef<unsigned int>

Function documentation

TNDArray& operator=(const TNDArray&)
TNDArrayRef<T> operator[](Int_t idx) const
template<> void TNDArrayT<double> Streamer(TBuffer& )
 When building with -fmodules, it instantiates all pending instantiations,
 instead of delaying them until the end of the translation unit.
 We 'got away with' probably because the use and the definition of the
 explicit specialization do not occur in the same TU.

 In case we are building with -fmodules, we need to forward declare the
 specialization in order to compile the dictionary G__Hist.cxx.