95 {
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 Particle *delta;
122
124 delta = particle1;
125 }
126 else {
127 delta = particle2;
128 }
129
131
134
138
140
141 if(std::abs(iso) == 4){
142 if(rdm*9 < 2){
146 }
147 else if(rdm*9 < 3){
151 }
152 else{
156 }
157 }
158 else if(iso == 0){
159 if(rdm*13 < 2){
163 }
164 else if(rdm*13 < 6){
168 }
169 else if(rdm*13 < 8){
173 }
174 else if(rdm*13 < 10){
178 }
179 else if(rdm*13 < 11){
183 }
184 else{
188 }
189 }
191 if(rdm*11 < 2){
195 }
196 else if(rdm*11 < 3){
200 }
201 else if(rdm*11 < 5){
205 }
206 else if(rdm*11 < 7){
210 }
211 else{
215 }
216 }
217 else{
218 if(rdm*15 < 2){
222 }
223 else if(rdm*15 < 6){
227 }
228 else if(rdm*15 < 12){
232 }
233 else if(rdm*15 < 14){
237 }
238 else{
242 }
243 }
244
245
247 particle1->
setMass(sampleDeltaMass(sqrtS));
249
250 ParticleList list;
251 list.push_back(particle1);
252 list.push_back(particle2);
253 const ThreeVector &rcol = particle2->
getPosition();
254 const ThreeVector zero;
255 Particle *kaon = new Particle(KaonType,zero,rcol);
256 list.push_back(kaon);
257
260
261 fs->addModifiedParticle(particle1);
262 fs->addModifiedParticle(particle2);
263 fs->addCreatedParticle(kaon);
264
265 }
void setMass(G4double mass)
const G4INCL::ThreeVector & getPosition() const
G4INCL::ParticleType getType() const
G4bool isResonance() const
Is it a resonance?
void setType(ParticleType t)
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
ParticleType getKaonType(const G4int isosp)
Get the type of kaon.
ParticleType getSigmaType(const G4int isosp)
Get the type of sigma.
G4int getIsospin(const ParticleType t)
Get the isospin of a particle.
ParticleType getDeltaType(const G4int isosp)
Get the type of delta.
void generateBiased(const G4double sqrtS, ParticleList &particles, const size_t index, const G4double slope)
Generate a biased event in the CM system.