With gspart you can define additional (or modify existing) particles in (H)Geant.
uginit.F:      call gspart(52,"omega",3,0.7819,0.,7.808e-23 ,ubuf,0)     ! omega meson
uginit.F:      call gspart(41,"rho0",3,0.7699,0.,4.37e-24 ,ubuf,0)       ! rho meson
uginit.F:      call gspart(42,"rho+",4,0.7699,1.,4.37e-24 ,ubuf,0)
uginit.F:      call gspart(43,"rho-",4,0.7699,-1.,4.37e-24 ,ubuf,0)
uginit.F:      call gspart(55,"phi",3,1.0194,0.,1.486e-22 ,ubuf,0)       ! phi
uginit.F:      call gspart(53,"etaprime",3,0.9577,0.,3.275e-21 ,ubuf,0)  ! etaprime
uginit.F:      call gspart(34,"Delta0",3,1.232,0.,5.48e-24 ,ubuf,0)      ! Delta0
uginit.F:      call gspart(35,"Delta++",4,1.232,2.,5.48e-24 ,ubuf,0)     ! Delta++
uginit.F:      call gspart(36,"Delta+",4,1.232,1.,5.48e-24 ,ubuf,0)      ! Delta+
uginit.F:      call gspart(37,"Delta-",4,1.232,-1.,5.48e-24 ,ubuf,0)     ! Delta-
 Syntax: 
 CALL GSPART (IPART,CHNPAR,ITRTYP,AMASS,CHARGE,TLIFE,UB,NWB)  
Stores the constants describing the particle. IPART in the data structure JPART. 
	
		
			|  IPART  | 
			 (INTEGER) particle number;  | 
		
		
			|  CHNPAR  | 
			 (CHARACTER*20) particle name;  | 
		
		
			|  ITRTYP  | 
			 (INTEGER) type of tracking routine requested:  | 
		
		
			|    | 
			 1 particle tracked by GTGAMA;  | 
		
		
			|    | 
			 2 particle tracked by GTELEC;  | 
		
		
			|    | 
			 3 particle tracked by GTNEUT;  | 
		
		
			|    | 
			 4 particle tracked by GTHADR;  | 
		
		
			|    | 
			 5 particle tracked by GTMUON;  | 
		
		
			|    | 
			 6 geantino tracked by GTNINO;  | 
		
		
			|    | 
			 7 heavy ion tracked by GTCKOV;  | 
		
		
			|    | 
			 8 light photon tracked by GTHION;  | 
		
		
			|  AMASS  | 
			 (REAL) particle mass in GeV;  | 
		
		
			|  CHARGE  | 
			 (REAL) particle charge;  | 
		
		
			|  TLIFE  | 
			 (REAL) particle life time (in seconds);  | 
		
		
			|  UB  | 
			 (REAL) array of NWB user additional parameters;  | 
		
		
			|  NWB  | 
			 (INTEGER).  |