Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.cc	(revision 4942)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.cc	(revision 4943)
@@ -270,4 +270,51 @@
 void MHCalibrationChargeBlindPix::Reset()
 {
+}
+
+
+// --------------------------------------------------------------------------
+//
+// Use the MHGausEvents::Clone function and clone additionally the rest of the 
+// data members.
+//
+TObject *MHCalibrationChargeBlindPix::Clone(const char *name) const
+{
+
+  MHCalibrationChargeBlindPix &pix = (MHCalibrationChargeBlindPix&)*MHCalibrationPix::Clone(name);
+  // 
+  // Copy data members
+  //
+  pix.fSinglePheCut         =  fSinglePheCut;
+  pix.fNumSinglePheLimit    =  fNumSinglePheLimit;    
+
+  pix.fASinglePheFADCSlices =  fASinglePheFADCSlices; 
+  pix.fAPedestalFADCSlices  =  fAPedestalFADCSlices;  
+ 
+  pix.fSinglePheFit = (TF1*)fSinglePheFit->Clone();
+
+  pix.fNumSinglePhes  = fNumSinglePhes;  
+  pix.fNumPedestals   = fNumPedestals;   
+  pix.fLambda         = fLambda;           
+  pix.fLambdaCheck    = fLambdaCheck;      
+  pix.fMu0            = fMu0;              
+  pix.fMu1            = fMu1;              
+  pix.fSigma0         = fSigma0;           
+  pix.fSigma1         = fSigma1;           
+  pix.fLambdaErr      = fLambdaErr;         
+  pix.fLambdaCheckErr = fLambdaCheckErr; 
+  pix.fMu0Err         = fMu0Err;           
+  pix.fMu1Err         = fMu1Err;           
+  pix.fSigma0Err      = fSigma0Err;        
+  pix.fSigma1Err      = fSigma1Err;        
+  pix.fChisquare      = fChisquare;        
+  pix.fNDF            = fNDF;              
+  pix.fProb           = fProb;             
+  pix.fMeanPedestal   = fMeanPedestal;     
+  pix.fSigmaPedestal  = fSigmaPedestal;    
+  pix.fMeanPedestalErr  = fMeanPedestalErr;  
+  pix.fSigmaPedestalErr = fSigmaPedestalErr; 
+  pix.fFlags            = fFlags;            
+
+  return &pix;
 }
 
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.h
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.h	(revision 4942)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargeBlindPix.h	(revision 4943)
@@ -96,5 +96,5 @@
   void Reset();
   
-//  TObject *Clone(const char *) const;
+  TObject *Clone(const char *) const;
 
   Bool_t SetupFill(const MParList *pList);
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargePINDiode.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargePINDiode.cc	(revision 4942)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargePINDiode.cc	(revision 4943)
@@ -162,4 +162,32 @@
 
 }
+
+// --------------------------------------------------------------------------
+//
+// Use the MHCalibrationChargePix::Clone function and clone additionally 
+// the rest of the data members.
+//
+TObject *MHCalibrationChargePINDiode::Clone(const char *name) const
+{
+
+  MHCalibrationChargePINDiode &pix = (MHCalibrationChargePINDiode&)*MHCalibrationChargePix::Clone(name);
+  // 
+  // Copy data members
+  //
+  pix.fHRmsCharge = fHRmsCharge;
+
+  pix.fRmsChargeFirst    = fRmsChargeFirst;       
+  pix.fRmsChargeLast     = fRmsChargeLast;        
+  pix.fRmsChargeNbins    = fRmsChargeNbins;       
+  pix.fRmsChargeMean     = fRmsChargeMean;        
+  pix.fRmsChargeMeanErr  = fRmsChargeMeanErr;     
+  pix.fRmsChargeSigma    = fRmsChargeSigma;       
+  pix.fRmsChargeSigmaErr = fRmsChargeSigmaErr;    
+  pix.fTimeLowerLimit    = fTimeLowerLimit;       
+  pix.fTimeUpperLimit    = fTimeUpperLimit;       
+
+  return &pix;
+}
+
 
 // --------------------------------------------------------------------------
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargePINDiode.h
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargePINDiode.h	(revision 4942)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationChargePINDiode.h	(revision 4943)
@@ -46,4 +46,6 @@
   ~MHCalibrationChargePINDiode(){}
 
+  TObject *Clone(const char* name="") const;  
+  
   Bool_t SetupFill(const MParList *pList);
   Bool_t ReInit   (      MParList *pList);
Index: /trunk/MagicSoft/Mars/mhcalib/MHCalibrationRelTimeCam.cc
===================================================================
--- /trunk/MagicSoft/Mars/mhcalib/MHCalibrationRelTimeCam.cc	(revision 4942)
+++ /trunk/MagicSoft/Mars/mhcalib/MHCalibrationRelTimeCam.cc	(revision 4943)
@@ -261,5 +261,5 @@
         MHCalibrationPix &pix = GetAverageHiGainArea(j);
         
-        pix.SetNbins(fRelTimeNbins*TMath::Sqrt((Float_t)npixels/nareas));
+        pix.SetNbins(fRelTimeNbins*(Int_t)TMath::Sqrt((Float_t)npixels/nareas));
         pix.SetFirst(fRelTimeFirst);
         pix.SetLast (fRelTimeLast);
@@ -298,5 +298,5 @@
         MHCalibrationPix &pix = GetAverageLoGainArea(j);
 
-        pix.SetNbins(fRelTimeNbins*TMath::Sqrt((Float_t)npixels/nareas));
+        pix.SetNbins(fRelTimeNbins*(Int_t)TMath::Sqrt((Float_t)npixels/nareas));
         pix.SetFirst(fRelTimeFirst);
         pix.SetLast (fRelTimeLast);
@@ -335,5 +335,5 @@
           MHCalibrationPix &pix = GetAverageHiGainSector(j);
 
-          pix.SetNbins(fRelTimeNbins*TMath::Sqrt((Float_t)npixels/nsectors));
+          pix.SetNbins(fRelTimeNbins*(Int_t)TMath::Sqrt((Float_t)npixels/nsectors));
           pix.SetFirst(fRelTimeFirst);
           pix.SetLast (fRelTimeLast);
@@ -362,5 +362,5 @@
           MHCalibrationPix &pix = GetAverageLoGainSector(j);
 
-          pix.SetNbins(fRelTimeNbins*TMath::Sqrt((Float_t)npixels/nsectors));
+          pix.SetNbins(fRelTimeNbins*(Int_t)TMath::Sqrt((Float_t)npixels/nsectors));
           pix.SetFirst(fRelTimeFirst);
           pix.SetLast (fRelTimeLast);
