From: Miguel R. C. <m....@la...> - 2008-10-20 09:10:36
|
Egon > On Sun, Oct 19, 2008 at 11:37 PM, <raj...@us...> wrote: > > for (IIsotope isotope : formula.isotopes()) { > > - if (isotope.getExactMass() == null) return 0.0; > > + if (isotope.getExactMass() == CDKConstants.UNSET) { > > + factory.configure((IAtom)isotope); > > + } > > mass += isotope.getExactMass() * formula.getIsotopeCount(isotope); > > } > > - return mass; > > - } > > + return mass; > > + } > > This patch would be better if it would not modify the IAtom, and > instead of using factory.configure(), get the exact mass directly and > add that... > > Along the lines of: > > mass += IsotopeFactory.getInstance(builder).getMajorIsotope( > ((Atom)isotope).getSymbol() > ).getExactMass() * formula.getIsotopeCount(isotope); > you mean for the case which the isotope.getExactMass() is unset! if (isotope.getExactMass() == CDKConstants.UNSET) { mass += IsotopeFactory.getInstance(builder).getMajorIsotope( ((Atom)isotope).getSymbol() ).getExactMass() * formula.getIsotopeCount(isotope); }else{ mass += isotope.getExactMass() * formula.getIsotopeCount(isotope); } Miquel |