#ifndef _sdet_SDenseStationListXMLManager_h_ #define _sdet_SDenseStationListXMLManager_h_ #include #include namespace sdet { /** \class SDenseStationListXMLManager SDenseStationListXMLManager.h "sdet/SDenseStationListXMLManager.h" \brief Manager to return station positions for array defined in shower coordinates This manager reads a configuration file defining tank locations in the plane perpindicular to the shower axis, and projects them onto the ground. As an example, this allows one to define a ring of stations which will be located, say, 1000 meters from the core in the plane perpindicular to the shower axis (so-called "dense" array), and superimpose that dense array onto the actual array geometry. Unlike earlier dense array generators implemented as modules, with this manager-based dense array generator, you can run as many showers per event as you like. The manager has access to the shower geometry, and so is able to produce the proper dense array geometry for each shower in the event. For an example of running a simulated shower using a dense array, see DenseArraySimulation example in /path-to-offline-installation/share/auger-offline/doc/DenseArraySimulation. For an example of generating a dense station list, see the GenerateDenseArrayNS::GenerateDenseArray tutorial. \author T. Paul \author D. Veberic \date 10 Jan 2006 \date 12 Jan 2007 DV update \version $Id: SDenseStationListXMLManager.h 18232 2011-01-03 17:15:35Z dembinski $ \ingroup managers */ class SDenseStationListXMLManager : public det::VManager { public: virtual ~SDenseStationListXMLManager() { } virtual void Init(const std::string& configLink); VMANAGER_GETDATA_DECLARE(int) VMANAGER_GETDATA_DECLARE(double) VMANAGER_GETDATA_DECLARE(std::string) VMANAGER_GETDATA_DECLARE(std::vector) VMANAGER_GETDATA_DECLARE(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(std::list >) VMANAGER_GETDATA_NOTFOUND(std::vector >) VMANAGER_GETDATA_NOTFOUND(std::vector) VMANAGER_GETDATA_NOTFOUND(utl::TabulatedFunction) VMANAGER_GETDATA_NOTFOUND(utl::TabulatedFunctionComplexLgAmpPhase) VMANAGER_GETDATA_NOTFOUND(std::map) VMANAGER_GETDATA_NOTFOUND(std::map) private: void GetFullStationList(std::vector& returnData) const; // check if the station in question is on the dense list bool IsDense(const IndexMap& compIndex) const; std::set fDenseStationList; }; } #endif // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // End: