Index: trunk/FACT++/src/Converter.cc
===================================================================
--- trunk/FACT++/src/Converter.cc	(revision 11710)
+++ trunk/FACT++/src/Converter.cc	(revision 11712)
@@ -1014,4 +1014,36 @@
 }
 
+vector<string> Converter::GetFitsFormat() const
+{
+    //we've got a nice structure describing the format of this service's messages.
+    //Let's create the appropriate FITS columns
+    vector<string> vec;
+    for (FormatList::const_iterator it=fList.begin(); it!=fList.end(); it++)
+    {
+         ostringstream dataQualifier;
+         dataQualifier << it->second.first;
+
+         switch (it->first.first->name()[0])
+         {
+         case 'c': dataQualifier << 'B'; break;
+         case 's': dataQualifier << 'I'; break;
+         case 'i': dataQualifier << 'J'; break;
+         case 'l': dataQualifier << 'J'; break;
+         case 'f': dataQualifier << 'E'; break;
+         case 'd': dataQualifier << 'D'; break;
+         case 'x': dataQualifier << 'K'; break;
+         case 'v':
+         case 'S': //we skip the variable length strings
+             continue;
+
+         default:
+             throw runtime_error("GetFitsFormat - unknown FITS format.");
+         };
+
+         vec.push_back(dataQualifier.str());
+    }
+
+    return vec;
+}
 
 void Converter::Print(std::ostream &out) const
Index: trunk/FACT++/src/Converter.h
===================================================================
--- trunk/FACT++/src/Converter.h	(revision 11710)
+++ trunk/FACT++/src/Converter.h	(revision 11712)
@@ -101,4 +101,5 @@
 
     std::vector<char> ToFits(const void* src, size_t size) const; 
+    std::vector<std::string> GetFitsFormat() const;
 
     static std::string ToFormat(const std::vector<std::string> &fits);
