57 {
58
59
60
61
62
63
64
65
66
67
68
69
70
71
73 Particle *kaon;
74
77 kaon = particle2;
78 }
79 else{
81 kaon = particle1;
82 }
83
85
89
92
93 if(iso == 2 || iso == -2){
94 if(rdm*23. < 8.){
97 }
98 else if(rdm*23. < 9.){
101 }
102 else if(rdm*23. < 17.){
106 }
107 else if(rdm*23. < 21.){
111 }
112 else{
117 }
118 }
119 else{
120 if(rdm*25. < 8.){
123 }
124 else if(rdm*25. < 9.){
127 }
128 else if(rdm*25. < 17.){
132 }
133 else if(rdm*25. < 19.){
138 }
139 else if(rdm*25. < 21.){
144 }
145 else{
149 }
150 }
151
152 ParticleList list;
153 list.push_back(nucleon);
154 list.push_back(kaon);
155 const ThreeVector &rcol1 =
nucleon->getPosition();
156 const ThreeVector &rcol2 = kaon->getPosition();
157 const ThreeVector zero;
158 Particle *pion1 = new Particle(Pion1Type,zero,rcol1);
159 Particle *pion2 = new Particle(Pion2Type,zero,rcol2);
160 list.push_back(pion1);
161 list.push_back(pion2);
162
164
165 fs->addModifiedParticle(nucleon);
166 fs->addModifiedParticle(kaon);
167 fs->addCreatedParticle(pion1);
168 fs->addCreatedParticle(pion2);
169
170 }
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 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)