Index: trunk/MagicSoft/Mars/mhist/MHEvent.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHEvent.cc	(revision 2947)
+++ trunk/MagicSoft/Mars/mhist/MHEvent.cc	(revision 2979)
@@ -170,4 +170,11 @@
         return kFALSE;
 
+    const MCamEvent *event = dynamic_cast<const MCamEvent*>(par);
+    if (!event)
+    {
+        *fLog << err << par->GetDescriptor() << " doesn't inherit from MCamEvent... abort." << endl;
+        return kFALSE;
+    }
+
     if (fRawEvtData)
         fRawEvtData->Copy(*fClone);
@@ -177,11 +184,11 @@
     case kEvtSignal:
     case kEvtPedestal:
-        fHist->SetCamContent(*(MCamEvent*)par, 0);
+        fHist->SetCamContent(*event, 0);
         break;
     case kEvtPedestalRMS:
-        fHist->SetCamContent(*(MCamEvent*)par, 1);
+        fHist->SetCamContent(*event, 1);
         break;
     case kEvtRelativeSignal:
-        fHist->SetCamContent(*(MCamEvent*)par, 0);
+        fHist->SetCamContent(*event, 0);
         break;
     case kEvtCleaningLevels:
@@ -190,13 +197,13 @@
             lvl[0] = fImgCleanStd->GetCleanLvl2();
             lvl[1] = fImgCleanStd->GetCleanLvl1();
-            fHist->SetCamContent(*(MCamEvent*)par, 0);
+            fHist->SetCamContent(*event, 0);
             fHist->SetLevels(lvl);
         }
         break;
     case kEvtIdxMax:
-        fHist->SetCamContent(*(MCamEvent*)par, 5);
+        fHist->SetCamContent(*event, 5);
         break;
     case kEvtArrTime:
-        fHist->SetCamContent(*(MCamEvent*)par, 0);
+        fHist->SetCamContent(*event, 0);
         break; 
     }
