#include <G4NRESP71M03.hh>
|
| G4NRESP71M03 () |
|
| ~G4NRESP71M03 () |
|
void | DKINMA (G4ReactionProduct *p1, G4ReactionProduct *p2, G4ReactionProduct *p3, G4ReactionProduct *p4, const G4double Q, const G4double costhcm3) |
|
G4int | ApplyMechanismI_NBeA2A (G4ReactionProduct &neut, G4ReactionProduct &carb, G4ReactionProduct *theProds, const G4double QI) |
|
G4int | ApplyMechanismII_ACN2A (G4ReactionProduct &neut, G4ReactionProduct &carb, G4ReactionProduct *theProds, const G4double QI) |
|
G4int | ApplyMechanismABE (G4ReactionProduct &neut, G4ReactionProduct &carb, G4ReactionProduct *theProds) |
|
Definition at line 36 of file G4NRESP71M03.hh.
◆ G4NRESP71M03()
G4NRESP71M03::G4NRESP71M03 |
( |
| ) |
|
|
inline |
◆ ~G4NRESP71M03()
G4NRESP71M03::~G4NRESP71M03 |
( |
| ) |
|
|
inline |
◆ ApplyMechanismABE()
Definition at line 202 of file G4NRESP71M03.cc.
203 {
205
207 if ( Kn > 5.7*MeV )
208 {
209
210 for (
G4int i=1; i<ndist; i++ )
211 {
212 if ( BEN2[i] >= Kn/keV )
213 {
214
217
218
219
223
224
225
228
229 G4double TCM1 = B11+(B12-B11)*DJTETA;
230
231
232
235
236 G4double TCM2 = B21+(B22-B21)*DJTETA;
237
238
239 G4double TCM = (TCM1+(TCM2-TCM1)*(Kn/keV-BE1)/(BE2-BE1))*1.E-4;
240 CosThetaCMAlpha = std::cos(TCM);
241
242 break;
243 }
244 }
245 }
246 else
247 {
248
250 }
251
252
255
256 DKINMA(&neut, &carb, &(theProds[0]), &(theProds[1]), -5.71*MeV, CosThetaCMAlpha);
257
258 return 0;
259 }
static G4IonTable * GetIonTable()
void DKINMA(G4ReactionProduct *p1, G4ReactionProduct *p2, G4ReactionProduct *p3, G4ReactionProduct *p4, const G4double Q, const G4double costhcm3)
G4double GetKineticEnergy() const
void SetDefinition(const G4ParticleDefinition *aParticleDefinition)
◆ ApplyMechanismI_NBeA2A()
Definition at line 147 of file G4NRESP71M03.cc.
148 {
149
151
153
155
156
158
160
162
163
164 p1 = p4;
165
168
169 DKINMA(&p1, NULL, &(theProds[2]), &(theProds[3]), 0.09538798439007223351, 2.*
G4UniformRand()-1.);
170
171 return 0;
172 }
static G4Neutron * Neutron()
◆ ApplyMechanismII_ACN2A()
Definition at line 175 of file G4NRESP71M03.cc.
176 {
177
179
181
183
184
186
188
190
191
192 p1 = p4;
193
196
197 DKINMA(&p1, NULL, &(theProds[2]), &(theProds[3]), 0.09538798439007223351, 2.*
G4UniformRand()-1.);
198
199 return 0;
200 }
◆ DKINMA()
Definition at line 76 of file G4NRESP71M03.cc.
77 {
80
81 if ( p2 )
82 {
83
86
89
90 CM.
SetMass(std::sqrt(TotalEnergyLAB*TotalEnergyLAB-TotalMomentumLAB*TotalMomentumLAB));
91
92
95
97
100 }
101 else
102 {
105
108
109 CM.
SetMass(std::sqrt(TotalEnergyLAB*TotalEnergyLAB-TotalMomentumLAB*TotalMomentumLAB));
110
111
113
116
118 }
119
120
121
123
125 rot.inverse();
126
127 const G4double theta = std::acos(costhcm3);
129
130 const G4double Energy3CM = (std::pow(TotalEnergyCM, 2.)+std::pow(p3->
GetMass(), 2.)-std::pow(p4->
GetMass(), 2.))/(2.*TotalEnergyCM);
132
133 const G4double Momentum3CM = std::sqrt(std::pow(Energy3CM, 2.)-std::pow(p3->
GetMass(), 2.));
134 p3->
SetMomentum(rot*
G4ThreeVector(Momentum3CM*std::sin(theta)*std::cos(phi), Momentum3CM*std::sin(theta)*std::sin(phi), Momentum3CM*costhcm3));
135
136 const G4double Energy4CM = TotalEnergyCM-Energy3CM;
138
139 const G4double Momentum4CM = std::sqrt(std::pow(Energy4CM, 2.)-std::pow(p4->
GetMass(), 2.));
141
142
145 }
CLHEP::Hep3Vector G4ThreeVector
void SetMomentum(const G4double x, const G4double y, const G4double z)
void SetTotalEnergy(const G4double en)
G4double GetTotalEnergy() const
G4ThreeVector GetMomentum() const
void Lorentz(const G4ReactionProduct &p1, const G4ReactionProduct &p2)
void SetMass(const G4double mas)
Referenced by ApplyMechanismABE(), ApplyMechanismI_NBeA2A(), and ApplyMechanismII_ACN2A().
The documentation for this class was generated from the following files: