やっとベーテブロッホ方程式の理解ができました。苦節一週間...。
最初は、密度を書ける意味もわからなかったのですが...。
式を書いておきましょう。 入社粒子が、単位長さ[mm]あたりに損失するEnergy[eV]は、
-dE/dx = 2 πNa r2emec2ρ ×(Z/A) × z2/β2×[ln(2meγ2v2WMAX/ I2)-2β2]
である。とくに、`[' 開いている方 までで、次元である[eV/cm] を満足するので、[]の中身が、単位なし と理解するのが、わからなかったところです。よぉく考えてみれば、
[考えるまでもないかもしれない。]
γ=1/√(1-β2) β=v/c より v=cβ、WMAXは見るからに単位がeVなので、
分母部分は、[eV2]で、分子部分が、
2mec2 β2/1-β2なので、
βも単位なしと分かっているから、結局残るのは、
m2c2なので、電子の質量[mec2]が0.51MeVなので、分母部分も分子部分も、めでたく eV2 になっているんで、おっけい。
久しぶりに、いつも使わない頭を使ったような気がして、うれしかったです。
今は、これをパソコンに、初期条件を与えると、だーっと計算してくれるようなソフトを作っていて、今さっきできたとこ。
もうちょっと機能を追加する予定です。 特にδや シェルコレクションなどの、補正項.
現
段階では物質は何に設定するかとか、原子番号とか、入射粒子の正体などは、数字を入力しなくても、α線を用いるのであれば、 alpha とか、 a
とか、窒素を倍室に刷るのであれば、Nitrogen やら、N2 とかで、窒素の基礎情報が詰め込まれるように、改造しています。
さらに、単位でも、 g で統一しているのですが、 3kg と入力しても、3000g と解釈したり、 3mg とすれば、0.003g と解釈しています。そこのアルゴリズムは、結構苦労。
銚子にのって、 MeV でも、 KeVでも、 GeV でも、TeVでも、きちんと、106 , 103 , 109 , 1012と認識してくれます。
でも、kev とか、mevとかの大文字小文字に体するチェック機能は、つけていません。
なんとかしたいと思っているのですが、それをすると、結構めんどくさい。
&無闇に、コードが長くなる。
なんかそれだったら、C++でclass ばりばりObject思考ばりばりで書いた方がよかったのかもしれません。
多分こんなことをしているから、徹夜になってしまうのでしょう。ちなみに、現在、管理人時計で、30 時31 分です....。
そろそろ世間様は、買物に出かける支度をし始める時間...。