Index: trunk/MagicSoft/Cosy/caos/Ring.cc
===================================================================
--- trunk/MagicSoft/Cosy/caos/Ring.cc	(revision 4255)
+++ trunk/MagicSoft/Cosy/caos/Ring.cc	(revision 4357)
@@ -62,4 +62,6 @@
     fR = hypot(fX-leds(i).GetX(), fY-leds(i).GetY());
 
+    fMag = (leds(i).GetMag() + leds(j).GetMag() + leds(k).GetMag())/3;
+
     return kTRUE;
 }
@@ -77,4 +79,6 @@
     fDr=0;
 
+    fMag=0;
+
     if (n<1)
         return;
@@ -84,12 +88,14 @@
         const Ring &ring = rings(i);
 
-        fX += ring.GetX();
-        fY += ring.GetY();
-        fR += ring.GetR();
+        fX +  = ring.GetX();
+        fY   += ring.GetY();
+        fR   += ring.GetR();
+        fMag += ring.GetMag();
     }
 
-    fX /= n;
-    fY /= n;
-    fR /= n;
+    fX   /= n;
+    fY   /= n;
+    fR   /= n;
+    fMag /= n;
 
     if (n<2)
Index: trunk/MagicSoft/Cosy/caos/Ring.h
===================================================================
--- trunk/MagicSoft/Cosy/caos/Ring.h	(revision 4255)
+++ trunk/MagicSoft/Cosy/caos/Ring.h	(revision 4357)
@@ -22,4 +22,6 @@
     Double_t fDphi;
 
+    Double_t fMag;
+
     Double_t sqr(Double_t x) { return x*x; }
 
@@ -39,4 +41,6 @@
     Double_t GetPhi() const { return fPhi; }
 
+    Double_t GetMag() const { return fMag; }
+
     bool CalcCenter(const Leds &leds, Int_t i, Int_t j, Int_t k);
     void InterpolCenters(const Rings &rings);
