68 typedef typename vectorT::value_type floatT;
70 static_assert( std::is_floating_point<typename std::remove_cv<floatT>::type>::value,
71 "radprofIntegral: function must be floating point" );
73 if( r.size() != p.size() )
87 s = p[0] * pow( r[0], 2 );
91 s += 0.5 * p[n] * ( pow( r[n + 1], 2 ) - pow( r[n], 2 ) );
93 for( n = 1; n < r.size() - 1; ++n )
95 s += p[n] * ( pow( r[n], 2 ) - pow( r[n - 1], 2 ) );
98 s += 0.5 * p[n] * ( pow( r[n], 2 ) - pow( r[n - 1], 2 ) );