#ifndef __SOFIE_EPHEMERIS_DATA_2006_08_14__ #define __SOFIE_EPHEMERIS_DATA_2006_08_14__ /** @file EphemData @author Brian Magill @creationdate 8/14/2006 $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 contains ephemeris information: */ #include class EphemData { private: std::valarray altitude; // tangent altitude std::valarray latitude; // latitude std::valarray longitude; // longitude bool hasData; public: EphemData() {hasData = false;}; EphemData(std::valarray z, std::valarray lat, std::valarray lon):altitude(z), latitude(lat),longitude(lon), hasData(true) {}; EphemData(EphemData const &rhs) { altitude.resize(rhs.altitude.size()); latitude.resize(rhs.latitude.size()); longitude.resize(rhs.longitude.size()); altitude = rhs.altitude; latitude = rhs.latitude; longitude = rhs.longitude; hasData = rhs.hasData; } EphemData& operator = (EphemData const &rhs) { if(&rhs == this) return *this; altitude.resize(rhs.altitude.size()); latitude.resize(rhs.latitude.size()); longitude.resize(rhs.longitude.size()); altitude = rhs.altitude; latitude = rhs.latitude; longitude = rhs.longitude; hasData = rhs.hasData; return *this; } ~EphemData() {}; bool HasData() const { return hasData; }; double getLat(double z) const; double getLon(double z) const; }; #endif