00001 /* 00002 ------------------------------------------------------------------- 00003 00004 Copyright (C) 2006, 2007, 2008, 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 #include <o2scl/fermion.h> 00035 #include <o2scl/boson.h> 00036 00037 #ifndef DOXYGENP 00038 namespace o2scl { 00039 #endif 00040 00041 /** 00042 \brief Classical particle class 00043 00044 Classical particles, because they inherit from both \ref fermion 00045 and \ref boson, have a fermi momentum, and a condensate, but 00046 these variables are ignored. 00047 */ 00048 class classical : public fermion, public boson { 00049 00050 public: 00051 00052 /** \brief Create a classical particle with mass \c m 00053 and degeneracy \c g 00054 */ 00055 classical(double m=0.0, double g=0.0); 00056 00057 virtual int calc_mu(const double temper); 00058 virtual int calc_density(const double temper); 00059 virtual int pair_mu(const double temper); 00060 virtual int pair_density(const double temper); 00061 00062 /// Return string denoting type ("classical") 00063 virtual const char *type() { return "classical"; } 00064 00065 #ifndef DOXYGEN_INTERNAL 00066 00067 protected: 00068 00069 friend class io_tlate<classical>; 00070 00071 #endif 00072 00073 }; 00074 00075 template<> int io_tlate<classical>::input 00076 (cinput *co, in_file_format *ins, classical *c); 00077 template<> int io_tlate<classical>::output 00078 (coutput *co, out_file_format *outs, classical *c); 00079 template<> const char *io_tlate<classical>::type(); 00080 00081 typedef io_tlate<classical> classical_io_type; 00082 00083 #ifndef DOXYGENP 00084 } 00085 #endif 00086 00087 #endif
Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.
Project hosting provided by
,
O2scl Sourceforge Project Page