#ifndef _fwk_LocalCoordinateSystem_h_ #define _fwk_LocalCoordinateSystem_h_ /** \file Provide a class to calculate a local coordinate system \author Lukas Nellen \version $Id: LocalCoordinateSystem.h 14717 2009-09-17 20:24:36Z lukas $ \date 09 Nov 2003 */ #include namespace utl { class Point; class UTMPoint; } namespace fwk { /** \class LocalCoordinateSystem LocalCoordinateSystem.h fwk/LocalCoordinateSystem.h \brief Provide an easy way to create a local coordinate system. A local coordinate system is a \c AugerCoordinateSystem with the follwing, standard, extras: - The reference ellipsoid is always wgs84 - The reference coordinate system is the site coordinate system as specified in det::Detector::GetSiteCoordinateSystem \note The factories in this class assume that the global detector is valid. \author Lukas Nellen \date 09 Nov 2003 \ingroup geometry det */ template class LocalCoordinateSystemConstructor : public Policy { public: /// Create the standard local coordinate system for a \c Point static typename Policy::type Create(const utl::Point& theOrigin); /// Create the standard local coordinate system for a \c UTMPoint static typename Policy::type Create(const utl::UTMPoint& theOrigin); protected: ~LocalCoordinateSystemConstructor(); }; // LocalCoordinateSystemConstructor /// The normal coordinate system type typedef LocalCoordinateSystemConstructor LocalCoordinateSystem; /// For base coordinate systems typedef LocalCoordinateSystemConstructor LocalBaseCoordinateSystem; } // fwk #endif // _fwk_LocalCoordinateSystem_h_ // Configure (x)emacs for this file ... // Local Variables: // mode:c++ // compile-command: "make -C .. -k" // End: