00001 /* 00002 ------------------------------------------------------------------- 00003 00004 Copyright (C) 2006, 2007, 2008, 2009, 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_PART_IOC_H 00024 #define O2SCL_PART_IOC_H 00025 #include <string> 00026 #include <o2scl/base_ioc.h> 00027 #include <o2scl/root_ioc.h> 00028 #include <o2scl/inte_ioc.h> 00029 #include <o2scl/other_ioc.h> 00030 #include <o2scl/rel_boson.h> 00031 #include <o2scl/rel_fermion.h> 00032 #include <o2scl/nonrel_fermion.h> 00033 #include <o2scl/eff_boson.h> 00034 #include <o2scl/classical.h> 00035 #include <o2scl/eff_fermion.h> 00036 #include <o2scl/eff_quark.h> 00037 00038 #ifndef DOXYGENP 00039 namespace o2scl { 00040 #endif 00041 00042 /** \brief Setup I/O for particle classes 00043 00044 This class is experimental. 00045 00046 \comment 00047 removed boson and quark types since they're now abstract 00048 \endcomment 00049 */ 00050 class part_ioc { 00051 00052 public: 00053 00054 part_ioc() { 00055 part_io=new part_io_type 00056 ("part_io"); 00057 thermo_io=new thermo_io_type 00058 ("thermo_io"); 00059 //quark_io=new quark_io_type 00060 //("quark_io"); 00061 rel_boson_io=new rel_boson_io_type 00062 ("rel_boson_io"); 00063 rel_fermion_io=new rel_fermion_io_type 00064 ("rel_fermion_io"); 00065 //boson_io=new boson_io_type 00066 //("boson_io"); 00067 classical_io=new classical_io_type 00068 ("classical_io"); 00069 eff_boson_io=new eff_boson_io_type 00070 ("eff_boson_io"); 00071 eff_fermion_io=new eff_fermion_io_type 00072 ("eff_fermion_io"); 00073 eff_quark_io=new eff_quark_io_type 00074 ("eff_quark_io"); 00075 fermion_io=new fermion_io_type 00076 ("fermion_io"); 00077 nonrel_fermion_io=new nonrel_fermion_io_type 00078 ("nonrel_fermion_io"); 00079 } 00080 00081 ~part_ioc() { 00082 delete part_io; 00083 delete thermo_io; 00084 //delete quark_io; 00085 delete rel_boson_io; 00086 delete rel_fermion_io; 00087 //delete boson_io; 00088 delete classical_io; 00089 delete eff_boson_io; 00090 delete eff_fermion_io; 00091 delete eff_quark_io; 00092 delete fermion_io; 00093 delete nonrel_fermion_io; 00094 } 00095 00096 part_io_type *part_io; 00097 thermo_io_type *thermo_io; 00098 //quark_io_type *quark_io; 00099 rel_boson_io_type *rel_boson_io; 00100 rel_fermion_io_type *rel_fermion_io; 00101 //boson_io_type *boson_io; 00102 classical_io_type *classical_io; 00103 eff_boson_io_type *eff_boson_io; 00104 eff_fermion_io_type *eff_fermion_io; 00105 eff_quark_io_type *eff_quark_io; 00106 fermion_io_type *fermion_io; 00107 nonrel_fermion_io_type *nonrel_fermion_io; 00108 00109 protected: 00110 00111 #ifndef DOXYGENP 00112 00113 root_ioc r; 00114 inte_ioc i; 00115 other_ioc o; 00116 00117 #endif 00118 00119 }; 00120 00121 #ifndef DOXYGENP 00122 } 00123 #endif 00124 00125 #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