14 #ifndef KAMEMONTECARLO_H_
15 #define KAMEMONTECARLO_H_
17 #include "primarydriver.h"
18 #include "dummydriver.h"
19 #include "xwavengraph.h"
24 class Ui_FrmMonteCarlo;
30 Transaction &tr_meas,
const shared_ptr<XMeasure> &meas);
40 shared_ptr<MonteCarlo> m_loop, m_store;
42 fftw_complex *m_pFFTin[3];
43 fftw_complex *m_pFFTout[3];
44 fftw_plan m_fftplan[3];
46 long double m_sumDU, m_sumDS, m_sumDUav;
47 long double m_testsTotal;
48 double m_flippedTotal;
70 shared_ptr<XDoubleNode> m_targetTemp;
71 shared_ptr<XDoubleNode> m_targetField;
72 shared_ptr<XDoubleNode> m_hdirx;
73 shared_ptr<XDoubleNode> m_hdiry;
74 shared_ptr<XDoubleNode> m_hdirz;
75 shared_ptr<XUIntNode> m_L;
76 shared_ptr<XDoubleNode> m_cutoffReal;
77 shared_ptr<XDoubleNode> m_cutoffRec;
78 shared_ptr<XDoubleNode> m_alpha;
79 shared_ptr<XDoubleNode> m_minTests;
80 shared_ptr<XDoubleNode> m_minFlips;
81 shared_ptr<XTouchableNode> m_step;
82 shared_ptr<XComboNode> m_graph3D;
83 shared_ptr<XScalarEntry> m_entryT, m_entryH,
84 m_entryU, m_entryC, m_entryCoT,
85 m_entryS, m_entryM, m_entry2in2, m_entry1in3;
87 xqcon_ptr m_conLength, m_conCutoffReal, m_conCutoffRec, m_conAlpha,
88 m_conTargetTemp, m_conTargetField,
89 m_conHDirX, m_conHDirY, m_conHDirZ, m_conMinTests, m_conMinFlips, m_conStep,
92 shared_ptr<XWaveNGraph> m_wave3D;
93 void execute(
int flips,
long double tests);
97 shared_ptr<XListener> m_lsnTargetChanged, m_lsnStepTouched, m_lsnGraphChanged;
98 shared_ptr<XStatusPrinter> m_statusPrinter;