Index: trunk/MagicSoft/Mars/mbase/BaseLinkDef.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/BaseLinkDef.h	(revision 6892)
+++ trunk/MagicSoft/Mars/mbase/BaseLinkDef.h	(revision 6915)
@@ -71,4 +71,8 @@
 #pragma link C++ class MArgsEntry+;
 
+#pragma link C++ class MParameterI+;
+#pragma link C++ class MParameterD+;
+#pragma link C++ class MParameterDerr+;
+
 // Tool tasks
 #pragma link C++ class MClone+;
Index: trunk/MagicSoft/Mars/mbase/MParList.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MParList.cc	(revision 6892)
+++ trunk/MagicSoft/Mars/mbase/MParList.cc	(revision 6915)
@@ -349,5 +349,6 @@
 
     *fLog << dbginf << warn << "Found object '" << name << "' doesn't ";
-    *fLog << "inherit from " << "'" << classname << "'" << endl;
+    *fLog << "inherit from " << "'" << classname << "' but from '";
+    *fLog << obj->ClassName() << "'" << endl;
     return NULL;
 }
Index: trunk/MagicSoft/Mars/mbase/MParameters.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MParameters.cc	(revision 6915)
+++ trunk/MagicSoft/Mars/mbase/MParameters.cc	(revision 6915)
@@ -0,0 +1,96 @@
+/* ======================================================================== *\
+!
+! *
+! * This file is part of MARS, the MAGIC Analysis and Reconstruction
+! * Software. It is distributed to you in the hope that it can be a useful
+! * and timesaving tool in analysing Data of imaging Cerenkov telescopes.
+! * It is distributed WITHOUT ANY WARRANTY.
+! *
+! * Permission to use, copy, modify and distribute this software and its
+! * documentation for any purpose is hereby granted without fee,
+! * provided that the above copyright notice appear in all copies and
+! * that both that copyright notice and this permission notice appear
+! * in supporting documentation. It is provided "as is" without express
+! * or implied warranty.
+! *
+!
+!
+!   Author(s): Thomas Bretz 03/2003 <mailto:tbretz@astro.uni-wuerzburg.de>
+!
+!   Copyright: MAGIC Software Development, 2000-2005
+!
+!
+\* ======================================================================== */
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// MParameterD, MParameterDerr, MParameterI
+//
+// Storage Container for doubles and ints
+//
+// This classes can be used for intermidiate variables which we don't want
+// to have in a special container.
+//
+//
+// MParameterDerr - Version 2:
+//  - inherits from MParemeterD now, where fVal comes from
+//
+/////////////////////////////////////////////////////////////////////////////
+#include "MParameters.h"
+
+#include <fstream>
+
+#include "MLog.h"
+#include "MLogManip.h"
+
+ClassImp(MParameterD);
+ClassImp(MParameterI);
+ClassImp(MParameterDerr);
+//ClassImp(MParameter);
+
+using namespace std;
+
+// --------------------------------------------------------------------------
+//
+// Default constructor.
+//
+MParameterD::MParameterD(const char *name, const char *title)
+{
+    fName  = name  ? name  : "MParameterD";
+    fTitle = title ? title : "Storgare container for general parameters (double)";
+}
+
+// --------------------------------------------------------------------------
+//
+// Default constructor.
+//
+MParameterDerr::MParameterDerr(const char *name, const char *title)
+{
+    fName  = name  ? name  : "MParameterDerr";
+    fTitle = title ? title : "Storgare container for general parameters (double) and its error";
+}
+
+// --------------------------------------------------------------------------
+//
+// Default constructor.
+//
+MParameterI::MParameterI(const char *name, const char *title)
+{
+    fName  = name  ? name  : "MParameterI";
+    fTitle = title ? title : "Storgare container for general parameters (integer)";
+}
+
+void MParameterD::Print(Option_t *o) const
+{
+    *fLog << all << GetDescriptor() << ":  Val=" << fVal << endl;
+}
+
+void MParameterDerr::Print(Option_t *o) const
+{
+    *fLog << all << GetDescriptor() << ":  Val=" << GetVal() << "  Err=" << fErr << endl;
+}
+
+void MParameterI::Print(Option_t *o) const
+{
+    *fLog << all << GetDescriptor() << ":  Val=" << fVal << endl;
+}
Index: trunk/MagicSoft/Mars/mbase/MParameters.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MParameters.h	(revision 6915)
+++ trunk/MagicSoft/Mars/mbase/MParameters.h	(revision 6915)
@@ -0,0 +1,119 @@
+#ifndef MARS_MParameters
+#define MARS_MParameters
+
+#ifndef MARS_MParContainer
+#include "MParContainer.h"
+#endif
+
+class MParameterD : public MParContainer
+{
+private:
+    Double_t fVal;
+
+public:
+    MParameterD(const char *name=NULL, const char *title=NULL);
+
+    void SetVal(Double_t v) { fVal = v; }
+    Double_t GetVal() const { return fVal; }
+
+    void Print(Option_t *o="") const;
+
+    ClassDef(MParameterD, 1) // Container to hold a generalized parameters (double)
+};
+
+class MParameterDerr : public MParameterD
+{
+private:
+    Double_t fErr;
+
+public:
+    MParameterDerr(const char *name=NULL, const char *title=NULL);
+
+    void SetVal(Double_t v)             { MParameterD::SetVal(v); }
+    void SetVal(Double_t v, Double_t e) { SetVal(v); fErr = e; }
+    Double_t GetErr() const { return fErr; }
+
+    void Print(Option_t *o="") const;
+
+    ClassDef(MParameterDerr, 2) // Container to hold a generalized parameters (double) and its Error
+};
+
+class MParameterI : public MParContainer
+{
+private:
+    Int_t fVal;
+
+public:
+    MParameterI(const char *name=NULL, const char *title=NULL);
+
+    void SetVal(Int_t v) { fVal = v; }
+    Int_t GetVal() const { return fVal; }
+
+    void Print(Option_t *o="") const;
+
+    ClassDef(MParameterI, 1) // Container to hold a generalized parameters (integer)
+};
+/*
+class MParameters : public MParContainer
+{
+private:
+    TObjArray fList;
+    TObjArray fNames;
+
+public:
+    MParameters(const char *name=NULL, const char *title=NULL)
+    {
+        fName  = name  ? name  : "MParameters";
+        fTitle = title ? title : "Additional temporary parameters";
+
+        SetReadyToSave();
+    }
+
+    MParamaterI &AddInteger(const TString name, const TString title, Int_t val=0)
+    {
+        MParameterI &p = *new MParameterI(name, title);
+        p.SetValue(val);
+
+        fList.Add(&p);
+
+        TNamed &n = *new TNamed(name, title);
+        fNames.Add(&n);
+
+        return p;
+    }
+
+    MParameterD &AddDouble(const TString name, const TString title, Double_t val=0)
+    {
+        MParameterD &p = *new MParameterD(name, title);
+        p.SetValue(val);
+
+        fList.Add(&p);
+
+        TNamed &n = *new TNamed(name, title);
+        fNames.Add(&n);
+
+        return p;
+    }
+
+    const TObjArray &GetList()
+    {
+        fList.SetNames(&fNames);
+        return fList;
+    }
+
+    MParameterD *GetParameterD(const TString &name)
+    {
+        fList.SetNames(&fNames);
+        return (MParamaterD*)fList.FindObject(name);
+    }
+
+    MParameterI *GetParameterI(const TString &name)
+    {
+        fList.SetNames(&fNames);
+        return (MParameterI*)fList.FindObject(name);
+    }
+
+    ClassDef(MParameters, 1) // List to hold generalized parameters (MParameterD/I)
+    }
+    */
+#endif
Index: trunk/MagicSoft/Mars/mbase/Makefile
===================================================================
--- trunk/MagicSoft/Mars/mbase/Makefile	(revision 6892)
+++ trunk/MagicSoft/Mars/mbase/Makefile	(revision 6915)
@@ -49,4 +49,5 @@
            MStatusArray.cc \
            MStatusDisplay.cc \
+           MParameters.cc \
 	   MArray.cc \
 	   MArrayB.cc \
