Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 9210)
+++ trunk/MagicSoft/Mars/Changelog	(revision 9211)
@@ -18,4 +18,16 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2009/01/06 Thomas Bretz
+
+   * mbase/MArrayB.h, mbase/MArrayD.h, mbase/MArrayF.h,
+     mbase/MArrayI.h, mbase/MArrayS.h:
+     - removed GetSize
+
+   * mbase/MArrayF.h:
+     - added Add()
+     - added AddClipped
+
+
 
  2009/01/05 Thomas Bretz
Index: trunk/MagicSoft/Mars/mbase/MArrayB.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayB.h	(revision 9210)
+++ trunk/MagicSoft/Mars/mbase/MArrayB.h	(revision 9211)
@@ -51,9 +51,4 @@
         fArray = NULL;
         Set(array.fN, array.fArray);
-    }
-
-    UInt_t GetSize() const
-    {
-        return fN;
     }
 
Index: trunk/MagicSoft/Mars/mbase/MArrayD.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayD.h	(revision 9210)
+++ trunk/MagicSoft/Mars/mbase/MArrayD.h	(revision 9211)
@@ -42,9 +42,4 @@
         fArray = NULL;
         Set(array.fN, array.fArray);
-    }
-
-    UInt_t GetSize() const
-    {
-        return fN;
     }
 
Index: trunk/MagicSoft/Mars/mbase/MArrayF.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayF.h	(revision 9210)
+++ trunk/MagicSoft/Mars/mbase/MArrayF.h	(revision 9211)
@@ -42,9 +42,4 @@
         fArray = NULL;
         Set(array.fN, array.fArray);
-    }
-
-    UInt_t GetSize() const
-    {
-        return fN;
     }
 
@@ -174,4 +169,24 @@
     }
 
+    template<class T>
+        void Add(T *src, Int_t n, Int_t p=0)
+    {
+        Float_t *dest = fArray + p;
+        Float_t *end  = dest   + n;
+
+        while (dest<end)
+            *dest++ += *src++;
+    }
+
+    template<class T>
+        void AddClipped(Double_t th, T src, Int_t n, Int_t p=0)
+    {
+        Float_t *dest = fArray + p;
+        Float_t *end  = dest   + n;
+
+        while (dest<end)
+            *dest++ += TMath::Min(*src++, th);
+    }
+
     static void  StripZeros(TArrayF &arr);
     void  StripZeros();
Index: trunk/MagicSoft/Mars/mbase/MArrayI.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayI.h	(revision 9210)
+++ trunk/MagicSoft/Mars/mbase/MArrayI.h	(revision 9211)
@@ -41,9 +41,4 @@
         fArray = NULL;
         Set(array.fN, array.fArray);
-    }
-
-    UInt_t GetSize() const
-    {
-        return fN;
     }
 
Index: trunk/MagicSoft/Mars/mbase/MArrayS.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayS.h	(revision 9210)
+++ trunk/MagicSoft/Mars/mbase/MArrayS.h	(revision 9211)
@@ -49,9 +49,4 @@
         fArray = NULL;
         Set(array.fN, array.fArray);
-    }
-
-    UInt_t GetSize() const
-    {
-        return fN;
     }
 
