57 {
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
77
82
87
89
90 if(std::abs(iso) == 4){
95 }
96 else if(iso == 0){
97 if(rdm*8 < 2){
102 }
103 else if(rdm*8 < 3){
108 }
109 else if(rdm*8 < 6){
114 }
115 else{
120 }
121 }
123 if(rdm*3 < 1){
128 }
129 else if(rdm*3 < 2){
134 }
135 else{
140 }
141 }
142 else{
143 if(rdm*5 < 2){
148 }
149 else if(rdm*5 < 4){
154 }
155 else{
160 }
161 }
162
163
164 particle1->
setType(Nucleon1Type);
165 particle2->
setType(Nucleon2Type);
166
167 ParticleList list;
168 list.push_back(particle1);
169 list.push_back(particle2);
170 const ThreeVector &rcol1 = particle1->
getPosition();
171 const ThreeVector zero1;
172 const ThreeVector &rcol2 = particle2->
getPosition();
173 const ThreeVector zero2;
174 Particle *kaon = new Particle(KaonType,zero1,rcol1);
175 Particle *antikaon = new Particle(antiKaonType,zero2,rcol2);
176 list.push_back(kaon);
177 list.push_back(antikaon);
178
181
182 fs->addModifiedParticle(particle1);
183 fs->addModifiedParticle(particle2);
184 fs->addCreatedParticle(kaon);
185 fs->addCreatedParticle(antikaon);
186
187 }
const G4INCL::ThreeVector & getPosition() const
G4INCL::ParticleType getType() const
void setType(ParticleType t)
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
ParticleType getKaonType(const G4int isosp)
Get the type of kaon.
G4int getIsospin(const ParticleType t)
Get the isospin of a particle.
ParticleType getNucleonType(const G4int isosp)
Get the type of nucleon.
ParticleType getAntiKaonType(const G4int isosp)
Get the type of antikaon.
void generateBiased(const G4double sqrtS, ParticleList &particles, const size_t index, const G4double slope)
Generate a biased event in the CM system.