Index: trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.h
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.h	(revision 5725)
+++ trunk/MagicSoft/Mars/mtrigger/MTriggerPattern.h	(revision 5803)
@@ -27,5 +27,7 @@
 
 public:
-    MTriggerPattern(const char *name, const char *title);
+    MTriggerPattern(const char *name=0, const char *title=0);
+
+    void Reset() { fPrescaled=0; fUnprescaled=0; }
 
     Byte_t GetPrescaled() const   { return fPrescaled; }
Index: trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.cc
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.cc	(revision 5725)
+++ trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.cc	(revision 5803)
@@ -17,5 +17,5 @@
 !
 !   Author(s): Nicola Galante  12/2004 <mailto:nicola.galante@pi.infn.it>
-!   Author(s): Nicola Galante  12/2004 <mailto:tbretz@astro.uni-wuerzburg.de>
+!   Author(s): Thomas Bretz 12/2004 <mailto:tbretz@astro.uni-wuerzburg.de>
 !
 !   Copyright: MAGIC Software Development, 2004
@@ -43,4 +43,5 @@
 #include "MParList.h"
 #include "MRawEvtHeader.h"
+#include "MRawRunHeader.h"
 #include "MTriggerPattern.h"
 
@@ -54,4 +55,5 @@
 //
 MTriggerPatternDecode::MTriggerPatternDecode(const char *name, const char *title)
+    : fRunHeader(0), fEvtHeader(0), fPattern(0)
 {
     fName  = name  ? name  : "MTriggerPatternDecode";
@@ -63,4 +65,11 @@
 Int_t MTriggerPatternDecode::PreProcess(MParList *pList)
 {
+    fRunHeader = (MRawRunHeader*)pList->FindCreateObj("MRawRunHeader");
+    if (!fRunHeader)
+    {
+	*fLog << err << "MRawRunHeader not found... abort." << endl;
+	return kFALSE;
+    }
+
     fEvtHeader = (MRawEvtHeader *)pList->FindObject("MRawEvtHeader");
     if (!fEvtHeader)
@@ -84,4 +93,7 @@
 Int_t MTriggerPatternDecode::Process()
 {
+    if (fRunHeader->GetFormatVersion()<5)
+        return kTRUE;
+
     UInt_t pattern = ~fEvtHeader->GetTriggerID();
 
Index: trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.h
===================================================================
--- trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.h	(revision 5725)
+++ trunk/MagicSoft/Mars/mtrigger/MTriggerPatternDecode.h	(revision 5803)
@@ -2,70 +2,27 @@
 #define MARS_MTriggerPatternDecode
 
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-// MTriggerPatternDecode
-//
-// auth. N.Galante 
-// created 17.11.04                                                       //
-//                                                                         //
-/////////////////////////////////////////////////////////////////////////////
-
-#ifndef MARS_MFilter
-#include "MFilter.h"
+#ifndef MARS_MTask
+#include "MTask.h"
 #endif
 
 class MParList;
 class MRawEvtHeader;
+class MRawRunHeader;
 class MTriggerPattern;
 
-class MTriggerPatternDecode : public MFilter
+class MTriggerPatternDecode : public MTask
 {
 private:
-//  enum pattern {PLT1=1, PCAL=2, PLT2=4, PPED=8, PPIND=16, 
-//		ULT1=256, UCAL=512, ULT2=1024, UPED=2048, UPIND=4096};
+    MRawRunHeader   *fRunHeader;
+    MRawEvtHeader   *fEvtHeader;
+    MTriggerPattern *fPattern;
 
-   MRawEvtHeader   *fEvtHeader;
-   MTriggerPattern *fPattern;
-
-//  UInt_t fMaskAllowed;   // Mask for filtering Trigger Pattern allowed
-//  UInt_t fMaskDenied;    // Mask for filtering Trigger Pattern denied
-//  UInt_t fPattern;       // Trigger Pattern stored into event
-//  UInt_t fMachArch;      
-
-//  Bool_t fBitInv;        // Flag to invert bits of Pattern (1=yes,0=no)
-                         // default 1=yes
-  //Bool_t fPrescaled;     // Flag to set if using prescaled (=1) or
-                         // unprescaled (=0) pattern. Default 1
-//  Bool_t fResult;
-
-  Int_t PreProcess(MParList *pList);
-  Int_t Process();
+    Int_t PreProcess(MParList *pList);
+    Int_t Process();
 
 public:
+    MTriggerPatternDecode(const char *name=0, const char *title=0);
 
-  MTriggerPatternDecode(const char *name, const char *title);
-  MTriggerPatternDecode(MTriggerPatternDecode &trigpatt);
-
-//  Bool_t IsExpressionTrue() const;
-
-//  void AllowPresTrigger(TString patt);
-//  void DenyPresTrigger(TString patt);
-//  void AllowUnpresTrigger(TString patt);
-//  void DenyUnpresTrigger(TString patt);
-//
-////  UInt_t GetMaskAllowed() const { return fMaskAllowed; };
-//  UInt_t GetMaskDenied() const { return fMaskDenied; };
-  //Bool_t GetPrescaled() const { return fPrescaled; };
-//  Bool_t GetBitInv() const { return fBitInv; }
-
-//  void SetBitInv(const Bool_t inv) { fBitInv = inv; }
-  //void SetPrescaled() { fPrescaled = kTRUE; };
-  //void SetUnprescaled() { fPrescaled = kFALSE; };
-
-  // Low level settings. USE THESE ONLY IF YOU ARE AN EXPERT!
-//  void SetMaskAllowed(const UInt_t mask) { fMaskAllowed = mask; }
-//  void SetMaskDenied(const UInt_t mask) { fMaskDenied = mask; }
-
-  ClassDef(MTriggerPatternDecode, 1) // Task to decode the Trigger Pattern
+    ClassDef(MTriggerPatternDecode, 1) // Task to decode the Trigger Pattern
 };
 
