std::map<int, double> IonizationEfficiencySimulator::calc_charge_distribution(const Peptide &peptide) {
	std::map<int,double> charge_to_percentage;


	int num_basic = 1+peptide.num_basic_residues();
	boost::math::binomial bd(num_basic, .7+(g_uniform_distribution(g_rng)*.3)); // success rate in [0.7,1.0]

	for (int i = 1; i <= num_basic; i++) {
		charge_to_percentage[i] = boost::math::pdf(bd,i);
		//std::cout << i << " " << num_basic << " " << boost::math::pdf(bd,i) << std::endl;
	}

	return charge_to_percentage;
}