Соглашение о физических единицах
При вычислениях мы работаем с обезличенными числами, не имеющими размерности. Поэтому вопросы размерности являются предметом договоренности разработчиков программы. В GEANT4 считается, что размерность числовой переменной определяется местом её использования и значение перменной выраженно в одной из единиц измерения принятых по умолчанию. Единицами измерения по умолчанию являются:
- миллиметр,
- наносекунда,
- мегаэлектрон-вольт,
- Кельвин,
- моль,
- кандела,
- радиан,
- стерадиан.
Все остальные единицы измерения определяются через эти базовые единицы. Подробности можно узнать в заголовочном файле G4SystemOfUnits.hh
. При вводе новой физической величины в программу, крайне желательно обозначить её размерность. Ниже приведен пример как это делается.
#include "G4SystemOfUnits.hh"
using namespace CLHEP;
...
double kineticEnergy = 10 * MeV;
double size = 1000*meter;
В данном пример мы подключили заголовочный файл и пространство имен, в которых определены переменные, позволяющие приводить наши физические величины к базовым размерностям. Так в переменную size
будет записано значение 1000000
, поскольку переменная meter
имеет значение 1000
, так как подсказывает капитан Очевидность в метре тысяча миллиметров.