Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 7443)
+++ trunk/MagicSoft/Mars/Changelog	(revision 7444)
@@ -30,4 +30,26 @@
      - added a function to calc upper limits
      - exchaged some GetListOfFunctions()-Remove() with SetName
+
+   * mcamera/Makefile, mcamera/CameraLinkDef.h:
+     - added MCameraTD, MCameraTH and MCameraRecTemp
+
+   * showplot.cc:
+     - fixed a bug which caused trouble if only a filename was given
+
+   * mastro/MAstro.h:
+     - added conversion constant to convert parsec to meter
+
+   * mcamera/MCameraHV.h:
+     - only layout changes
+
+   * mcamera/MCameraRecTemp.[h,cc], mcamera/MCameraTD.[h,cc],
+     mcamera/MCameraTH.[h,cc]:
+     - removed weired obsolste operators (which won't work at all)
+     - fixed calculation of max and min value
+     - replaced the nonsense TArrayS by TArrayC because the contents is
+       just a byte
+
+   * ganymed.cc:
+     - fixed compilation of path to datasets
 
 
Index: trunk/MagicSoft/Mars/ganymed.cc
===================================================================
--- trunk/MagicSoft/Mars/ganymed.cc	(revision 7443)
+++ trunk/MagicSoft/Mars/ganymed.cc	(revision 7444)
@@ -173,5 +173,5 @@
     {
         const Int_t numseq = kSequences.Atoi();
-        kSequences = Form("/magic/datasets/%04d/dataset%08d.txt", numseq/10000, numseq);
+        kSequences = Form("/magic/datasets/%05d/dataset%08d.txt", numseq/1000, numseq);
         gLog << inf << "inflated dataset file: " << kSequences << endl;
     }
Index: trunk/MagicSoft/Mars/mastro/MAstro.h
===================================================================
--- trunk/MagicSoft/Mars/mastro/MAstro.h	(revision 7443)
+++ trunk/MagicSoft/Mars/mastro/MAstro.h	(revision 7444)
@@ -21,4 +21,8 @@
 
 public:
+    // Unit conversion
+    static Double_t Parsec2Meter() { return 3.0856776e+16; }
+
+
     // Angle/Time conversion functions
     static Double_t Hms2Sec(Int_t deg, UInt_t min, Double_t sec, char sgn='+');
Index: trunk/MagicSoft/Mars/mcamera/MCameraHV.h
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraHV.h	(revision 7443)
+++ trunk/MagicSoft/Mars/mcamera/MCameraHV.h	(revision 7444)
@@ -48,4 +48,7 @@
     Float_t GetMean() const { return fHV.GetSum()/fHV.GetSize(); }
 
+    Double_t operator[](const UInt_t idx) { return fHV[idx]; }
+
+    void   DrawPixelContent(Int_t num) const { }
     Bool_t GetPixelContent(Double_t &val, Int_t idx, const MGeomCam &cam, Int_t type=0) const
     {
@@ -54,10 +57,4 @@
     }
 
-    Double_t operator[](const UInt_t idx) { return fHV[idx]; }
-
-    void DrawPixelContent(Int_t num) const
-    {
-    }
-
     ClassDef(MCameraHV, 2) // Container storing information about the Camera HV
 };
Index: trunk/MagicSoft/Mars/mcamera/MCameraRecTemp.cc
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraRecTemp.cc	(revision 7443)
+++ trunk/MagicSoft/Mars/mcamera/MCameraRecTemp.cc	(revision 7444)
@@ -26,5 +26,5 @@
 /////////////////////////////////////////////////////////////////////////////
 //
-// MCameraRecTemp (PRELIMINARY)
+// MCameraRecTemp
 //
 /////////////////////////////////////////////////////////////////////////////
@@ -59,5 +59,5 @@
     *fLog << all << underline << GetDescriptor() << endl;
     for (int i=0; i<fRecTemp.GetSize(); i++)
-        *fLog << " " << GetRecTemp(i);
+        *fLog << " " << fRecTemp[i];
     *fLog << endl;
 }
@@ -69,7 +69,7 @@
 Float_t MCameraRecTemp::GetMin() const
 {
-    Float_t val = (UInt_t)-1;
+    Float_t val = FLT_MAX;
     for (int i=0; i<fRecTemp.GetSize(); i++)
-        val = TMath::Min(val, GetRecTemp(i));
+        val = TMath::Min(val, fRecTemp[i]);
     return val;
 }
