粒子したい(G4ParticleTable

1G4ParticleTable *particle_table = G4ParticleTable::GetParticleTable();

粒子には質量、電荷、スピンなどの設定が必要です。 G4ParticleTableクラスを使って、粒子名で参照できます。 GetParticlaTable()で得た一覧オブジェクトはシングルトンになっています。

Geantinoしたい

1auto particle_table = G4ParticleTable::GetParticleTable();
2G4ParticleDefinition *geantino = particle_table->FindParticle("chargedgeantino");

geantinoは、Geant4内の仮想粒子で、どの物質とも相互作用をしない粒子です。 Geant4の粒子輸送では、配置した物体の境界面で必ずステップが作成されます。

geantinoを打ち込み、生成されたステップの情報を確認することで、 物体がきちんと配置されているかをデバッグできます。

電子・陽電子したい

1auto particle_table = G4ParticleTable::GetParticleTable();
2G4ParticleDefinition *positron = particle_table->FindParticle("e+");
3G4ParticleDefinition *electron = particle_table->FindParticle("e-");

ミューオンしたい

1auto particle_table = G4ParticleTable::GetParticleTable();
2G4ParticleDefinition *mu_plus = particle_table->FindParticle("mu+");
3G4ParticleDefinition *mu_minus = particle_table->FindParticle("mu-");

パイ中間子したい

1auto particle_table = G4ParticleTable::GetParticleTable();
2G4ParticleDefinition *pi_plus = particle_table->FindParticle("pi+");
3G4ParticleDefinition *pi_minus = particle_table->FindParticle("pi-");
4G4ParticleDefinition *pi_zero = particle_table->FindParticle("pi0");

K中間子したい

1auto particle_table = G4ParticleTable::GetParticleTable();
2G4ParticleDefinition *k_plus = particle_table->FindParticle("kaon+");
3G4ParticleDefinition *k_minus = particle_table->FindParticle("kaon-");

陽子したい

1auto particle_table = G4ParticleTable::GetParticleTable();
2G4ParticleDefinition *proton = particle_table->FindParticle("proton");

リファレンス