#ifndef _sdet_EventStationPositionsManager_h_ #define _sdet_EventStationPositionsManager_h_ #include #include #include class IoSdStation; namespace sdet { /** \class EventStationPositionsManager \brief Manager to retrieve station positions from the raw event This manager takes the station position information directly from the CDAS file. This can be useful when reading new data files which may contain stations which have not yet been entered into the PMS database. \author Javier Gonzalez \author Darko Veberic \version $Id: EventStationPositionsManager.h 21093 2012-05-07 12:11:38Z dembinski $ \date 28 Jan 2005 \date 12 Jan 2007 DV update \ingroup managers */ class EventStationPositionsManager : public det::VManager { public: virtual ~EventStationPositionsManager() { } virtual void Init(const std::string& configLink); VMANAGER_GETDATA_CALL(CheckGetData, int) VMANAGER_GETDATA_CALL(CheckGetData, double) VMANAGER_GETDATA_CALL(CheckGetData, std::string) VMANAGER_GETDATA_CALL(CheckGetData, std::vector) VMANAGER_GETDATA_CALL(CheckGetData, std::vector) VMANAGER_GETDATA_NOTFOUND(std::vector >) // VMANAGER_GETDATA_NOTFOUND(std::list) VMANAGER_GETDATA_NOTFOUND(std::vector) VMANAGER_GETDATA_NOTFOUND(std::vector) VMANAGER_GETDATA_NOTFOUND(std::list) VMANAGER_GETDATA_NOTFOUND(std::list) VMANAGER_GETDATA_NOTFOUND(std::list >) VMANAGER_GETDATA_NOTFOUND(utl::TabulatedFunction) VMANAGER_GETDATA_NOTFOUND(utl::TabulatedFunctionComplexLgAmpPhase) VMANAGER_GETDATA_NOTFOUND(std::map) VMANAGER_GETDATA_NOTFOUND(std::map) private: template Status CheckGetData(T& returnData, const std::string& componentProperty, const std::string& componentName, const IndexMap& componentIndex) const { if (componentName != "stationList") return eNotFound; return GetStationData(returnData, componentProperty, componentName, componentIndex); } // specialize for "int", "double", "string", "vector" template Status GetStationData(T& returnData, const std::string& componentProperty, const std::string& componentName, const IndexMap& componentIndex) const; const IoSdStation* FindStation(const int id) const; const IoSdStation* FindStation(const IndexMap& componentIndex) const { return FindStation(FindComponent("stationId", componentIndex)); } std::string fBand; std::string fEllipsoid; std::string fCommission; std::string fDecommission; int fZone; typedef std::map StationCache; mutable StationCache fStationCache; typedef std::map > GridCache; mutable GridCache fGridCache; }; } #endif // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // End: