package org.openscience.cdk.formula; import org.openscience.cdk.annotations.TestClass; import org.openscience.cdk.annotations.TestMethod; import org.openscience.cdk.interfaces.IMolecularFormula; import org.openscience.cdk.tools.manipulator.MolecularFormulaManipulator; /** * This class defines a isotope container. It contains in principle a * IMolecularFormula, a mass and intensity/abundance value. * * @author Miguel Rojas Cherto * * @cdk.module formula */ @TestClass("org.openscience.cdk.formula.IsotopeContainerTest") public class IsotopeContainer{ private IMolecularFormula form; private double masOs; private double inte; /** * Constructor of the IsotopeContainer object. */ public IsotopeContainer(){ } /** * Constructor of the IsotopeContainer object setting a IMolecularFormula * object and intensity value. * * @param formula The formula of this container * @param intensity The intensity of this container */ @TestMethod("testIsotopeContainer_IMolecularFormula_double") public IsotopeContainer(IMolecularFormula formula, double intensity){ form = formula; if(formula != null) masOs = MolecularFormulaManipulator.getTotalExactMass(formula); inte = intensity; } /** * Constructor of the IsotopeContainer object setting a mass * and intensity value. * * @param mass The mass of this container * @param intensity The intensity of this container */ @TestMethod("testIsotopeContainer_double_double") public IsotopeContainer(double mass, double intensity){ masOs = mass; inte = intensity; } /** * Set IMolecularFormula object of this container. * * @param formula The IMolecularFormula of the this container */ @TestMethod("testSetFormula_IMolecularFormula") public void setFormula(IMolecularFormula formula){ form = formula; } /** * Set the mass value of this container. * * @param mass The mass of the this container */ @TestMethod("testSetMass_double") public void setMass(double mass){ masOs = mass; } /** * Set the intensity value of this container. * * @param intensity The intensity of the this container */ @TestMethod("testSetIntensity_double") public void setIntensity(double intensity){ inte = intensity; } /** * Get the IMolecularFormula object of this container. * * @return The IMolecularformula of the this container */ @TestMethod("testGetFormula") public IMolecularFormula getFormula(){ return form; } /** * Get the mass value of this container. * * @return The mass of the this container */ @TestMethod("testGetMass") public double getMass(){ return masOs; } /** * Get the intensity value of this container. * * @return The intensity of the this container */ @TestMethod("testGetIntensity") public double getIntensity(){ return inte; } /** * Clones this IsotopeContainer object and its content. * * @return The cloned object */ @TestMethod("testClone") public Object clone() throws CloneNotSupportedException { IsotopeContainer isoClone = new IsotopeContainer(); isoClone.setFormula(getFormula()); isoClone.setIntensity(getIntensity()); isoClone.setMass(getMass()); return isoClone; } }