[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: standard units in software
Sorry, there's an (obvious) typo here:
Should be:
bool checkEnergy( double energy ){
return( energy > 30*k_MeV );
}
Eugene is right -- more CPU cycles and typing. But I think
readability and odds of making a mistake and introducing a bug are
greatly reduced.
-Matt
On Nov 24, 2008, at 2:39 PM, Matthew Shepherd wrote:
>
> Hi Eugene,
>
> Other routines can use the same global constants. For example:
>
> suppose showerEnergy is some energy expressed internally in an
> object in standard units. Then:
>
> if( checkEnergy( showerEnergy ) ){
> ...
> }
>
> bool checkEnergy( double energy ){
>
> return( energy*k_MeV > 30*k_MeV );
> }
>
> One just needs to be sure:
>
> #include "units.h"
>
> exists wherever the global constants need to be used.
>
> In other words, the numbers are always expressed in standard units.
> Having the constants just helps alleviate keeping track of what the
> units are. If the standard units are MeV then k_MeV == 1, k_GeV ==
> 0.001, etc..
>
> -Matt
>