#ifndef _MOLECULE_H_ #define _MOLECULE_H_ /** @file Molecule.h @brief The header file for the Molecule class. @date $Date: 2008/03/27 15:46:07 $ @version $Rev$ @author - Lance Deaver @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. @see Molecule @bug None known $Id: Molecule.h,v 1.1 2008/03/27 15:46:07 deaver Exp deaver $ */ #include class Molecule { protected: int _id; int _isotope; public: /** * @brief the recommended constructor for the Molecule class */ Molecule(const int gasid=1, const int isotope=0); virtual ~Molecule(); /** * @brief Return the Id for the molecule */ virtual int Id() const; /** * @brief Return the isotope Id for the Molecule */ virtual int Isotope() const; /** * @brief Return the long name of the molecule for example "ozone" */ virtual std::string Name() const; /** * @brief Return the Chemical formulat for the molecule for example "O3" */ virtual std::string Chemical() const; /** * @brief Return the Number of Isotopes available for this molecule */ virtual int NumberOfIsotopes() const; /** * @brief Return the Molecular weight of the current molecule and isotope */ virtual double Weight() const; /** * @brief Return the Molecular weight for a specified isotope of the current molecule */ virtual double Weight(const int isotope) const ; /** * @brief Return the Abundance Ratio for the current molecule and isotope. */ virtual double Abundance() const; /** * @brief Return the Abundance Ratio for a specified isotope of the current molecule. */ virtual double Abundance(const int isotope) const ; /** * @brief Return the isotopologue value for the current molecule and Isotope. */ virtual int Isotopologue() const; /** * @brief Return the isotopologue value for a specified isotope of the current molecule. */ virtual int Isotopologue(const int isotope) const; /** * @brief Return a string containing the molecular formula for the current molecule and isotope. */ virtual std::string Formula() const; /** * @brief Return a string containing the molecular formula for a specified isotope for the current molecule. */ virtual std::string Formula(const int isotope) const ; /** * @brief Return the Total internal partition sums value for the molecule at a specified temperature */ // virtual double TotalInternalPartitionSums(const double cellT) const; /** * @brief Return the Total internal partition Sums value for a specified isotope at a specified temperature. */ // virtual double TotalInternalPartitionSums(const double cellT, const int isotope) const; /** * @brief Return the degeneracy value for the current molecule and isotope */ // virtual double Degeneracy() const; /** * @brief Return the degeracy value for the current molecule and a specific isotope. */ // virtual double Degeneracy(const int isotope) const ; /** * @brief Return the ratio of TIPS @ 296K / TIPS @ the cell temperature. */ // virtual double TIPSAdjustment(const double cellTemp) const; /** * @brief Return the ratio of TIPS @ 296K / TIPS @ the cell temperature for a specific isotope. */ // virtual double TIPSAdjustment(const double cellTemp, const int isotope) const ; /** * @brief Set the molecule isotope to a new value. */ virtual void SetIsotope(const int isotope); }; #endif //_MOLECULE_H_