Index: trunk/MagicSoft/Mars/mbase/MArrayB.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayB.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mbase/MArrayB.h	(revision 8398)
@@ -111,4 +111,11 @@
     }
 
+    void Reset(Byte_t v)
+    {
+        for (Byte_t *b=fArray; b<fArray+fN; b++)
+            *b = v;
+    }
+
+
     void Set(UInt_t n)
     {
Index: trunk/MagicSoft/Mars/mbase/MArrayD.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayD.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mbase/MArrayD.h	(revision 8398)
@@ -96,4 +96,10 @@
     }
 
+    void Reset(Double_t v)
+    {
+        for (Double_t *d=fArray; d<fArray+fN; d++)
+            *d = v;
+    }
+
     void Set(UInt_t n)
     {
Index: trunk/MagicSoft/Mars/mbase/MArrayF.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayF.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mbase/MArrayF.h	(revision 8398)
@@ -96,8 +96,8 @@
     }
 
-    void Reset(Float_t f)
+    void Reset(Float_t v)
     {
-        for (UInt_t i=0; i<fN; i++)
-            fArray[i] = f;
+        for (Float_t *f=fArray; f<fArray+fN; f++)
+            *f = v;
     }
 
Index: trunk/MagicSoft/Mars/mbase/MArrayI.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayI.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mbase/MArrayI.h	(revision 8398)
@@ -95,4 +95,10 @@
     }
 
+    void Reset(Int_t v)
+    {
+        for (Int_t *i=fArray; i<fArray+fN; i++)
+            *i = v;
+    }
+
     void Set(UInt_t n)
     {
Index: trunk/MagicSoft/Mars/mbase/MArrayS.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MArrayS.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mbase/MArrayS.h	(revision 8398)
@@ -103,4 +103,10 @@
     }
 
