Index: /trunk/MagicSoft/Mars/Changelog
===================================================================
--- /trunk/MagicSoft/Mars/Changelog	(revision 6967)
+++ /trunk/MagicSoft/Mars/Changelog	(revision 6968)
@@ -21,4 +21,15 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2005/04/21 Thomas Bretz
+
+    * mjobs/MJCalibrateSignal.cc:
+      - fixed usage of MFTriggerPattern
+
+    * mtrigger/MFTriggerPattern.[h,cc]:
+      - allow to set default from outside in case no pattern
+        could be decoded
+
+
 
  2005/04/20 Thomas Bretz
Index: /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc
===================================================================
--- /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6967)
+++ /trunk/MagicSoft/Mars/mjobs/MJCalibrateSignal.cc	(revision 6968)
@@ -498,4 +498,5 @@
 
     MFTriggerPattern ftp;
+    ftp.SetDefault(kTRUE);
     //    ftp.RequireCalibration();
     ftp.DenyCalibration();
@@ -581,4 +582,5 @@
 
     MFTriggerPattern        fcalib("CalibFilter");
+    fcalib.SetDefault(kFALSE);
     fcalib.RequireCalibration();
 
Index: /trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.cc
===================================================================
--- /trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.cc	(revision 6967)
+++ /trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.cc	(revision 6968)
@@ -50,5 +50,5 @@
 MFTriggerPattern::MFTriggerPattern(const char *name, const char *title)
     : fPattern(0), fMaskRequiredPrescaled(0), fMaskRequiredUnprescaled(0),
-      fMaskDeniedPrescaled(0), fMaskDeniedUnprescaled(0)
+      fMaskDeniedPrescaled(0), fMaskDeniedUnprescaled(0), fDefault(kTRUE)
 {
     fName  = name  ? name  : "MFTriggerPattern";
@@ -86,8 +86,13 @@
 Int_t MFTriggerPattern::Process()
 {
-    fResult = kFALSE;
-
     const Byte_t p = fPattern->GetPrescaled();
     const Byte_t u = fPattern->GetUnprescaled();
+    if (p==0 && u==0)
+    {
+        fResult = fDefault;
+        return kTRUE;
+    }
+
+    fResult = kFALSE;
 
     // Check whether all the bits required are ON
@@ -99,5 +104,5 @@
     if ( (p & fMaskDeniedPrescaled) || (u & fMaskDeniedUnprescaled) )
       fResult = kFALSE;
-    
+
     return kTRUE;
 }
Index: /trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.h
===================================================================
--- /trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.h	(revision 6967)
+++ /trunk/MagicSoft/Mars/mtrigger/MFTriggerPattern.h	(revision 6968)
@@ -23,5 +23,6 @@
   Byte_t fMaskDeniedPrescaled;      // Mask for filtering Trigger Pattern denied
   Byte_t fMaskDeniedUnprescaled;    // Mask for filtering Trigger Pattern denied
-  
+
+  Bool_t fDefault;                  // Default which is used if trigger pattern has default value (p==0&&u==0)
   Bool_t fResult;                   //!
   
@@ -49,5 +50,7 @@
   void Require(TString patt, Prescale_t prescaled=kUnPrescaled);
   void Deny(TString patt, Prescale_t prescaled=kUnPrescaled);
-  
+
+  void SetDefault(Bool_t b) { fDefault=b; }
+
   // Low level settings. USE THESE ONLY IF YOU ARE AN EXPERT!
   void SetMaskRequired(const Byte_t mask, Prescale_t prescaled=kUnPrescaled);