@@ -81,7 +81,7 @@
 Float_t MCameraRecTemp::GetMax() const
 {
-    Float_t val = 0;
+    Float_t val = -FLT_MAX;
     for (int i=0; i<fRecTemp.GetSize(); i++)
-        val = TMath::Max(val, GetRecTemp(i));
+        val = TMath::Max(val, fRecTemp[i]);
     return val;
 }
Index: trunk/MagicSoft/Mars/mcamera/MCameraRecTemp.h
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraRecTemp.h	(revision 7443)
+++ trunk/MagicSoft/Mars/mcamera/MCameraRecTemp.h	(revision 7444)
@@ -19,8 +19,5 @@
     MCameraRecTemp(Int_t size=76, const char *name=NULL, const char *title=NULL);
 
-    void SetRecTemp(Int_t i, Float_t val) { fRecTemp[i] = (Int_t)val; }
-    Float_t GetRecTemp(Int_t i) const { return (*this)[i]; }
-    Float_t &operator[](Int_t i) { return (Float_t&)fRecTemp[i]; }
-    const Float_t &operator[](Int_t i) const { return (*const_cast<MCameraRecTemp*>(this))[i]; }
+    Float_t operator[](Int_t i) const { return fRecTemp[i]; }
 
     Float_t GetMin() const;
Index: trunk/MagicSoft/Mars/mcamera/MCameraTD.cc
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraTD.cc	(revision 7443)
+++ trunk/MagicSoft/Mars/mcamera/MCameraTD.cc	(revision 7444)
@@ -26,5 +26,5 @@
 /////////////////////////////////////////////////////////////////////////////
 //
-// MCameraTD (PRELIMINARY)
+// MCameraTD
 //
 /////////////////////////////////////////////////////////////////////////////
@@ -53,5 +53,5 @@
 // --------------------------------------------------------------------------
 //
-// Print the dc currents
+// Print the discrimintaor delays
 //
 void MCameraTD::Print(Option_t *) const
@@ -59,5 +59,5 @@
     *fLog << all << underline << GetDescriptor() << endl;
     for (int i=0; i<fTD.GetSize(); i++)
-        *fLog << " " << GetDelay(i);
+        *fLog << " " << (int)fTD[i];
     *fLog << endl;
 }
@@ -65,11 +65,11 @@
 // --------------------------------------------------------------------------
 //
-// Return the minimum discriminator delays
+// Return the discrimintaor delays
 //
-Float_t MCameraTD::GetMin() const
+Byte_t MCameraTD::GetMin() const
 {
-    Float_t val = (UInt_t)-1;
+    Byte_t val = 0xff;
     for (int i=0; i<fTD.GetSize(); i++)
-        val = TMath::Min(val, GetDelay(i));
+        val = TMath::Min(val, fTD[i]);
     return val;
 }
@@ -77,11 +77,11 @@
 // --------------------------------------------------------------------------
 //
-// Return the maximum discriminator delays
+// Return the discrimintaor delays
 //
-Float_t MCameraTD::GetMax() const
+Byte_t MCameraTD::GetMax() const
 {
-    Float_t val = 0;
+    Byte_t val = 0;
     for (int i=0; i<fTD.GetSize(); i++)
-        val = TMath::Max(val, GetDelay(i));
+        val = TMath::Max(val, fTD[i]);
     return val;
 }
Index: trunk/MagicSoft/Mars/mcamera/MCameraTD.h
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraTD.h	(revision 7443)
+++ trunk/MagicSoft/Mars/mcamera/MCameraTD.h	(revision 7444)
@@ -9,6 +9,6 @@
 #endif
 
-#ifndef ROOT_TArrayS
-#include <TArrayS.h>
+#ifndef ROOT_TArrayC
+#include <TArrayC.h>
 #endif
 
@@ -17,16 +17,13 @@
     friend class MReportCC;
 private:
-    TArrayS fTD; // [au] discriminator delays
+    TArrayC fTD; // [au] discriminator delays
 
 public:
     MCameraTD(Int_t size=577, const char *name=NULL, const char *title=NULL);
 
-    void SetDelay(Int_t i, Float_t val) { fTD[i] = (Int_t)val; }
-    Float_t GetDelay(Int_t i) const { return (*this)[i]; }
-    Float_t &operator[](Int_t i) { return (Float_t&)fTD[i]; }
-    const Float_t &operator[](Int_t i) const { return (*const_cast<MCameraTD*>(this))[i]; }
+    Byte_t operator[](Int_t i) { return fTD[i]; }
 
