Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 3668)
+++ trunk/MagicSoft/Mars/Changelog	(revision 3669)
@@ -133,4 +133,8 @@
      - updated and enlarged documentation
 
+   * mcalib/MHCalibrationChargeCam.cc
+   * mcalib/MHCalibrationRelTimeCam.cc
+     - set the arrays by use of memset
+     - initialize TObjArrays with the Init-Function
 
 
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc	(revision 3668)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationChargeCam.cc	(revision 3669)
@@ -216,8 +216,4 @@
 {
 
-  const Int_t npixels  = fGeom->GetNumPixels();
-  const Int_t nsectors = fGeom->GetNumSectors();
-  const Int_t nareas   = fGeom->GetNumAreas();
-
   fCam = (MCalibrationCam*)pList->FindObject("MCalibrationChargeCam");
   if (!fCam)
@@ -230,9 +226,5 @@
         }
       else 
-        {
-          fCam->InitSize(npixels);
-          fCam->InitAverageAreas(nareas);
-          fCam->InitAverageSectors(nsectors);
-        }
+        fCam->Init(*fGeom);
     }
 
@@ -243,4 +235,8 @@
       return kFALSE;
   }
+
+  const Int_t npixels  = fGeom->GetNumPixels();
+  const Int_t nsectors = fGeom->GetNumSectors();
+  const Int_t nareas   = fGeom->GetNumAreas();
 
   if (fHiGainArray->GetEntries()==0)
@@ -397,16 +393,16 @@
   Int_t   sathisector[nsectors], satlosector[nsectors];
 
-  for (UInt_t j=0; j<nareas; j++)
-    {
-      sumhiarea  [j] = sumloarea  [j] = timehiarea  [j] =  timeloarea  [j] = 0.;
-      sathiarea  [j] = satloarea  [j] = 0;
-    }
-  
-  for (UInt_t j=0; j<nsectors; j++)
-    {
-      sumhisector[j] = sumlosector[j] = timehisector[j] =  timelosector[j] = 0.;
-      sathisector[j] = satlosector[j] = 0;
-    }
-  
+  memset(sumhiarea,   0, nareas * sizeof(Float_t));
+  memset(sumloarea,   0, nareas * sizeof(Float_t));
+  memset(timehiarea,  0, nareas * sizeof(Float_t));
+  memset(timeloarea,  0, nareas * sizeof(Float_t));
+  memset(sathiarea,   0, nareas * sizeof(Int_t  ));
+  memset(satloarea,   0, nareas * sizeof(Int_t  ));
+  memset(sumhisector, 0, nsectors*sizeof(Float_t));
+  memset(sumlosector, 0, nsectors*sizeof(Float_t));
+  memset(timehisector,0, nsectors*sizeof(Float_t));
+  memset(timelosector,0, nsectors*sizeof(Float_t));
+  memset(sathisector, 0, nsectors*sizeof(Int_t  ));
+  memset(satlosector, 0, nsectors*sizeof(Int_t  ));
 
   for (UInt_t i=0; i<npixels; i++)
Index: trunk/MagicSoft/Mars/mcalib/MHCalibrationRelTimeCam.cc
===================================================================
--- trunk/MagicSoft/Mars/mcalib/MHCalibrationRelTimeCam.cc	(revision 3668)
+++ trunk/MagicSoft/Mars/mcalib/MHCalibrationRelTimeCam.cc	(revision 3669)
@@ -153,8 +153,4 @@
 {
 
-  const Int_t npixels  = fGeom->GetNumPixels();
-  const Int_t nsectors = fGeom->GetNumSectors();
-  const Int_t nareas   = fGeom->GetNumAreas();
-
   fCam = (MCalibrationCam*)pList->FindObject("MCalibrationRelTimeCam");
   if (!fCam)
@@ -167,9 +163,5 @@
         }
       else 
-        {
-          fCam->InitSize(npixels);
-          fCam->InitAverageAreas(nareas);
-          fCam->InitAverageSectors(nsectors);
-        }
+        fCam->Init(*fGeom);
     }
   
@@ -180,4 +172,8 @@
       return kFALSE;
   }
+
+  const Int_t npixels  = fGeom->GetNumPixels();
+  const Int_t nsectors = fGeom->GetNumSectors();
+  const Int_t nareas   = fGeom->GetNumAreas();
 
   if (fHiGainArray->GetEntries()==0)
@@ -306,15 +302,8 @@
   Int_t   numsectorhi[nsectors], numsectorlo[nsectors];
 
-  for (UInt_t j=0; j<nareas; j++)
-    {
-      sumareahi[j] = sumarealo[j] = 0.;
-      numareahi[j] = numarealo[j] = 0;
-    }
-  
-  for (UInt_t j=0; j<nsectors; j++)
-    {
-      sumsectorhi[j] = sumsectorlo[j] = 0.;
-      numsectorhi[j] = numsectorlo[j] = 0;
-    }
+  memset(sumareahi,   0, nareas * sizeof(Float_t));
+  memset(sumarealo,   0, nareas * sizeof(Float_t));
+  memset(sumsectorhi, 0, nsectors*sizeof(Float_t));
+  memset(sumsectorlo, 0, nsectors*sizeof(Float_t));
   
   const MArrivalTimePix &refpix = (*arrtime)[1];
