一、生成初级event
G4VuserPrimaryGeneratorAction是获得用户自己的实体类的强制类
- 实体类中必须指定如何生成初级event
- 初级event实际将由G4VPrimaryGenerator的实体类完成
- 用户的G4VUserPrimaryGeneratorAction实体类只是安排了初级粒子的生成方式
Listing 2.18:ExG4PrimaryGeneratorAction01:使用G4ParticleGun的G4VUserPrimaryGeneratorAction实体类的例子
//
// ExG4PrimaryGeneratorAction01.hh
//
#ifndef ExG4PrimaryGeneratorAction01_h
#define ExG4PrimaryGeneratorAction01_h 1 //G4VUserPrimaryGeneratorAction实体类中构造的主生成器对象必须在析构函数中被删
#include "G4VUserPrimaryGeneratorAction.hh"
#include "G4ThreeVector.hh"
#include "globals.hh"
class G4ParticleGun;
class G4Event;
class ExG4PrimaryGeneratorAction01 : public G4VUserPrimaryGeneratorAction
{
public:
ExG4PrimaryGeneratorAction01(
const G4String& particleName = "geantino", //字符&,粒子名称
G4double energy