57 {
58
59
60
61
62
63
64
65
66
67
68
70 Particle *kaon;
71
75 }
76 else{
79 }
80
82
86
88
89 if(iso == 2 || iso == -2){
90 if(rdm*29. < 8.){
94 }
95 else if(rdm*29. < 11.){
99 }
100 else if(rdm*29. < 21.){
104 }
105 else{
109 }
110 }
111 else{
112 if(rdm*59. < 24.){
116 }
117 else if(rdm*59. < 40.){
121 }
122 else if(rdm*59. < 43.){
126 }
127 else{
131 }
132 }
133
134 ParticleList list;
136 list.push_back(kaon);
137 const ThreeVector &rcol =
nucleon->getPosition();
138 const ThreeVector
zero;
139 Particle *
pion =
new Particle(PionType,
zero,rcol);
140 list.push_back(
pion);
141
143
144 fs->addModifiedParticle(
nucleon);
145 fs->addModifiedParticle(kaon);
146 fs->addCreatedParticle(
pion);
147
148 }
static const G4double angularSlope
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
ParticleType getSigmaType(const G4int isosp)
Get the type of sigma.
G4int getIsospin(const ParticleType t)
Get the isospin of a particle.
ParticleType getPionType(const G4int isosp)
Get the type of pion.
void generateBiased(const G4double sqrtS, ParticleList &particles, const size_t index, const G4double slope)
Generate a biased event in the CM system.
G4bool nucleon(G4int ityp)
static const G4LorentzVector zero(0., 0., 0., 0.)