Particles and Nuclei Sub-Library: Version 0.910
classical.h
00001 /*
00002   -------------------------------------------------------------------
00003   
00004   Copyright (C) 2006-2012, Andrew W. Steiner
00005   
00006   This file is part of O2scl.
00007   
00008   O2scl is free software; you can redistribute it and/or modify
00009   it under the terms of the GNU General Public License as published by
00010   the Free Software Foundation; either version 3 of the License, or
00011   (at your option) any later version.
00012   
00013   O2scl is distributed in the hope that it will be useful,
00014   but WITHOUT ANY WARRANTY; without even the implied warranty of
00015   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016   GNU General Public License for more details.
00017   
00018   You should have received a copy of the GNU General Public License
00019   along with O2scl. If not, see <http://www.gnu.org/licenses/>.
00020 
00021   -------------------------------------------------------------------
00022 */
00023 #ifndef O2SCL_CLASSICAL_H
00024 #define O2SCL_CLASSICAL_H
00025 
00026 #include <string>
00027 #include <iostream>
00028 #include <fstream>
00029 #include <cmath>
00030 #include <o2scl/constants.h>
00031 #include <o2scl/mroot.h>
00032 #include <o2scl/inte.h>
00033 #include <o2scl/part.h>
00034 
00035 #ifndef DOXYGENP
00036 namespace o2scl {
00037 #endif
00038 
00039   /** \brief Classical particle class
00040       
00041       \future Write a calc_density_zerot() function for 
00042       completeness?
00043   */
00044   class classical {
00045 
00046   public:
00047 
00048     /** \brief Create a classical particle with mass \c m  
00049         and degeneracy \c g 
00050     */
00051     classical();
00052 
00053     virtual ~classical() {
00054     }
00055 
00056     /** \brief Calculate properties as function of chemical potential
00057      */
00058     virtual void calc_mu(part &p, double temper);
00059 
00060     /** \brief Calculate properties as function of density
00061      */
00062     virtual void calc_density(part &p, double temper);
00063 
00064     /// Return string denoting type ("classical")
00065     virtual const char *type() { return "classical"; }
00066     
00067   };
00068 
00069 #ifndef DOXYGENP
00070 }
00071 #endif
00072 
00073 #endif
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Friends

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).

Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads.