00001
00002
00003
00004
00005
00006
00007 #include "chromabase.h"
00008 #include "chroma_config.h"
00009 #include "io/szin_io.h"
00010 #include <time.h>
00011
00012 namespace Chroma
00013 {
00014
00015
00016 SzinGauge_t::SzinGauge_t()
00017 {
00018 cfg_version = 7;
00019
00020 FermTypeP = 0;
00021 Nd = QDP::Nd;
00022 Nc = QDP::Nc;
00023 BetaMC = 0;
00024 BetaMD = 0;
00025
00026 KappaMC = 0;
00027 KappaMD = 0;
00028 MassMC = 0;
00029 MassMD = 0;
00030 dt = 0;
00031 MesTrj = 0;
00032 TotalCG = 0;
00033 TotalTrj = 0;
00034 spec_acc = 1;
00035
00036 NOver = 0;
00037 TotalTry = 0;
00038 TotalFail = 0;
00039 Nf = 0;
00040 Npf = 0;
00041 RefMomTrj = 0;
00042 RefFnoiseTrj = 0;
00043 LamPl = 0;
00044 LamMi = 0;
00045 AlpLog = 0;
00046 AlpExp = 0;
00047
00048 nrow = Layout::lattSize();
00049 RNG::savern(seed);
00050
00051 banner = CHROMA_PACKAGE_STRING;
00052 banner += ", ";
00053 banner += QDP_PACKAGE_STRING;
00054
00055 {
00056 time_t now;
00057
00058 if(time(&now)==-1)
00059 {
00060 QDPIO::cerr<<"SzinGauge_t: cannot get the time.\n";
00061 QDP_abort(1);
00062 }
00063 tm *tp = localtime(&now);
00064
00065 char date_tmp[64];
00066 strftime(date_tmp, 63, "%d %b %y %X %Z", tp);
00067 date = date_tmp;
00068 }
00069 }
00070
00071
00072
00073
00074 void read(XMLReader& xml, const string& path, SzinGauge_t& header)
00075 {
00076 XMLReader paramtop(xml, path);
00077
00078 read(paramtop, "cfg_version", header.cfg_version);
00079
00080 read(paramtop, "date", header.date);
00081 read(paramtop, "banner", header.banner);
00082
00083 read(paramtop, "FermTypeP", header.FermTypeP);
00084 read(paramtop, "Nd", header.Nd);
00085 read(paramtop, "Nc", header.Nc);
00086 read(paramtop, "BetaMC", header.BetaMC);
00087 read(paramtop, "BetaMD", header.BetaMD);
00088
00089 read(paramtop, "KappaMC", header.KappaMC);
00090 read(paramtop, "KappaMD", header.KappaMD);
00091 read(paramtop, "MassMC", header.MassMC);
00092 read(paramtop, "MassMD", header.MassMD);
00093 read(paramtop, "dt", header.dt);
00094 read(paramtop, "MesTrj", header.MesTrj);
00095 read(paramtop, "TotalCG", header.TotalCG);
00096 read(paramtop, "TotalTrj", header.TotalTrj);
00097 read(paramtop, "spec_acc", header.spec_acc);
00098
00099 read(paramtop, "NOver", header.NOver);
00100 read(paramtop, "TotalTry", header.TotalTry);
00101 read(paramtop, "TotalFail", header.TotalFail);
00102 read(paramtop, "Nf", header.Nf);
00103 read(paramtop, "Npf", header.Npf);
00104 read(paramtop, "RefMomTrj", header.RefMomTrj);
00105 read(paramtop, "RefFnoiseTrj", header.RefFnoiseTrj);
00106 read(paramtop, "LamPl", header.LamPl);
00107 read(paramtop, "LamMi", header.LamMi);
00108 read(paramtop, "AlpLog", header.AlpLog);
00109 read(paramtop, "AlpExp", header.AlpExp);
00110
00111 read(paramtop, "nrow", header.nrow);
00112 read(paramtop, "seed", header.seed);
00113 }
00114
00115
00116
00117 void write(XMLWriter& xml, const string& path, const SzinGauge_t& header)
00118 {
00119 push(xml, path);
00120
00121 write(xml, "cfg_version", header.cfg_version);
00122
00123 write(xml, "date", header.date);
00124 write(xml, "banner", header.banner);
00125
00126 write(xml, "FermTypeP", header.FermTypeP);
00127 write(xml, "Nd", header.Nd);
00128 write(xml, "Nc", header.Nc);
00129 write(xml, "BetaMC", header.BetaMC);
00130 write(xml, "BetaMD", header.BetaMD);
00131
00132 write(xml, "KappaMC", header.KappaMC);
00133 write(xml, "KappaMD", header.KappaMD);
00134 write(xml, "MassMC", header.MassMC);
00135 write(xml, "MassMD", header.MassMD);
00136 write(xml, "dt", header.dt);
00137 write(xml, "MesTrj", header.MesTrj);
00138 write(xml, "TotalCG", header.TotalCG);
00139 write(xml, "TotalTrj", header.TotalTrj);
00140 write(xml, "spec_acc", header.spec_acc);
00141
00142 write(xml, "NOver", header.NOver);
00143 write(xml, "TotalTry", header.TotalTry);
00144 write(xml, "TotalFail", header.TotalFail);
00145 write(xml, "Nf", header.Nf);
00146 write(xml, "Npf", header.Npf);
00147 write(xml, "RefMomTrj", header.RefMomTrj);
00148 write(xml, "RefFnoiseTrj", header.RefFnoiseTrj);
00149 write(xml, "LamPl", header.LamPl);
00150 write(xml, "LamMi", header.LamMi);
00151 write(xml, "AlpLog", header.AlpLog);
00152 write(xml, "AlpExp", header.AlpExp);
00153
00154 write(xml, "nrow", header.nrow);
00155 write(xml, "seed", header.seed);
00156
00157 pop(xml);
00158 }
00159
00160 }