CummulativeReactionProbabilities::CummulativeReactionProbabilities(const mxArray *mx) : mx(mx), n_dividing_surface(*(int *) mxGetData(mx, "n_dividing_surface")), n_gradient_points(*(int *) mxGetData(mx, "n_gradient_points")), n_energies(*(int *) mxGetData(mx, "n_energies")), calculate_CRP(*(int *) mxGetData(mx, "calculate_CRP")) { energies = RVec(n_energies, (double *) mxGetData(mx, "energies")); eta_sq = RVec(n_energies, (double *) mxGetData(mx, "eta_sq")); CRP = RVec(n_energies, (double *) mxGetData(mx, "CRP")); }
AngleCoordinate::AngleCoordinate(const mxArray *mx) : mx(mx), n(*(int *) mxGetData(mx, "n")), m(*(int *) mxGetData(mx, "m")) { x = RVec(n, (double *) mxGetData(mx, "x")); w = RVec(n, (double *) mxGetData(mx, "w")); double *p = (double *) mxGetData(mx, "legendre"); insist(p); legendre = RMat(m+1, n, p); }
void NodeGraphDisplay::onScroll(APoint m_pos, Vec2f d_scroll) { RVec a_zoom = getZoom(); AVec mult = AVec(1.0f, 1.0f) - ZOOM_STEP*(d_scroll.x + d_scroll.y); setZoom(RVec(a_zoom.x*mult.x, a_zoom.y*mult.y)); //moveZoom(-ZOOM_STEP*(d_scroll.x + d_scroll.y)); }
vector<RVec> RVec::cast(vector<cv::Mat> mats){ vector<RVec> vecs; for(cv::Mat mat : mats){ vecs.push_back( RVec(mat) ); } return vecs; }
void GraphDisplay::setGraph(GPoint data_min, GPoint data_max, RVec absolute_to_graph, GVec standard_unit_size, GraphProps g_props) { minData = data_min; maxData = data_max; absoluteToGraphUnits = absolute_to_graph; graphToAbsoluteUnits = RVec(1.0f/absoluteToGraphUnits.x, 1.0f/absoluteToGraphUnits.y); gProps = g_props; fixedWidth = gProps & GraphProps::FIXED_WIDTH; fixedHeight = gProps & GraphProps::FIXED_HEIGHT; flipX = gProps & GraphProps::FLIP_X; flipY = gProps & GraphProps::FLIP_Y; standardUnitSize = standard_unit_size; onSizeChanged(AVec()); }
RadialCoordinate::RadialCoordinate(const mxArray *mx) : mx(mx), n(*(int *) mxGetData(mx, "n")), dr(*(double *) mxGetData(mx, "dr")), mass(*(double *) mxGetData(mx, "mass")) { r = RVec(n, (double *) mxGetData(mx, "r")); psq2m.resize(n); FFTWInterface::get_momentum_for_fftw(psq2m, n*dr); for(int i = 0; i < n; i++) { psq2m[i] = psq2m[i]*psq2m[i]/(2*mass); } one2mr2.resize(n); const double m2 = mass+mass; for(int i = 0; i < n; i++) { one2mr2[i] = 1.0/(m2*r[i]*r[i]); } }