///60. Several Pearson VII double Mult_Pearson7(const double& X, const int& Nb_peak, const vec& Mean, const vec &Inv_Width, const vec& Shape, const vec& Max){ double result = 0.; for (int i = 0; i < Nb_peak; i++) { assert(Shape(i)>0); result += Pearson7(X, Mean(i), Inv_Width(i), Shape(i), Max(i)); } return result; }
//------------------------------------------------------------- double peak::get_density_ODF(const double &theta) //------------------------------------------------------------- { switch (method) { case 1: { return ODF_sd(theta, mean, params); break; } case 2: { return ODF_hard(theta, mean, s_dev, ampl) + ODF_hard(theta - pi, mean, s_dev, ampl) + ODF_hard(theta + pi, mean, s_dev, ampl); break; } case 3: { return Gaussian(theta, mean, s_dev, ampl) + Gaussian(theta - pi, mean, s_dev, ampl) + Gaussian(theta + pi, mean, s_dev, ampl); break; } case 4: { return Lorentzian(theta, mean, width, ampl) + Lorentzian(theta - pi, mean, width, ampl) + Lorentzian(theta + pi, mean, width, ampl); break; } case 5: { return PseudoVoigt(theta, mean, s_dev, width, ampl, params) + PseudoVoigt(theta - pi, mean, s_dev, width, ampl, params) + PseudoVoigt(theta + pi, mean, s_dev, width, ampl, params); break; } case 6: { assert(width > 0.); double inv_width = 1./width; return Pearson7(theta, mean, inv_width, params) + Pearson7(theta - pi, mean, inv_width, params) + Pearson7(theta + pi, mean, inv_width, params); break; } case 7: { return 1.; break; } default : { cout << "Error: The peak type specified is not recognized" << endl; return 0; break; } } }