Hi wcrachel
It's good to ask simple questions, especially on the forum, so that no one is using a 'black box' that they don't understand.
From your post it looks like you're doing a 'semi-quantitative approach' calculation where you don't have an internal standard, and just a single reference material. This approach just compares the response ("sensitivity") for the reference material to the counts for your sample. To simplify a little bit (I'll expand a little below) if you get 1000 CPS for your NIST612 run, and it has 68 ppm Mg, and you get 500 CPS for your sample, you would get a ppm value of 500/1000 * 68 = 34 ppm for your sample. That should make sense intuitively: if you have half the count rate, you have half the concentration.
Now to where it gets a little more complicated: iolite doesn't use the simple count-rate from the last NIST612 measurement, because it could be a while ago, and we know sensitivity changes over time during the experiment. So, using this approach, iolite would use the value of the spline of NIST612 for the channel Mg24_CPS, and the value you'd use in your calculation would be the spline's avg value during your sample ablation. Also, iolite doesn't calculate an average ppm value for your sample. Instead, iolite calculates a value for each datapoint in your experiment. The advantage of this is that you can visualise how the ppm values change during your ablations, and if you decide to crop a bit off the start or the end or avoid an inclusion etc, iolite will just report the avg ppm value within your selection.
The reason why this last point (calculating ppm values for every data point) is important is that if you manually take the average CPS value for your selection and calculate a ppm value for it you may get a slightly different value than what iolite reports. Similarly, it can be hard to determine what the value of the spline is during your sample interval (although I can post some code to report this value if you want). I just point these out so that you're aware of why you might not get the same value if you calculate it manually and compare it to the value iolite reports (although they should be very close).
I hope that clears it up a little?
Please let us know if you have any other questions, or if any of the above doesn't make sense.
-Bence