First commit - added input fields for incoming particle Z, energy per nucleon, material selection lists, and appropriate labels.
Added fields for thickness of materials. Resolved an issue where the pop-up message boxes were blocking the UI from updating.
Added Material class to keep track of material parameters. Introduced doCalc function for MainWindow, which will start the calculation. This will be done by way of an SPCalc object attached to the MainWindow, which will have a timer and will either update a progress bar or change a status field to let the user know when the calculation is running.
Added progress bar to MainWindow.
Added a few more possible constants and made the progress bar work.
Added more constants and tables while segregating them to the spconstants.h header file. SPCalc::run() now does a calculation of the initial mass stopping power for an incident ion, energy, and target material, and outputs the result.
Added iterative calculation for range and exit energy, depending on energy and conditions. Stopping powers and ranges seem to agree well with NIST.
Added calculation for second material. SPCalc now determines both exit energies or the combined range depending on which is appropriate. If no thickness is provided for the first material, a very large thickness is assumed and the range is calculated.
Added a warning for having a second material set when the first material thickness is 0. Added an input box for setting an energy threshold, which shows the default value defined in spconstants.h. Currently it does nothing with the value input.
Configurable threshold implemented.
Threshold tested successfully. Added a check to make sure the threshold is below the total particle energy.
Added tables for molar mass, constituent Z, and weight fractions of composite materials. Added logic to handle composite materials in massStoppingPower function. Results agree decently with NIST. Concrete still needs to be added.
Added ROOT histogram plotting for viewing results and a quick script to look at it.
Removed molar mass and wieght fraction tables and calculated them by hand using CalcCompProps.C. Removed a bunch of code that became unnecessary afterwards, primarily in the mass stopping power calculation. Commented out ROOT stuff for now until I figure out how to consistently make nice plots given the calculation parameters.
Cleaned up the output considerably. Started separating the range into range1 and range2 for each material but needs to be implemented in MainWindow and SPCalc.
Finished results cleanup, split range result into 2 parts. Ran through the example problems and came within 5-10 percent for each. Last thing to do is split results reporting into a separate function to make things cleaner.
Separated results reporting to a separate function, printResults() in MainWindow.
Minor updates and bug fixes, mostly notably adding the thickness of material1 to the total range for the situation where there are 2 materials and the particle passes through the first one.
Fixed a bug where the stop threshold was not multiplied by the number of nucleons, causing some situations to never finish iterating.
Merge branch 'master' of https://github.com/micahfolsom/stoppingpower