00001 
00002 
00003 
00004 
00005 
00006 
00007 #ifndef DATAOPS_H
00008 #define DATAOPS_H
00009 
00010 
00011 extern "C"
00012 {
00013   #include "ast.h"
00014 }
00015 
00016 #include <string>
00017 
00018 #include "FitsFile.h"
00019 #include "MyException.h"
00020 #include "DataTypes.h"
00021 
00024 class DataOperationException : public MyException
00025 {
00026  public:
00027   DataOperationException(const std::string& aMsg)
00028     : MyException("DataOperationException: ", aMsg) { }
00029 };
00030 
00034 
00036 namespace DataOps
00037 {
00039   int getFilterId(const std::string& filterName);
00040 
00042   int calcJulianDay(int utDate);
00043 
00045   std::string getRunNoFromKey(const FitsFile& ff);
00046 
00048   std::string getRunNoFromName(const string filename);
00049 
00051   std::string getFileTimeStamp(const FitsFile& ff);
00052 
00054   std::string getFrameType(const std::string& filename);
00055 
00057   std::string makeFrameID(const FitsFile& ff);
00058 
00060   double calcQuadratic(double c0, double c1, double c2, double arg);
00061 
00065   void calcCartesian(double alpha, double delta,
00066                      double& cx, double& cy, double& cz);
00067 
00070   double calcAngsep(double alpha1, double delta1,
00071                     double alpha2, double delta2);
00072 
00074   void calcPixSize(AstFrameSet* wcsinfo, double centre[2], double convfact[2],
00075                    Numeric& xpixSize, Numeric& ypixSize);
00076   
00077 }
00078 
00079 #endif