JulianDayNum.hxx

Go to the documentation of this file.
00001 
00002 
00003 
00004 //-----------------------------------------------------------------------------
00005 // CVS: $Revision: 4695 $, $Date: 2008-04-09 16:18:42 +0100 (Wed, 09 Apr 2008) $, $Author: EckhardSutorius $
00006 //-----------------------------------------------------------------------------
00007 #ifndef JULIANDAYNUM_H
00008 #define JULIANDAYNUM_H
00009 
00010 #include <cstdlib>
00011 
00012 #include "DataMethod.hxx"
00013 #include "DataOps.h"
00014 //-----------------------------------------------------------------------------
00016 template<typename DataType>
00017 class JulianDayNum : public DataMethod<DataType>
00018 {
00019 public:
00021   JulianDayNum() { DataMethod<DataType>::methodName = "JulianDayNum"; }
00022 
00024   virtual ~JulianDayNum() { }
00025 
00027   void setSource(IntMap& tbls, IntMap& cols, StringMap units)
00028   {
00029     utColno = cols[0];
00030     if (utColno < 0)
00031     {
00032       throw DataMethodException("JulianDayNum method. Couldn't source");
00033     }
00034   }
00035 
00037   void setTarget(IntMap& cols, StringMap units) { jdColno = cols[0]; }
00038 
00040   void doit(TableData<DataType>& data, int row1, int row2)
00041   {
00042     for (int rowNo = row1; rowNo < row2; ++rowNo)
00043     {
00044       std::string date;
00045       data.value(utColno, rowNo, date);
00046       int utDate = atoi(date.c_str());
00047       int jdnum = DataOps::calcJulianDay(utDate);
00048       data.assign(jdColno, rowNo, jdnum);
00049     }
00050   }
00051 
00052   // No data from raw data included
00053   void doit2(TableData<DataType>& rawData, TableData<DataType>& data, int row1, int row2) { }
00054 
00055 private:
00056   int utColno;
00057   int jdColno;
00058 };
00059 //-----------------------------------------------------------------------------
00060 #endif
00061 //-----------------------------------------------------------------------------
00062 // Change log:
00063 //
00064 // 27-May-2004,  IAB: Original version.
00065 //  7-Apr-2008, ETWS: Upgraded to use new detection table layout.

Generated on Thu Apr 2 21:52:16 2009 for WfcamSrc by  doxygen 1.5.2