part_ioc.h

00001 /*
00002   -------------------------------------------------------------------
00003   
00004   Copyright (C) 2006, 2007, 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   class part_ioc {
00045 
00046   public:
00047 
00048     part_ioc() {
00049       part_io=new part_io_type
00050         ("part_io");
00051       thermo_io=new thermo_io_type
00052         ("thermo_io");
00053       quark_io=new quark_io_type
00054         ("quark_io");
00055       rel_boson_io=new rel_boson_io_type
00056         ("rel_boson_io");
00057       rel_fermion_io=new rel_fermion_io_type
00058         ("rel_fermion_io");
00059       boson_io=new boson_io_type
00060         ("boson_io");
00061       classical_io=new classical_io_type
00062         ("classical_io");
00063       eff_boson_io=new eff_boson_io_type
00064         ("eff_boson_io");
00065       eff_fermion_io=new eff_fermion_io_type
00066         ("eff_fermion_io");
00067       eff_quark_io=new eff_quark_io_type
00068         ("eff_quark_io");
00069       fermion_io=new fermion_io_type
00070         ("fermion_io");
00071       nonrel_fermion_io=new nonrel_fermion_io_type
00072         ("nonrel_fermion_io");
00073     }
00074 
00075     ~part_ioc() {
00076       delete part_io;
00077       delete thermo_io;
00078       delete quark_io;
00079       delete rel_boson_io;
00080       delete rel_fermion_io;
00081       delete boson_io;
00082       delete classical_io;
00083       delete eff_boson_io;
00084       delete eff_fermion_io;
00085       delete eff_quark_io;
00086       delete fermion_io;
00087       delete nonrel_fermion_io;
00088     }
00089  
00090     part_io_type *part_io;
00091     thermo_io_type *thermo_io;
00092     quark_io_type *quark_io;
00093     rel_boson_io_type *rel_boson_io;
00094     rel_fermion_io_type *rel_fermion_io;
00095     boson_io_type *boson_io;
00096     classical_io_type *classical_io;
00097     eff_boson_io_type *eff_boson_io;
00098     eff_fermion_io_type *eff_fermion_io;
00099     eff_quark_io_type *eff_quark_io;
00100     fermion_io_type *fermion_io;
00101     nonrel_fermion_io_type *nonrel_fermion_io;
00102     
00103   protected:
00104 
00105 #ifndef DOXYGENP
00106 
00107     root_ioc r;
00108     inte_ioc i;
00109     other_ioc o;
00110 
00111 #endif
00112   
00113   };
00114 
00115 #ifndef DOXYGENP
00116 }
00117 #endif
00118 
00119 #endif

Documentation generated with Doxygen and provided under the GNU Free Documentation License. See License Information for details.

Project hosting provided by SourceForge.net Logo, O2scl Sourceforge Project Page