-    Float_t GetMin() const;
-    Float_t GetMax() const;
+    Byte_t GetMin() const;
+    Byte_t GetMax() const;
 
     void Print(Option_t *opt=NULL) const;
Index: trunk/MagicSoft/Mars/mcamera/MCameraTH.cc
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraTH.cc	(revision 7443)
+++ trunk/MagicSoft/Mars/mcamera/MCameraTH.cc	(revision 7444)
@@ -53,5 +53,5 @@
 // --------------------------------------------------------------------------
 //
-// Print the dc currents
+// Print the discriminator thresholds
 //
 void MCameraTH::Print(Option_t *) const
@@ -59,5 +59,5 @@
     *fLog << all << underline << GetDescriptor() << endl;
     for (int i=0; i<fTH.GetSize(); i++)
-        *fLog << " " << GetThreshold(i);
+        *fLog << " " << (int)fTH[i];
     *fLog << endl;
 }
@@ -65,11 +65,11 @@
 // --------------------------------------------------------------------------
 //
-// Return the minimum dc current
+// Return the discriminator thresholds
 //
-Float_t MCameraTH::GetMin() const
+Byte_t MCameraTH::GetMin() const
 {
-    Float_t val = (UInt_t)-1;
+    Byte_t val = 0xff;
     for (int i=0; i<fTH.GetSize(); i++)
-        val = TMath::Min(val, GetThreshold(i));
+        val = TMath::Min(val, fTH[i]);
     return val;
 }
@@ -77,11 +77,11 @@
 // --------------------------------------------------------------------------
 //
-// Return the maximum dc current
+// Return the discriminator thresholds
 //
-Float_t MCameraTH::GetMax() const
+Byte_t MCameraTH::GetMax() const
 {
-    Float_t val = 0;
+    Byte_t val = 0;
     for (int i=0; i<fTH.GetSize(); i++)
-        val = TMath::Max(val, GetThreshold(i));
+        val = TMath::Max(val, fTH[i]);
     return val;
 }
Index: trunk/MagicSoft/Mars/mcamera/MCameraTH.h
===================================================================
--- trunk/MagicSoft/Mars/mcamera/MCameraTH.h	(revision 7443)
+++ trunk/MagicSoft/Mars/mcamera/MCameraTH.h	(revision 7444)
@@ -9,6 +9,6 @@
 #endif
 
-#ifndef ROOT_TArrayS
-#include <TArrayS.h>
+#ifndef ROOT_TArrayC
+#include <TArrayC.h>
 #endif
 
@@ -17,16 +17,13 @@
     friend class MReportCC;
 private:
-    TArrayS fTH; // [au] discriminator thresholds
+    TArrayC fTH; // [au] discriminator thresholds
 
 public:
     MCameraTH(Int_t size=577, const char *name=NULL, const char *title=NULL);
 
-    void SetThreshold(Int_t i, Float_t val) { fTH[i] = (Int_t)val; }
-    Float_t GetThreshold(Int_t i) const { return (*this)[i]; }
-    Float_t &operator[](Int_t i) { return (Float_t&)fTH[i]; }
-    const Float_t &operator[](Int_t i) const { return (*const_cast<MCameraTH*>(this))[i]; }
+    Byte_t operator[](Int_t i) { return fTH[i]; }
 
-    Float_t GetMin() const;
-    Float_t GetMax() const;
+    Byte_t GetMin() const;
+    Byte_t GetMax() const;
 
     void Print(Option_t *opt=NULL) const;
Index: trunk/MagicSoft/Mars/showplot.cc
===================================================================
--- trunk/MagicSoft/Mars/showplot.cc	(revision 7443)
+++ trunk/MagicSoft/Mars/showplot.cc	(revision 7444)
@@ -137,5 +137,10 @@
         return 3;
     }
-    if (arg.GetNumArguments()<1 || arg.GetNumArguments()>2 || !arg.GetArgumentStr(1).IsDigit())
+    if (arg.GetNumArguments()<1 || arg.GetNumArguments()>2)
+    {
+        Usage();
+        return 2;
+    }
+    if (arg.GetNumArguments()==2 && !arg.GetArgumentStr(1).IsDigit())
     {
         Usage();
