Index: trunk/Mars/mcore/fits.h
===================================================================
--- trunk/Mars/mcore/fits.h	(revision 11916)
+++ trunk/Mars/mcore/fits.h	(revision 11964)
@@ -227,5 +227,5 @@
                 const string id   = Get<string>("TTYPE"+num.str());
                 const string fmt  = Get<string>("TFORM"+num.str());
-                const string unit = Get<string>("TUNIT"+num.str());
+                const string unit = Get<string>("TUNIT"+num.str(), "");
 
                 istringstream sin(fmt);
@@ -359,4 +359,12 @@
         }
 
+            // Values of keys are always signed
+        template<typename T>
+            T Get(const string &key, const string &deflt) const
+        {
+            const map<string,Entry>::const_iterator it = keys.find(key);
+            return it==keys.end() ? deflt :it->second.Get<T>();
+        }
+
         size_t GetN(const string &key) const
         {
@@ -641,4 +649,10 @@
     }
 
+    template<typename T>
+        T Get(const string &key, const string &deflt) const
+    {
+        return fTable.Get<T>(key, deflt);
+    }
+
     bool SetPtrAddress(const string &name, void *ptr)
     {
