1252 lines
50 KiB
C++
1252 lines
50 KiB
C++
//
|
|
// ********************************************************************
|
|
// * License and Disclaimer *
|
|
// * *
|
|
// * The Geant4 software is copyright of the Copyright Holders of *
|
|
// * the Geant4 Collaboration. It is provided under the terms and *
|
|
// * conditions of the Geant4 Software License, included in the file *
|
|
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
|
// * include a list of copyright holders. *
|
|
// * *
|
|
// * Neither the authors of this software system, nor their employing *
|
|
// * institutes,nor the agencies providing financial support for this *
|
|
// * work make any representation or warranty, express or implied, *
|
|
// * regarding this software system or assume any liability for its *
|
|
// * use. Please see the license in the file LICENSE and URL above *
|
|
// * for the full disclaimer and the limitation of liability. *
|
|
// * *
|
|
// * This code implementation is the result of the scientific and *
|
|
// * technical work of the GEANT4 collaboration. *
|
|
// * By using, copying, modifying or distributing the software (or *
|
|
// * any work based on the software) you agree to acknowledge its *
|
|
// * use in resulting scientific publications, and indicate your *
|
|
// * acceptance of all terms of the Geant4 Software license. *
|
|
// ********************************************************************
|
|
//
|
|
// --------------------------------------------------------------
|
|
// GEANT 4 class implementation file
|
|
//
|
|
// - Add "rho0" 25 Feb. 2000 H.Kurashige
|
|
// - Fix spin/isospin number for quarks 06 Apr. 2001 H.Kurashige
|
|
// - update quark mass 11 Oct. 2006 H.Kurashige
|
|
// - update meson/baryon masses 11 Oct. 2006 H.Kurashige
|
|
// - Added charm and bottom diquarks 09 Oct. 2019 V.Uzhinsky
|
|
// - Update mass and width for excited mesons
|
|
// and excited baryons following PDG 2023 05 Nov. 2023 S.Okada
|
|
// - Update mass and width for excited mesons
|
|
// and excited baryons following PDG 2025 04 Nov. 2025 S.Okada
|
|
|
|
#include "G4ShortLivedConstructor.hh"
|
|
|
|
#include "G4DecayTable.hh"
|
|
#include "G4DiQuarks.hh"
|
|
#include "G4ExcitedBaryons.hh"
|
|
#include "G4ExcitedDeltaConstructor.hh"
|
|
#include "G4ExcitedLambdaConstructor.hh"
|
|
#include "G4ExcitedMesonConstructor.hh"
|
|
#include "G4ExcitedMesons.hh"
|
|
#include "G4ExcitedNucleonConstructor.hh"
|
|
#include "G4ExcitedSigmaConstructor.hh"
|
|
#include "G4ExcitedXiConstructor.hh"
|
|
#include "G4Gluons.hh"
|
|
#include "G4ParticleDefinition.hh"
|
|
#include "G4PhaseSpaceDecayChannel.hh"
|
|
#include "G4Quarks.hh"
|
|
#include "G4SystemOfUnits.hh"
|
|
#include "G4VDecayChannel.hh"
|
|
|
|
G4bool G4ShortLivedConstructor::isConstructed = false;
|
|
|
|
void G4ShortLivedConstructor::ConstructParticle()
|
|
{
|
|
if (!isConstructed) {
|
|
ConstructQuarks();
|
|
ConstructResonances();
|
|
isConstructed = true;
|
|
}
|
|
}
|
|
|
|
void G4ShortLivedConstructor::ConstructQuarks()
|
|
{
|
|
G4ParticleDefinition* particle;
|
|
|
|
// Construct Quraks/Gluons as dynamic object
|
|
// Arguments for constructor are as follows
|
|
// name mass width charge
|
|
// 2*spin parity C-conjugation
|
|
// 2*Isospin 2*Isospin3 G-parity
|
|
// type lepton number baryon number PDG encoding
|
|
// stable lifetime decay table
|
|
|
|
// clang-format off
|
|
// gluon
|
|
particle = new G4Gluons(
|
|
"gluon", 0.0*MeV, 0.0*MeV, 0.0*eplus,
|
|
2, -1, 0,
|
|
0, 0, 0,
|
|
"gluons", 0, 0, 21,
|
|
true, -1.0, nullptr);
|
|
particle->SetAntiPDGEncoding(21);
|
|
// u-quark
|
|
particle = new G4Quarks(
|
|
"u_quark", 2.2*MeV, 0.0*keV, 2./3.*eplus,
|
|
1, +1, 0,
|
|
1, +1, 0,
|
|
"quarks", 0, 0, 2,
|
|
true, -1.0, nullptr);
|
|
// d-quark
|
|
particle = new G4Quarks(
|
|
"d_quark", 4.7*MeV, 0.0*keV, -1./3.*eplus,
|
|
1, +1, 0,
|
|
1, -1, 0,
|
|
"quarks", 0, 0, 1,
|
|
true, -1.0, nullptr);
|
|
// s-quark
|
|
particle = new G4Quarks(
|
|
"s_quark", 96.0*MeV, 0.0*keV, -1./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, 3,
|
|
true, -1.0, nullptr);
|
|
// c-quark
|
|
particle = new G4Quarks(
|
|
"c_quark", 1.28*GeV, 0.0*keV, +2./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, 4,
|
|
true, -1.0, nullptr);
|
|
// b-quark
|
|
particle = new G4Quarks(
|
|
"b_quark", 4.18*GeV, 0.0*keV, -1./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, 5,
|
|
true, -1.0, nullptr);
|
|
// t-quark
|
|
particle = new G4Quarks(
|
|
"t_quark", 173.1*GeV, 1.41*GeV, +2./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, 6,
|
|
true, -1.0, nullptr);
|
|
// anti u-quark
|
|
particle = new G4Quarks(
|
|
"anti_u_quark", 2.2*MeV, 0.0*keV, -2./3.*eplus,
|
|
1, +1, 0,
|
|
1, -1, 0,
|
|
"quarks", 0, 0, -2,
|
|
true, -1.0, nullptr);
|
|
// anti d-quark
|
|
particle = new G4Quarks(
|
|
"anti_d_quark", 4.7*MeV, 0.0*keV, 1./3.*eplus,
|
|
1, +1, 0,
|
|
1, +1, 0,
|
|
"quarks", 0, 0, -1,
|
|
true, -1.0, nullptr);
|
|
// anti s-quark
|
|
particle = new G4Quarks(
|
|
"anti_s_quark", 96.0*MeV, 0.0*keV, 1./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, -3,
|
|
true, -1.0, nullptr);
|
|
// anti c-quark
|
|
particle = new G4Quarks(
|
|
"anti_c_quark", 1.28*GeV, 0.0*keV, -2./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, -4,
|
|
true, -1.0, nullptr);
|
|
// anti b-quark
|
|
particle = new G4Quarks(
|
|
"anti_b_quark", 4.18*GeV, 0.0*keV, 1./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, -5,
|
|
true, -1.0, nullptr);
|
|
// anti t-quark
|
|
particle = new G4Quarks(
|
|
"anti_t_quark", 173.1*GeV, 1.41*GeV, -2./3.*eplus,
|
|
1, +1, 0,
|
|
0, 0, 0,
|
|
"quarks", 0, 0, -6,
|
|
true, -1.0, nullptr);
|
|
|
|
// uu1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"uu1_diquark", 4.6*MeV, 0.0*MeV, 4./3.*eplus,
|
|
2, +1, 0,
|
|
2, +2, 0,
|
|
"diquarks", 0, 0, 2203,
|
|
true, -1.0, nullptr);
|
|
// ud1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"ud1_diquark", 7.0*MeV, 0.0*MeV, 1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 2103,
|
|
true, -1.0, nullptr);
|
|
// dd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"dd1_diquark", 9.6*MeV, 0.0*MeV, -2./3.*eplus,
|
|
2, +1, 0,
|
|
2, -2, 0,
|
|
"diquarks", 0, 0, 1103,
|
|
true, -1.0, nullptr);
|
|
|
|
// ud0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"ud0_diquark", 7.1*MeV, 0.0*MeV, 1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 2101,
|
|
true, -1.0, nullptr);
|
|
|
|
// sd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"sd1_diquark", 102.8*MeV, 0.0*MeV, -2./3.*eplus,
|
|
2, +1, 0,
|
|
1, -1, 0,
|
|
"diquarks", 0, 0, 3103,
|
|
true, -1.0, nullptr);
|
|
|
|
// su1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"su1_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
|
|
2, +1, 0,
|
|
1, +1, 0,
|
|
"diquarks", 0, 0, 3203,
|
|
true, -1.0, nullptr);
|
|
|
|
// sd0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"sd0_diquark", 102.0*MeV, 0.0*MeV, -2./3.*eplus,
|
|
0, +1, 0,
|
|
1, -1, 0,
|
|
"diquarks", 0, 0, 3101,
|
|
true, -1.0, nullptr);
|
|
|
|
// su0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"su0_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
|
|
0, +1, 0,
|
|
1, +1, 0,
|
|
"diquarks", 0, 0, 3201,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti uu1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_uu1_diquark", 4.6*MeV, 0.0*MeV, -4./3.*eplus,
|
|
2, +1, 0,
|
|
2, -2, 0,
|
|
"diquarks", 0, 0, -2203,
|
|
true, -1.0, nullptr);
|
|
// anti ud1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_ud1_diquark", 7.0*MeV, 0.0*MeV, -1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -2103,
|
|
true, -1.0, nullptr);
|
|
// anti dd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_dd1_diquark", 9.6*MeV, 0.0*MeV, 2./3.*eplus,
|
|
2, +1, 0,
|
|
2, +2, 0,
|
|
"diquarks", 0, 0, -1103,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti ud0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_ud0_diquark", 7.1*MeV, 0.0*MeV, -1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -2101,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti sd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_sd1_diquark", 102.8*MeV, 0.0*MeV, 2./3.*eplus,
|
|
2, +1, 0,
|
|
1, +1, 0,
|
|
"diquarks", 0, 0, -3103,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti su1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_su1_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
|
|
2, +1, 0,
|
|
1, -1, 0,
|
|
"diquarks", 0, 0, -3203,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti sd0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_sd0_diquark", 102.0*MeV, 0.0*MeV, 2./3.*eplus,
|
|
0, +1, 0,
|
|
1, +1, 0,
|
|
"diquarks", 0, 0, -3101,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti su0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_su0_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
|
|
0, +1, 0,
|
|
1, -1, 0,
|
|
"diquarks", 0, 0, -3201,
|
|
true, -1.0, nullptr);
|
|
// ss1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"ss1_diquark", 198.0*MeV, 0.0*MeV, -2./3.*eplus,
|
|
2, +1, 0,
|
|
0, 0, 0,
|
|
"diquarks", 0, 0, 3303,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti ss1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_ss1_diquark", 198.0*MeV, 0.0*MeV, 2./3.*eplus,
|
|
2, +1, 0,
|
|
0, 0, 0,
|
|
"diquarks", 0, 0, -3303,
|
|
true, -1.0, nullptr);
|
|
|
|
// ----------- V. Uzhinsky October 2019: Add di-quarks having c and b quarks ----------------
|
|
// They have to be improved.
|
|
|
|
// cd0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"cd0_diquark", 1286.1*MeV, 0.0*MeV, 1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 4101,
|
|
true, -1.0, nullptr);
|
|
|
|
// cd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"cd1_diquark", 1286.0*MeV, 0.0*MeV, 1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 4103,
|
|
true, -1.0, nullptr);
|
|
|
|
// cu0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"cu0_diquark", 1283.1*MeV, 0.0*MeV, 4./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 4201,
|
|
true, -1.0, nullptr);
|
|
|
|
// cu1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"cu1_diquark", 1283.0*MeV, 0.0*MeV, 4./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 4203,
|
|
true, -1.0, nullptr);
|
|
|
|
// cs0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"cs0_diquark", 1380.1*MeV, 0.0*MeV, 1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 4301,
|
|
true, -1.0, nullptr);
|
|
|
|
// cs1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"cs1_diquark", 1380.0*MeV, 0.0*MeV, 1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 4303,
|
|
true, -1.0, nullptr);
|
|
|
|
// cc1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"cc1_diquark", 2565.0*MeV, 0.0*MeV, 4./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 4403,
|
|
true, -1.0, nullptr);
|
|
|
|
//---------------------------------------------
|
|
|
|
// bd0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bd0_diquark", 4186.1*MeV, 0.0*MeV, -2./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 5101,
|
|
true, -1.0, nullptr);
|
|
|
|
// bd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bd1_diquark", 4186.0*MeV, 0.0*MeV, -2./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 5103,
|
|
true, -1.0, nullptr);
|
|
|
|
// bu0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bu0_diquark", 4183.1*MeV, 0.0*MeV, 1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 5201,
|
|
true, -1.0, nullptr);
|
|
|
|
// bu1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bu1_diquark", 4183.0*MeV, 0.0*MeV, 1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 5203,
|
|
true, -1.0, nullptr);
|
|
|
|
// bs0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bs0_diquark", 4280.1*MeV, 0.0*MeV, -2./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 5301,
|
|
true, -1.0, nullptr);
|
|
|
|
// bs1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bs1_diquark", 4280.0*MeV, 0.0*MeV, -2./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 5303,
|
|
true, -1.0, nullptr);
|
|
|
|
// bc0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bc0_diquark", 5465.1*MeV, 0.0*MeV, 1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, 5401,
|
|
true, -1.0, nullptr);
|
|
|
|
// bc1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bc1_diquark", 5465.0*MeV, 0.0*MeV, 1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 5403,
|
|
true, -1.0, nullptr);
|
|
|
|
// bb1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"bb1_diquark", 8365.0*MeV, 0.0*MeV, -2./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, 5503,
|
|
true, -1.0, nullptr);
|
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
// anti cd0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_cd0_diquark", 1286.1*MeV, 0.0*MeV, -1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -4101,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti cd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_cd1_diquark", 1286.0*MeV, 0.0*MeV, -1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -4103,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti cu0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_cu0_diquark", 1283.1*MeV, 0.0*MeV, -4./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -4201,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti cu1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_cu1_diquark", 1283.0*MeV, 0.0*MeV, -4./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -4203,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti cs0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_cs0_diquark", 1380.1*MeV, 0.0*MeV, -1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -4301,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti cs1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_cs1_diquark", 1380.0*MeV, 0.0*MeV, -1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -4303,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti cc1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_cc1_diquark", 2565.0*MeV, 0.0*MeV, -4./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -4403,
|
|
true, -1.0, nullptr);
|
|
|
|
//---------------------------------------------
|
|
|
|
// anti bd0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bd0_diquark", 4186.1*MeV, 0.0*MeV, +2./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -5101,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bd1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bd1_diquark", 4186.0*MeV, 0.0*MeV, +2./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -5103,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bu0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bu0_diquark", 4183.1*MeV, 0.0*MeV, -1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -5201,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bu1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bu1_diquark", 4183.0*MeV, 0.0*MeV, -1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -5203,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bs0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bs0_diquark", 4280.1*MeV, 0.0*MeV, +2./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -5301,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bs1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bs1_diquark", 4280.0*MeV, 0.0*MeV, +2./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -5303,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bc0-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bc0_diquark", 5465.1*MeV, 0.0*MeV, -1./3.*eplus,
|
|
0, +1, 0,
|
|
0, +0, 0,
|
|
"diquarks", 0, 0, -5401,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bc1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bc1_diquark", 5465.0*MeV, 0.0*MeV, -1./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -5403,
|
|
true, -1.0, nullptr);
|
|
|
|
// anti bb1-Diquark
|
|
particle = new G4DiQuarks(
|
|
"anti_bb1_diquark", 8365.0*MeV, 0.0*MeV, 2./3.*eplus,
|
|
2, +1, 0,
|
|
2, +0, 0,
|
|
"diquarks", 0, 0, -5503,
|
|
true, -1.0, nullptr);
|
|
|
|
// clang-format on
|
|
|
|
particle = nullptr;
|
|
}
|
|
|
|
void G4ShortLivedConstructor::ConstructResonances()
|
|
{
|
|
ConstructBaryons();
|
|
ConstructMesons();
|
|
|
|
// N*
|
|
G4ExcitedNucleonConstructor nucleons;
|
|
nucleons.Construct();
|
|
|
|
// Delta*
|
|
G4ExcitedDeltaConstructor deltas;
|
|
deltas.Construct();
|
|
|
|
// Lambda*
|
|
G4ExcitedLambdaConstructor lamdas;
|
|
lamdas.Construct();
|
|
|
|
// Sigma*
|
|
G4ExcitedSigmaConstructor sigmas;
|
|
sigmas.Construct();
|
|
|
|
// Xi*
|
|
G4ExcitedXiConstructor xis;
|
|
xis.Construct();
|
|
|
|
// Mesons
|
|
G4ExcitedMesonConstructor mesons;
|
|
mesons.Construct();
|
|
}
|
|
|
|
void G4ShortLivedConstructor::ConstructBaryons()
|
|
{
|
|
G4DecayTable* decayTable;
|
|
G4VDecayChannel* mode;
|
|
G4ExcitedBaryons* particle;
|
|
|
|
// Construct Resonace particles as dynamic object
|
|
// Arguments for constructor are as follows
|
|
// name mass width charge
|
|
// 2*spin parity C-conjugation
|
|
// 2*Isospin 2*Isospin3 G-parity
|
|
// type lepton number baryon number PDG encoding
|
|
// stable lifetime decay table
|
|
|
|
// delta baryons
|
|
// delta(1232)++
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"delta++", 1.232*GeV, 117.0*MeV, +2.0*eplus,
|
|
3, +1, 0,
|
|
3, +3, 0,
|
|
"baryon", 0, +1, 2224,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of delta++ -> proton + pi+
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta++", 1.000, 2, "proton", "pi+");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// delta(1232)+
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"delta+", 1.232*GeV, 117.0*MeV, +1.0*eplus,
|
|
3, +1, 0,
|
|
3, +1, 0,
|
|
"baryon", 0, +1, 2214,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta(1232)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of delta+ -> proton + Gamma
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta+", 0.01, 2, "proton", "gamma");
|
|
decayTable->Insert(mode);
|
|
// create decay channel of delta+ -> neutron + pi+
|
|
// parent BR #daughters
|
|
// create decay channel of delta+ -> proton + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2, "proton", "pi0");
|
|
decayTable->Insert(mode);
|
|
// create decay channel of delta+ -> neutron + pi+
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2, "neutron", "pi+");
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// delta(1232)0
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"delta0", 1.232*GeV, 117.0*MeV, +0.0*eplus,
|
|
3, +1, 0,
|
|
3, -1, 0,
|
|
"baryon", 0, +1, 2114,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta(1232)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of delta+ -> neutron + gamma
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta0", 0.01, 2, "neutron", "gamma");
|
|
decayTable->Insert(mode);
|
|
// create decay channel of delta+ -> proton + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2, "proton", "pi-");
|
|
decayTable->Insert(mode);
|
|
// create decay channel of delta+ -> neutron + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2, "neutron", "pi0");
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// delta(1232)-
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"delta-", 1.232*GeV, 117.0*MeV, -1.0*eplus,
|
|
3, +1, 0,
|
|
3, -3, 0,
|
|
"baryon", 0, +1, 1114,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta(1232)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of delta+ -> neutron + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("delta-", 1.000, 2, "neutron", "pi-");
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
////////////////////////////
|
|
// anti_delta baryons
|
|
// anti_delta(1232)++
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"anti_delta++", 1.232*GeV, 117.0*MeV, -2.0*eplus,
|
|
3, +1, 0,
|
|
3, -3, 0,
|
|
"baryon", 0, -1, -2224,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta(1232)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of delta++ -> anti_proton + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_delta++", 1.000, 2, "anti_proton", "pi-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// anti_delta(1232)+
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"anti_delta+", 1.232*GeV, 117.0*MeV, -1.0*eplus,
|
|
3, +1, 0,
|
|
3, -1, 0,
|
|
"baryon", 0, -1, -2214,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta(1232)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of anti_delta+ -> anti_proton + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2, "anti_proton", "pi0");
|
|
decayTable->Insert(mode);
|
|
// create decay channel of anti_delta+ -> anti_neutron + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2, "anti_neutron", "pi-");
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// anti_delta(1232)0
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"anti_delta0", 1.232*GeV, 117.0*MeV, +0.0*eplus,
|
|
3, +1, 0,
|
|
3, +1, 0,
|
|
"baryon", 0, -1, -2114,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta(1232)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of anti_delta+ -> anti_proton + pi+
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2, "anti_proton", "pi+");
|
|
decayTable->Insert(mode);
|
|
// create decay channel of delta+ -> neutron + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2, "anti_neutron", "pi0");
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// anti_delta(1232)-
|
|
// clang-format off
|
|
particle = new G4ExcitedBaryons(
|
|
"anti_delta-", 1.232*GeV, 117.0*MeV, +1.0*eplus,
|
|
3, +1, 0,
|
|
3, +3, 0,
|
|
"baryon", 0, -1, -1114,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("delta(1232)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of delta- -> neutron + pi+
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_delta-", 1.000, 2, "anti_neutron", "pi+");
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
}
|
|
|
|
void G4ShortLivedConstructor::ConstructMesons()
|
|
{
|
|
G4DecayTable* decayTable;
|
|
G4VDecayChannel* mode;
|
|
G4ExcitedMesons* particle;
|
|
|
|
// Construct Resonace particles as dynamic object
|
|
// Arguments for constructor are as follows
|
|
// name mass width charge
|
|
// 2*spin parity C-conjugation
|
|
// 2*Isospin 2*Isospin3 G-parity
|
|
// type lepton number baryon number PDG encoding
|
|
// stable lifetime decay table
|
|
|
|
// vector mesons
|
|
// omega
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"omega", 782.65*MeV, 8.68*MeV, +0.0*eplus,
|
|
2, -1, -1,
|
|
0, +0, -1,
|
|
"meson", 0, 0, 223,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
particle->SetAntiPDGEncoding(223);
|
|
// set sub type
|
|
particle->SetMultipletName("omega");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of omega -> pi+ + pi- + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("omega", 0.891, 3, "pi+", "pi-", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
|
|
// create decay channel of omega -> gamma + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("omega", 0.0890, 2, "gamma", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
|
|
// create decay channel of omega -> pi+ + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("omega", 0.0170, 2, "pi+", "pi-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// phi
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"phi", 1019.46*MeV, 4.249*MeV, +0.0*eplus,
|
|
2, -1, -1,
|
|
0, +0, -1,
|
|
"meson", 0, 0, 333,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
particle->SetAntiPDGEncoding(333);
|
|
// set sub type
|
|
particle->SetMultipletName("phi");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of phi -> kaon+ + kaon-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("phi", 0.492, 2, "kaon+", "kaon-");
|
|
decayTable->Insert(mode);
|
|
// create decay channel of phi -> kaon0S + kaon0L
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("phi", 0.340, 2, "kaon0S", "kaon0L");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
// create decay channel of phi -> rho0 + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("phi", 0.153, 2, "rho0", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// rho+
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"rho+", 775.11*MeV, 149.1*MeV, +1.0*eplus,
|
|
2, -1, -1,
|
|
2, +2, +1,
|
|
"meson", 0, 0, 213,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("rho");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of rho+ -> pi+ + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("rho+", 1.000, 2, "pi+", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// rho-
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"rho-", 775.11*MeV, 149.1*MeV, -1.0*eplus,
|
|
2, -1, -1,
|
|
2, -2, +1,
|
|
"meson", 0, 0, -213,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("rho");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of rho- -> pi- + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("rho-", 1.000, 2, "pi-", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// rho0
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"rho0", 775.26*MeV, 147.4*MeV, 0.0,
|
|
2, -1, -1,
|
|
2, 0, +1,
|
|
"meson", 0, 0, 113,
|
|
false, 0.0*ns, nullptr );
|
|
// clang-format on
|
|
particle->SetAntiPDGEncoding(113);
|
|
// set sub type
|
|
particle->SetMultipletName("rho");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of rho0 -> pi+ + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("rho0", 1.000, 2, "pi+", "pi-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// a0(980)+
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"a0(980)+", 980.0*MeV, 60.0*MeV, +1.0*eplus,
|
|
0, +1, +1,
|
|
2, +2, -1,
|
|
"meson", 0, 0, 9000211,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
// set sub type
|
|
particle->SetMultipletName("a0(980)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of a0(980)+ -> eta + pi+
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("a0(980)+", 1.000, 2, "pi+", "eta");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// a0(980)-
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"a0(980)-", 980.0*MeV, 60.0*MeV, -1.0*eplus,
|
|
0, +1, +1,
|
|
2, -2, -1,
|
|
"meson", 0, 0, -9000211,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("a0(980)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of a0(980)- -> eta + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("a0(980)-", 1.000, 2, "pi-", "eta");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// a0(980)0
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"a0(980)0", 980.0*MeV, 75.0*MeV, 0.0,
|
|
0, +1, +1,
|
|
2, 0, -1,
|
|
"meson", 0, 0, 9000111,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
particle->SetAntiPDGEncoding(9000111);
|
|
// set sub type
|
|
particle->SetMultipletName("a0(980)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of a0(980)0 -> eta + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("a0(980)0", 1.000, 2, "pi0", "eta");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// f0(500) (was f0(500) f0(400-1200))
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"f0(500)", 600.0*MeV, 450.0*MeV, 0.0,
|
|
0, +1, +1,
|
|
0, 0, +1,
|
|
"meson", 0, 0, 9000221,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
particle->SetAntiPDGEncoding(9000221);
|
|
// set sub type
|
|
particle->SetMultipletName("f0(500)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of f0(500) -> pi + pi
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("f0(500)", 1.000, 2, "pi+", "pi-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// f0(980)
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"f0(980)", 990.0*MeV, 55.0*MeV, 0.0,
|
|
0, +1, +1,
|
|
0, 0, +1,
|
|
"meson", 0, 0, 9010221,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
particle->SetAntiPDGEncoding(9010221);
|
|
// set sub type
|
|
particle->SetMultipletName("f0(980)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of f0(980) -> pi + pi
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("f0(980)", 1.000, 2, "pi+", "pi-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// eta(1405)
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"eta(1405)", 1408.68*MeV, 50.3*MeV, 0.0,
|
|
0, -1, +1,
|
|
0, 0, +1,
|
|
"meson", 0, 0, 9020221,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
particle->SetAntiPDGEncoding(9020221);
|
|
// set sub type
|
|
particle->SetMultipletName("eta(1405)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of eta(1405) -> rho + rho
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("eta(1405)", 1.000, 2, "rho+", "rho-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// f0(1500)
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"f0(1500)", 1522.0*MeV, 108.0*MeV, 0.0,
|
|
0, +1, +1,
|
|
0, 0, +1,
|
|
"meson", 0, 0, 9030221,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
particle->SetAntiPDGEncoding(9030221);
|
|
// set sub type
|
|
particle->SetMultipletName("f0(1500)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of f0(1500) -> eta + eta
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("f0(1500)", 1.000, 2, "eta", "eta");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// f0(1710)
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"f0(1710)", 1732.91*MeV, 150.4*MeV, 0.0,
|
|
0, +1, +1,
|
|
0, 0, +1,
|
|
"meson", 0, 0, 10331,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
particle->SetAntiPDGEncoding(10331);
|
|
// set sub type
|
|
particle->SetMultipletName("f0(1710)");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
|
|
// create decay channel of f0(1710) -> k0 + k0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("f0(1710)", 0.40, 2, "kaon0S", "kaon0S");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
|
|
// create decay channel of f0(1710) -> k+ + k+
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("f0(1710)", 0.40, 2, "kaon+", "kaon-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
|
|
// create decay channel of f0(1710) -> eta + eta
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("f0(1710)", 0.20, 2, "eta", "eta");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// k_star+
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"k_star+", 891.67*MeV, 51.4*MeV, +1.0*eplus,
|
|
2, -1, 0,
|
|
1, +1, 0,
|
|
"meson", 0, 0, 323,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("k_star");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of k_star+ -> kaon+ + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("k_star+", 0.500, 2, "kaon+", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
// create decay channel of k_star+ -> kaon+ + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("k_star+", 0.500, 2, "kaon0", "pi+");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// k_star0
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"k_star0", 895.55*MeV, 47.3*MeV, 0.0*eplus,
|
|
2, -1, 0,
|
|
1, -1, 0,
|
|
"meson", 0, 0, 313,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("k_star");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of k_star0 -> kaon+ + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("k_star0", 0.500, 2, "kaon+", "pi-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
// create decay channel of k_star0 -> kaon0 + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("k_star0", 0.500, 2, "kaon0", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// k_star-
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"k_star-", 891.67*MeV, 51.4*MeV, -1.0*eplus,
|
|
2, -1, 0,
|
|
1, +1, 0,
|
|
"meson", 0, 0, -323,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("k_star");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of k_star- -> kaon- + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("k_star-", 0.500, 2, "kaon-", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
// create decay channel of k_star- -> anti_kaon0 + pi-
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("k_star-", 0.500, 2, "anti_kaon0", "pi-");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
|
|
// anti_k_star0
|
|
// clang-format off
|
|
particle = new G4ExcitedMesons(
|
|
"anti_k_star0", 895.55*MeV, 47.3*MeV, 0.0*eplus,
|
|
2, -1, 0,
|
|
1, -1, 0,
|
|
"meson", 0, 0, -313,
|
|
false, 0.0, nullptr);
|
|
// clang-format on
|
|
|
|
// set sub type
|
|
particle->SetMultipletName("k_star");
|
|
// create decay table
|
|
decayTable = new G4DecayTable();
|
|
// create decay channel of anti_k_star0 -> kaon- + pi+
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_k_star0", 0.500, 2, "kaon-", "pi+");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
// create decay channel of anti_k_star0 -> anti_kaon0 + pi0
|
|
// parent BR #daughters
|
|
mode = new G4PhaseSpaceDecayChannel("anti_k_star0", 0.500, 2, "anti_kaon0", "pi0");
|
|
// add decay table
|
|
decayTable->Insert(mode);
|
|
particle->SetDecayTable(decayTable);
|
|
}
|