57 {
58
59
60
61
62
63
64
65
66
67
69 Particle *kaon;
70
74 }
75 else{
78 }
79
81
85
87
88 if(iso == 2 || iso == -2){
89 if(rdm*5. < 1.2){
91 }
92 else if(rdm*5. < 4.2){
95 }
96 else{
99 }
100 }
101 else{
102 if(rdm*5.545 < 1.){
105 }
106 else if(rdm*5.545 < 1.845){
108 }
109 else if(rdm*5.545 < 3.315){
113 }
114 else{
117 }
118 }
119
120 ParticleList list;
122 list.push_back(kaon);
123 const ThreeVector &rcol =
nucleon->getPosition();
124 const ThreeVector
zero;
125 Particle *
pion =
new Particle(PionType,
zero,rcol);
126 list.push_back(
pion);
127
129
130 fs->addModifiedParticle(
nucleon);
131 fs->addModifiedParticle(kaon);
132 fs->addCreatedParticle(
pion);
133
134 }
static const G4double angularSlope
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)
static const G4LorentzVector zero(0., 0., 0., 0.)