Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 9530)
+++ trunk/MagicSoft/Mars/Changelog	(revision 9531)
@@ -24,7 +24,18 @@
      - allow unprescaled Calibration instead of requiring it (needed
        for MCs)
+     - changed the default for "no pattern" so that events with file
+       format <5 are correctly treated. This might result in a small 
+       bias in the case newer files miss the calibration pattern, but
+       that's unavoidable
+
+   * mtrigger/MTriggerPatternDecode.cc:
+     - decode trigger pattern for files older than format version 5
+       according to the file type
 
    * resources/calibration_spline.rc:
      - added dummy periods up to 89
+
+   * mmc/MMcFadcHeader.hxx:
+     - changed version to 10 (got a warning for newer MCs)
 
 
Index: trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.cc
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.cc	(revision 9530)
+++ trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.cc	(revision 9531)
@@ -29,6 +29,6 @@
 //  Decodes the trigger pattern from MRawEvtData into MTriggerPattern.
 //
-// For files before file version 5 the trigger pattern is set to 00000000.
-// This can be changed using the information about the file-type.
+// For files before file version 5 the trigger pattern is set according
+// to the file type
 //
 // For more details see: MTriggerPattern
@@ -70,5 +70,5 @@
 Int_t MTriggerPatternDecode::PreProcess(MParList *pList)
 {
-    fRunHeader = (MRawRunHeader*)pList->FindCreateObj("MRawRunHeader");
+    fRunHeader = (MRawRunHeader*)pList->FindObject("MRawRunHeader");
     if (!fRunHeader)
     {
@@ -77,5 +77,5 @@
     }
 
-    fEvtHeader = (MRawEvtHeader *)pList->FindObject("MRawEvtHeader");
+    fEvtHeader = (MRawEvtHeader*)pList->FindObject("MRawEvtHeader");
     if (!fEvtHeader)
     {
@@ -86,8 +86,5 @@
     fPattern = (MTriggerPattern*)pList->FindCreateObj("MTriggerPattern");
     if (!fPattern)
-    {
-	*fLog << err << "MRawEvtHeader not found... abort." << endl;
 	return kFALSE;
-    }
 
     return kTRUE;
@@ -96,13 +93,28 @@
 // --------------------------------------------------------------------------
 //
-// For files before file version 5 the trigger pattern is set to 00000000.
-// This can be changed using the information about the file-type.
 //
 Int_t MTriggerPatternDecode::Process()
 {
-    // No setting necessary because MTriggerPattern::reset() has
-    // been called just before
     if (fRunHeader->GetFormatVersion()<5)
+    {
+        switch (fRunHeader->GetRunType()&0xff)
+        {
+        case MRawRunHeader::kRTData:
+            fPattern->fPrescaled   = MTriggerPattern::kTriggerLvl1;
+            fPattern->fUnprescaled = MTriggerPattern::kTriggerLvl1;
+            return kTRUE;
+
+        case MRawRunHeader::kRTPedestal:
+            fPattern->fPrescaled   = MTriggerPattern::kPedestal;
+            fPattern->fUnprescaled = MTriggerPattern::kPedestal;
+            return kTRUE;
+
+        case MRawRunHeader::kRTCalibration:
+            fPattern->fPrescaled   = MTriggerPattern::kCalibration;
+            fPattern->fUnprescaled = MTriggerPattern::kCalibration;
+            return kTRUE;
+        }
         return kTRUE;
+    }
 
     const UInt_t pattern = ~fEvtHeader->GetTriggerID();
Index: trunk/MagicSoft/include-Classes/MMcFormat/MMcFadcHeader.hxx
===================================================================
--- trunk/MagicSoft/include-Classes/MMcFormat/MMcFadcHeader.hxx	(revision 9530)
+++ trunk/MagicSoft/include-Classes/MMcFormat/MMcFadcHeader.hxx	(revision 9531)
@@ -133,5 +133,5 @@
   void   DrawPixelContent(Int_t num) const { }
 
-  ClassDef(MMcFadcHeader, 9)  //Stores Montecarlo Information describing the FADC behaviour
+  ClassDef(MMcFadcHeader, 10)  //Stores Montecarlo Information describing the FADC behaviour
 };
 
