+//_____________________________________________________________________________
+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) {
+ AliError(Form("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)
+{
+ //
+ // Sets the data value at a given position of the array
+ // No boundary checking
+ //
+
+ (*fElements)[fIndex->fArray[idx2]+idx1] = value;
+
+}
+
+//_____________________________________________________________________________
+AliTRDdataArrayF &AliTRDdataArrayF::operator=(const AliTRDdataArrayF &a)
+{
+ //
+ // Assignment operator
+ //
+
+ if (this != &a) ((AliTRDdataArrayF &) a).Copy(*this);
+ return *this;
+
+}
+