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_QUARK_H
00024 #define O2SCL_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/fermion.h>
00034
00035 #ifndef DOXYGENP
00036 namespace o2scl {
00037 #endif
00038
00039
00040
00041
00042
00043 class quark : virtual public fermion {
00044 public:
00045
00046
00047 double B;
00048
00049
00050 double qq;
00051
00052
00053 quark(double mass=0.0, double dof=0.0);
00054
00055 virtual int calc_mu(const double temper);
00056 virtual int calc_density(const double temper);
00057 virtual int pair_mu(const double temper);
00058 virtual int pair_density(const double temper);
00059
00060
00061 virtual const char *type() { return "quark"; }
00062
00063 #ifndef DOXYGENP
00064
00065 friend class io_tlate<quark>;
00066
00067 protected:
00068
00069 #endif
00070
00071 };
00072
00073 template<> int io_tlate<quark>::input
00074 (cinput *co, in_file_format *ins, quark *q);
00075 template<> int io_tlate<quark>::output
00076 (coutput *co, out_file_format *outs, quark *q);
00077 template<> const char *io_tlate<quark>::type();
00078
00079 typedef io_tlate<quark> quark_io_type;
00080
00081 #ifndef DOXYGENP
00082 }
00083 #endif
00084
00085 #endif