00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef O2SCL_EFF_QUARK_H
00024 #define O2SCL_EFF_QUARK_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/eff_fermion.h>
00034 #include <o2scl/quark.h>
00035
00036 #ifndef DOXYGENP
00037 namespace o2scl {
00038 #endif
00039
00040
00041
00042
00043
00044
00045 class eff_quark : public eff_fermion, public quark {
00046
00047 public:
00048
00049
00050 eff_quark(double m=0.0, double g=0.0);
00051
00052 virtual ~eff_quark();
00053
00054 virtual int calc_mu(const double temper);
00055 virtual int calc_density(const double temper);
00056 virtual int pair_mu(const double temper);
00057 virtual int pair_density(const double temper);
00058
00059 friend class io_tlate<eff_quark>;
00060
00061
00062 virtual const char *type() { return "eff_quark"; }
00063
00064 protected:
00065
00066 };
00067
00068 template<> int io_tlate<eff_quark>::input
00069 (cinput *co, in_file_format *ins, eff_quark *q);
00070 template<> int io_tlate<eff_quark>::output
00071 (coutput *co, out_file_format *outs, eff_quark *q);
00072 template<> const char *io_tlate<eff_quark>::type();
00073
00074 typedef io_tlate<eff_quark> eff_quark_io_type;
00075
00076 #ifndef DOXYGENP
00077 }
00078 #endif
00079
00080 #endif