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);
}
Ejemplo n.º 3
0
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));
}
Ejemplo n.º 4
0
Archivo: RVec.cpp Proyecto: mpppk/EMat
	vector<RVec> RVec::cast(vector<cv::Mat> mats){
		vector<RVec> vecs;
		for(cv::Mat mat : mats){
			vecs.push_back( RVec(mat) );
		}
		return vecs;
	}
Ejemplo n.º 5
0
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]);
  }
}