#ifndef MSIS_GASES_2006_08_05 #define MSIS_GASES_2006_08_05 /** @file MSISGases @author Brian Magill @creationdate 8/5/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 Calculates temperature in the thermosphere */ #include "SolarFlux.h" #include "EphemData.h" namespace MSIS { enum GasType {He, O, N2, O2, AR, Total_mass, H, N, anomalous_O}; }; class MSISGases { private: long idate; SolarFlux solarFlux; EphemData ephemeris; bool hasData; public: MSISGases() {hasData = false;} MSISGases(long date, SolarFlux const & flux, EphemData const & ephem):idate(date), solarFlux(flux), ephemeris(ephem), hasData(true){} MSISGases(MSISGases const & rhs) { idate = rhs.idate; solarFlux = rhs.solarFlux; ephemeris = rhs.ephemeris; hasData = rhs.hasData; } MSISGases & operator = (MSISGases const & rhs) { if(&rhs == this) return *this; idate = rhs.idate; solarFlux = rhs.solarFlux; ephemeris = rhs.ephemeris; hasData = rhs.hasData; return *this; } ~MSISGases() {}; bool HasData() {return hasData;}; std::vector operator() (float altitude, float seconds); }; #endif