#ifndef CALCULATE_REFRACTION_HIGH_ALT_08_08_11 #define CCALCULATE_REFRACTION_HIGH_ALT_08_08_11 /** @file CalcRefracHigh.h @author Brian Magill @datecreated 08/11/2008 $Date:$ $Revision:$ @copyright (©) Copyright 2006 by GATS Inc. 11864 Canon Blvd., Suite 101, Newport News, VA 23606 All Rights Reserved. No part of this software or publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without the prior written permission of GATS Inc. @brief: Algorithm for calculating refraction angle at high altitudes */ //---------------------------------------------------------------------- // #include #include #include "AbstractTauFunction.h" typedef boost::shared_ptr TauPointer; class CalcRefracHigh { private: double solar_width; TauPointer tauPtr; public: CalcRefracHigh() { } CalcRefracHigh(TauPointer const ptr): tauPtr(ptr) { } CalcRefracHigh(CalcRefracHigh const &rhs): tauPtr(rhs.tauPtr) { } CalcRefracHigh& operator = (CalcRefracHigh const& rhs ) { if (this == &rhs) return *this; tauPtr = rhs.tauPtr; return *this; }; ~CalcRefracHigh() { }; /// /// Calculates the refraction angle for an array of times and apparent solar extents /// /// @param time - Array of times /// @param solar_ext - corresponding array of apparent solar extents /// std::valarray get_refraction(const std::valarray &time, const std::valarray &solarShinkage) const; }; #endif