cyclus/core — pull request #125 by gidden (2012-05-13 18:35:29+00:00)
Title: Develop

Ok, this is the final product of what I've been working on. I'm writing documentation at http://cyclus.github.com/devdoc/materials_and_isotopes.html. It's not currently in a great state, but I'll be updating it.

The main idea behind these changes is that we want to minimize copying of predefined Recipes and the decayed daughters of those Recipes. This management is held in the RecipeLogger class (to be renamed, per discussion with Steve).

I have expanded our previous typedef of CompMap into a class. It is not currently immutable, but should be; however, the general structure is there and can be used. It holds normalized compositions and can provide the mass or atom fractions of a given isotope as requested.

The IsoVector class has been simplified. It manages a smart pointer to a CompMap and defines how CompMaps can be mixed (added) and separated (subtracted).

The Material class has been simplified slightly. All notion of quantity (mass) now resides in the Material class. All isotopic information is held in its IsoVector.