ARTEMISで2Bodyの運動学計算をする

今回は、ARTEMISで2体の運動学計算をするのに使用できるクラスTCatTwoBodyKinematicsの紹介です。

使い方を以下に載せます。これは、8Be->2αのDecayを計算しておりますが、普通にA(a,b)BのようなReactionに対しても計算出来ます。Lolenz boostを入れた計算をしてくれます。

artemis [] TCatTwoBodyKinematics kin(8,4,0,0,4,2); // コンストラクタの引数
// (Beam A, Beam Z, Target A, Target Z, Flagment A, Flagment Z)
// 残留核は一意に定まるので定義する必要ありません

artemis [] kin.SetIncidentEnergy(200); //BeamのEnergy (MeV/u)
artemis [] const TArtParticle *a1 = kin.GetParticle(2); // flagmentのParticle dataを取得
artemis [] const TArtParticle *a2 = kin.GetParticle(3); // residueのParticle dataを取得
artemis [] a1->P() //flagmentの運動量を返す
(const Double_t)2.59228193630472651e+03 // (MeV/c)
artemis [] a1->TKE() //flagmentの全運動エネルギー (Total Kinematic Energy)を返す
(const Double_t)8.12805975619898618e+02 // (MeV)
artemis [] a1->Vect().Angle(a2->Vect()) //a2から見たa1の角度を返す
(const Double_t)0.00000 // (rad)
artemis [] kin.SetTheta(TMath::Pi()/2.) // Scattering angleを90度に設定
artemis [] a1->P()
(const Double_t)2.56986822593197212e+03 // 角度を変えた分異なる解が返ってくる
artemis [] a1->Vect().Angle(a2->Vect()) 
(const Double_t)1.44040219623899485e-02

あとは、Excitation energyなども設定して計算してくれます。

Shoichiro Masuoka

CNS, the Univ. of Tokyo. Dcotoral student

関連項目