Index: trunk/MagicSoft/Mars/datacenter/macros/filloptical.C
===================================================================
--- trunk/MagicSoft/Mars/datacenter/macros/filloptical.C	(revision 8135)
+++ trunk/MagicSoft/Mars/datacenter/macros/filloptical.C	(revision 8138)
@@ -124,5 +124,5 @@
                 skylevel="NULL";
             fwhm = (*arr)[3]->GetName();
-            if (fwhm=="-" || !fwhm.IsFloat())
+            if (fwhm.Contains("-") || !fwhm.IsFloat())
                 fwhm="NULL";
             aperturer = (*arr)[4]->GetName();
Index: trunk/MagicSoft/Mars/datacenter/tools/fillobjects.C
===================================================================
--- trunk/MagicSoft/Mars/datacenter/tools/fillobjects.C	(revision 8138)
+++ trunk/MagicSoft/Mars/datacenter/tools/fillobjects.C	(revision 8138)
@@ -0,0 +1,125 @@
+/* ======================================================================== *\
+!
+! *
+! * 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, 08/2004 <mailto:tbretz@astro.uni-wuerzburg.de>
+!
+!   Copyright: MAGIC Software Development, 2000-2006
+!
+!
+\* ======================================================================== */
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// fillobjects.C
+// ==============
+//
+// read file with magnitudes and colour for the objects
+// File /home/operator/Documents/good_compstars_R.txt
+//
+///////////////////////////////////////////////////////////////////////////
+#include <iostream>
+#include <iomanip>
+#include <fstream>
+
+#include <TEnv.h>
+#include <TRegexp.h>
+
+#include <TSQLRow.h>
+#include <TSQLResult.h>
+
+#include "MAstro.h"
+#include "MDirIter.h"
+#include "MSQLServer.h"
+#include "MSQLMagic.h"
+
+using namespace std;
+
+// --------------------------------------------------------------------------
+//
+// loop over all files in this path
+//
+int fillobjects(TString fname, Bool_t dummy=kTRUE)
+{
+    TEnv env("sql.rc");
+
+    MSQLMagic serv(env);
+    if (!serv.IsConnected())
+    {
+        cout << "ERROR - Connection to database failed." << endl;
+        return 0;
+    }
+
+    serv.SetIsDummy(dummy);
+
+    cout << endl;
+    cout << "fillobjects" << endl;
+    cout << "-----------" << endl;
+    cout << endl;
+    cout << "Connected to " << serv.GetName() << endl;
+    cout << endl;
+
+    ifstream fin(fname);
+    if (!fin)
+    {
+        cout << "Could not open file " << fname << endl;
+        return 0;
+    }
+
+    Int_t num=0;
+    TString object;
+    TString query;
+    TString where;
+    TString comment;
+    while (1)
+    {
+        TString line;
+        line.ReadLine(fin);
+        if (!fin)
+            break;
+
+        if (line.IsNull())
+            continue;
+
+        line.ReplaceAll("\t", " ");
+        TObjArray *arr = line.Tokenize(" ");
+        if (arr->GetEntries()!=5)
+        {
+            cout << "WARNING: line with less or more than 5 arguments found " << endl;
+            cout << line << endl;
+            return 2;
+        }
+        query=Form("fMagnitude=%s, fVRColour=%s, fObject=",
+                   (*arr)[2]->GetName(), (*arr)[3]->GetName());
+        comment=(*arr)[4]->GetName();
+        if (comment=="-")
+            query+="NULL";
+        else
+            query+=Form("'%s'", comment.Data());
+
+        where=Form("fObjectName='%s/%s'", (*arr)[0]->GetName(), (*arr)[1]->GetName());
+        delete arr;
+
+        if (serv.Update("Object", query, where)==kFALSE)
+            return 2;
+        num +=1;
+
+    }
+
+    cout << fname << " <" << num << "> " << endl;
+
+    return 1;
+}
Index: trunk/MagicSoft/Mars/datacenter/tools/fillobjects2.C
===================================================================
--- trunk/MagicSoft/Mars/datacenter/tools/fillobjects2.C	(revision 8138)
+++ trunk/MagicSoft/Mars/datacenter/tools/fillobjects2.C	(revision 8138)
@@ -0,0 +1,132 @@
+/* ======================================================================== *\
+!
+! *
+! * 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, 08/2004 <mailto:tbretz@astro.uni-wuerzburg.de>
+!
+!   Copyright: MAGIC Software Development, 2000-2006
+!
+!
+\* ======================================================================== */
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// fillobjects2.C
+// ==============
+//
+// read file with coordinates for the objects
+// File /home/operator/Documents/TeVsources.txt
+//
+///////////////////////////////////////////////////////////////////////////
+#include <iostream>
+#include <iomanip>
+#include <fstream>
+
+#include <TEnv.h>
+#include <TRegexp.h>
+
+#include <TSQLRow.h>
+#include <TSQLResult.h>
+
+#include "MAstro.h"
+#include "MDirIter.h"
+#include "MSQLServer.h"
+#include "MSQLMagic.h"
+
+using namespace std;
+
+// --------------------------------------------------------------------------
+//
+// loop over all files in this path
+//
+int fillobjects2(TString fname, Bool_t dummy=kTRUE)
+{
+    TEnv env("sql.rc");
+
+    MSQLMagic serv(env);
+    if (!serv.IsConnected())
+    {
+        cout << "ERROR - Connection to database failed." << endl;
+        return 0;
+    }
+
+    serv.SetIsDummy(dummy);
+
+    cout << endl;
+    cout << "fillobjects" << endl;
+    cout << "-----------" << endl;
+    cout << endl;
+    cout << "Connected to " << serv.GetName() << endl;
+    cout << endl;
+
+    ifstream fin(fname);
+    if (!fin)
+    {
+        cout << "Could not open file " << fname << endl;
+        return 0;
+    }
+
+    Int_t num=0;
+    TString object;
+    TString query;
+    TString where;
+    TString RA;
+    TString DEC;
+    Double_t ra;
+    Double_t dec;
+    while (1)
+    {
+        TString line;
+        line.ReadLine(fin);
+        if (!fin)
+            break;
+
+        if (line.IsNull())
+            continue;
+
+        TObjArray *arr = line.Tokenize(" ");
+        if (arr->GetEntries()!=11)
+        {
+            cout << "WARNING: line with less or more than 11 arguments found " << endl;
+            cout << line << endl;
+            continue;
+        }
+        object=Form("%s_%s", (*arr)[0]->GetName(), (*arr)[1]->GetName());
+        RA=Form("%s:%s:%s", (*arr)[3]->GetName(), (*arr)[4]->GetName(), (*arr)[5]->GetName());
+        DEC=Form("%s:%s:%s", (*arr)[6]->GetName(), (*arr)[7]->GetName(), (*arr)[8]->GetName());
+        delete arr;
+//        cout << "RA: " << RA << " -  DEC " << DEC << endl;
+        MAstro::Coordinate2Angle(RA, ra);
+        MAstro::Coordinate2Angle(DEC, dec);
+//        cout << "ra: " << ra << " -  dec " << dec << endl;
+        object.ReplaceAll(" ", "_");
+        object=Form("%s/BL", object.Data());
+
+        query=Form("fRightAscension=%f, fDeclination=%f, fEpoche=2000",
+                   ra, dec);
+
+        where=Form("fObjectName='%s'", object.Data());
+
+        if (serv.Update("Object", query, where)==kFALSE)
+            return 2;
+        num +=1;
+
+    }
+
+    cout << fname << " <" << num << "> " << endl;
+
+    return 1;
+}