+    void Reset(UShort_t v)
+    {
+        for (UShort_t *s=fArray; s<fArray+fN; s++)
+            *s = v;
+    }
+
     void Set(UInt_t n)
     {
Index: trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 8397)
+++ trunk/MagicSoft/Mars/mcalib/MCalibrationChargeCalc.cc	(revision 8398)
@@ -1,4 +1,4 @@
 /* ======================================================================== *\
-! $Name: not supported by cvs2svn $:$Id: MCalibrationChargeCalc.cc,v 1.171 2006-12-04 14:22:29 tbretz Exp $
+! $Name: not supported by cvs2svn $:$Id: MCalibrationChargeCalc.cc,v 1.172 2007-04-12 11:47:19 tbretz Exp $
 ! --------------------------------------------------------------------------
 !
@@ -1886,5 +1886,5 @@
         }
 
-      *fLog << inf << "Area    " << setw(4) << i <<": Mean F-Factor :"
+      *fLog << inf << "Area   " << setw(4) << i <<": Mean F-Factor :"
           << Form("%4.2f+-%4.2f",mean,sigma) << endl;
 
Index: trunk/MagicSoft/Mars/mhbase/MBinning.h
===================================================================
--- trunk/MagicSoft/Mars/mhbase/MBinning.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mhbase/MBinning.h	(revision 8398)
@@ -96,4 +96,6 @@
     const TArrayD &GetEdgesD() const { return fEdges; }
 
+    Double_t operator[](Int_t i) const { return fEdges[i]; }
+
     void AddEdge(Axis_t up);
     void RemoveFirstEdge();
Index: trunk/MagicSoft/Mars/mhist/MHCamera.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 8397)
+++ trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 8398)
@@ -1,4 +1,4 @@
 /* ======================================================================== *\
-! $Name: not supported by cvs2svn $:$Id: MHCamera.cc,v 1.101 2007-02-01 15:14:28 tbretz Exp $
+! $Name: not supported by cvs2svn $:$Id: MHCamera.cc,v 1.102 2007-04-12 11:47:19 tbretz Exp $
 ! --------------------------------------------------------------------------
 !
@@ -22,5 +22,5 @@
 !   Author(s): Markus Gaug, 03/2004 <mailto:markus@ifae.es>
 !
-!   Copyright: MAGIC Software Development, 2000-2004
+!   Copyright: MAGIC Software Development, 2000-2007
 !
 !
@@ -1194,8 +1194,11 @@
     {
         gStyle->SetPalette(51, NULL);
-        TArrayI c(kItemsLegend);
-        for (int i=0; i<kItemsLegend; i++)
-            c[kItemsLegend-i-1] = gStyle->GetColorPalette(i);
-        gStyle->SetPalette(kItemsLegend, c.GetArray());
+
+        const Int_t n = GetContour()==0?50:GetContour();
+
+        TArrayI c(n);
+        for (int i=0; i<n; i++)
+            c[n-i-1] = gStyle->GetColorPalette(i);
+        gStyle->SetPalette(n, c.GetArray());
     }
     else
@@ -1721,5 +1724,7 @@
     //   first treat the over- and under-flows
     //
-    const Int_t maxcolidx = kItemsLegend-1;
+    const Int_t ncol = GetContour()==0?50:GetContour();
+
+    const Int_t maxcolidx = ncol-1;
 
     if (!TMath::Finite(val)) // FIXME: gLog!
@@ -1741,5 +1746,5 @@
         ratio = (val-min) / (max-min);
 
-    const Int_t colidx = (Int_t)(ratio*maxcolidx + .5);
+    const Int_t colidx = TMath::FloorNint(ratio*ncol);
     return gStyle->GetColorPalette(colidx);
 }
@@ -1796,5 +1801,7 @@
         const Float_t offset = hndc*range;
 
-        const Float_t h = 2./kItemsLegend;
+        const Int_t ncol = GetContour()==0 ? 50 : GetContour();
+
+        const Float_t h = 2./ncol;
         const Float_t w = range/sqrt((float)(fNcells-2));
 
@@ -1808,9 +1815,9 @@
 #endif
 
-        const Float_t step   = (islog && min>0 ? log10(max/min) : max-min) / kItemsLegend;
-        const Int_t   firsts = step*3 < 1e-8 ? 8 : (Int_t)floor(log10(step*3));
+        const Float_t step   = (islog && min>0 ? log10(max/min) : max-min);
+        const Int_t   firsts = step/48*3 < 1e-8 ? 8 : (Int_t)floor(log10(step/48*3));
         const TString opt    = Form("%%.%if", firsts>0 ? 0 : TMath::Abs(firsts));
-
-        for (Int_t i=0; i<kItemsLegend+1; i+=3)
+/*
+        for (Int_t i=0; i<ncol+1; i+=3)
         {
             Float_t val;
@@ -1822,7 +1829,12 @@
             //const bool dispexp = max-min>1.5 && fabs(val)>0.1 && fabs(val)<1e6;
             newtxt.PaintText(range+1.5*w, H*(i*h-1)-offset, Form(opt, val));
-        }
-
-        for (Int_t i=0; i<kItemsLegend; i++)
+            }
+            */
+        const MBinning bins(25, min, max, islog&&min>0?"log":"lin");
+
+        for (Int_t i=0; i<=25; i++)
+            newtxt.PaintText(range+1.5*w, H*(i*ncol/25*h-1)-offset, Form(opt, bins[i]));
+
+        for (Int_t i=0; i<ncol; i++)
         {
             newbox.SetFillColor(gStyle->GetColorPalette(i));
Index: trunk/MagicSoft/Mars/mjobs/MDataSet.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MDataSet.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mjobs/MDataSet.h	(revision 8398)
@@ -142,7 +142,7 @@
 
     // TObject
-    void Print(Option_t *o="") const;
+    void Print(Option_t *o="") const; //*MENU*
 
-    ClassDef(MDataSet, 0)
+    ClassDef(MDataSet, 1)
 };
 
Index: trunk/MagicSoft/Mars/mjobs/MSequence.h
===================================================================
--- trunk/MagicSoft/Mars/mjobs/MSequence.h	(revision 8397)
+++ trunk/MagicSoft/Mars/mjobs/MSequence.h	(revision 8398)
@@ -76,5 +76,5 @@
 
     // TObject
-    void Print(Option_t *o="") const;
+    void Print(Option_t *o="") const; //*MENU*
 
     // Genaral interface
@@ -133,5 +133,5 @@
     UInt_t AddDatRuns(UInt_t num) { return AddDatRuns(num, num); }
 
-    ClassDef(MSequence, 0)
+    ClassDef(MSequence, 1)
 };
 
