TelRunNum.hxx

Go to the documentation of this file.
00001 
00002 
00003 
00004 //-----------------------------------------------------------------------------
00005 // CVS: $Revision: 6852 $, $Date: 2010-04-26 11:38:13 +0100 (Mon, 26 Apr 2010) $, $Author: EckhardSutorius $
00006 //-----------------------------------------------------------------------------
00007 #ifndef TELRUNNUM_H
00008 #define TELRUNNUM_H
00009 
00010 #include <string>
00011 
00012 #include "DataMethod.hxx"
00013 #include "DataOps.h"
00014 #include "FitsFile.h"
00015 #include "Options.h"
00016 #include "StringOps.h"
00017 //-----------------------------------------------------------------------------
00019 template<typename DataType>
00020 class TelRunNum : public DataMethod<DataType>
00021 {
00022 public:
00026   TelRunNum(const FitsFile& aFile)
00027   {
00028     DataMethod<DataType>::methodName = "TelRunNum";
00029     Options options;
00030     mFileName = aFile.getFileName();
00031     if (StringOps::ToLower(options.getArchive()) == "vsa" &&
00032         (mFileName.find(PreSuffixNames::CelestialSphere) != string::npos ||
00033          mFileName.find("v20") != string::npos)) {
00034       mRunNum = DataOps::getRunNoFromName(mFileName);
00035     } else {
00036       mRunNum = DataOps::getRunNoFromKey(aFile);
00037     }
00038   }
00039 
00041   virtual ~TelRunNum() { }
00042 
00044   void setSource(IntMap& tbls, IntMap& cols, StringMap units) { }
00045 
00047   void setTarget(IntMap& cols, StringMap units) { mCol = cols[0]; }
00048 
00050   void doit(TableData<DataType>& data, int rowBegin, int rowEnd)
00051   {
00052     for (int row = rowBegin; row < rowEnd; ++row)
00053     {
00054       data.assign(mCol, row, mRunNum);
00055     }
00056   }
00057 
00058   // No data from raw data included
00059   void doit2(TableData<DataType>& rawData, TableData<DataType>& data, int row1, int row2) { }
00060 
00061 private:
00062   int mCol;
00063   std::string mFileName;
00064   std::string mRunNum;
00065 };
00066 //-----------------------------------------------------------------------------
00067 #endif
00068 //-----------------------------------------------------------------------------
00069 // Change log:
00070 //
00071 // 27-May-2004,  IAB: Original version.
00072 //  7-Apr-2008, ETWS: Upgraded to use new detection table layout.
Generated on Mon Oct 4 10:38:34 2010 for WfcamSrc by  doxygen 1.6.3