#include <G4INCLPiNToEtaChannel.hh>
Definition at line 47 of file G4INCLPiNToEtaChannel.hh.
◆ PiNToEtaChannel()
◆ ~PiNToEtaChannel()
G4INCL::PiNToEtaChannel::~PiNToEtaChannel |
( |
| ) |
|
|
virtual |
◆ fillFinalState()
void G4INCL::PiNToEtaChannel::fillFinalState |
( |
FinalState * |
fs | ) |
|
|
virtual |
Implements G4INCL::IChannel.
Definition at line 57 of file G4INCLPiNToEtaChannel.cc.
57 {
63 } else {
66 }
67
68
70
71 if (iso == 1) {
73 }
74 else if (iso == -1) {
76 }
81 G4double en=(sh*sh+mn*mn-me*me)/(2*sh);
83 G4double ee=std::sqrt(en*en-mn*mn+me*me);
86
87
88
89
91
98
99 if (ECM < 1650.) {
100
101
102 G4double f1= -0.0000288627*ECM*ECM+0.09155289*ECM-72.25436;
103 G4double b1=(f1-(f1/(1.5-0.5*std::pow((ECM-1580.)/95.,2))))/2.;
106
108
110 while (passe1==0) {
111
114
115
117 fteta=(a1*x1*x1+b1*x1+c1)/interg1;
118
119 if (u1*f1/interg1 < fteta) {
120 teta=std::acos(x1);
121 passe1=1;
122 }
123 }
124 }
125 else {
126
127
133
134 G4double interg2=0.1716182902205207;
136
138 while (passe2==0) {
139
142
143
145 fteta=((a2*x1*x1+b2*x1+c2)*(0.5+(std::atan(10*(x1+dev)))/
pi) + vert)/interg2;
146
147 if (u1*f2 < fteta) {
148 teta=std::acos(x1);
149 passe2=1;
150 }
151 }
152 }
153
155
156 ThreeVector mom_nucleon(
157 pn*std::sin(teta)*std::cos(fi),
158 pn*std::sin(teta)*std::sin(fi),
160 );
161
162
163 nucleon->setMomentum(-mom_nucleon);
164 pion->setMomentum(mom_nucleon);
165
166 fs->addModifiedParticle(
nucleon);
167 fs->addModifiedParticle(
pion);
168 }
static constexpr double pi
G4double totalEnergyInCM(Particle const *const p1, Particle const *const p2)
G4int getIsospin(const ParticleType t)
Get the isospin of a particle.
G4bool nucleon(G4int ityp)
References G4INCL::FinalState::addModifiedParticle(), G4INCL::Eta, G4INCL::ParticleTable::getIsospin(), G4INCL::Particle::isNucleon(), G4INCL::Neutron, G4InuclParticleNames::nucleon(), particle1, particle2, pi, G4InuclParticleNames::pion(), G4InuclParticleNames::pn, G4INCL::Proton, G4INCL::Random::shoot(), and G4INCL::KinematicsUtils::totalEnergyInCM().
◆ getFinalState()
◆ INCL_DECLARE_ALLOCATION_POOL()
◆ particle1
Particle* G4INCL::PiNToEtaChannel::particle1 |
|
private |
◆ particle2
Particle * G4INCL::PiNToEtaChannel::particle2 |
|
private |
The documentation for this class was generated from the following files: