PhotoEvaporation

GEANT4 安装的数据库中,有一个文件夹 PhotoEvaporation5.x,里面文件格式 z[xx].a[xx],每个文件对应一个核素,z 后面的数值为其质子数,a 后面的数值为核子数。

我们以 60Ni 为例,

picpe1

该数据库为原子核的给定能级的退激数据,能级信号包含自旋宇称、跃迁角动量等。


定义同位素能级的数据包含6列:


在定义能级之后,n_gammas 行信数据描述退激 gamma 的信息。gamma 的信息如下:

添加用户数据

默认条件下, GEANT4 会读取文件夹 PhotoEvaporation5.x 的数据。在 gamma 谱学研究中,测量的能级信息往往是 ENSDF 中没有的,因此需要读取我们数据表。

main.cc

// 这里省略
  mtrunManager->Initialize();
  // 在内核初始化之后添加数据
  // 代码里,找到以上两行代码。在这行代码之后添加

  // userEvaporationData
  //G4NuclearLevelData::GetInstance()->AddPrivateData(Z, A, file_name);
  G4NuclearLevelData::GetInstance()->AddPrivateData(28, 60, "wu_z28.a60");

文件 wu_z28.a60 中,修改了能级 2505 keV 的退激 gamma 分支比。

示例

60Ni 2505 keV 能级退激在 Ge 探测器上的能谱。

void wuPrimaryGeneratorActionAll::GeneratePrimaries(G4Event* anEvent)
{
  G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
  G4ParticleDefinition* pp = 0;

  // -------------------------

  //自定义带电粒子
  G4int IonZ = 28;
  G4int IonA = 60;
  G4double IonEstar = 2505.753*keV; //exitition energy
  G4double IonQ = 1;
  pp = particleTable->GetIonTable()->GetIon(IonZ, IonA, IonEstar);//4.10.01版本强制 G4IonTable.hh
  particleGun->SetParticleCharge(IonQ);

  if(pp)
    particleGun->SetParticleDefinition(pp);
  else
    G4cout<<"##Null pp in wuPrimaryGeneratorAction::SetParticleGun()"<<G4endl;

  //primary particle kinetic energy
  particleGun->SetParticleEnergy(2.0*MeV);  

  // 这里省略代码
  // 。。。。。。
  // 粒子各向同性发射
}

典型数据输出如下:
picpe2

比较默认数据库和我们修改数据库, Ge 探测器测量的能谱。其中黑色为 GEANT4 默认 ENSDF 库。

picpe3

解释为何 gamma 峰存在展宽?

图中黑色数据,2505 keV 能级,通过 1173 和 1332 退激到基态,同时也可直接发射 2505 到基态,它们的强度比为 100:2e-6。为何图中 2505 keV 的 gamma 峰这么强?