#include <G4BigBanger.hh>
|
virtual G4bool | explosion (const G4Fragment &target) const |
|
virtual G4bool | explosion (G4int A, G4int Z, G4double excitation) const |
|
virtual G4bool | validateOutput (const G4Fragment &target, G4CollisionOutput &output) |
|
virtual G4bool | validateOutput (const G4Fragment &target, const std::vector< G4InuclElementaryParticle > &particles) |
|
virtual G4bool | validateOutput (const G4Fragment &target, const std::vector< G4InuclNuclei > &fragments) |
|
void | getTargetData (const G4Fragment &target) |
|
const G4Fragment & | makeFragment (G4LorentzVector mom, G4int A, G4int Z, G4double EX=0.) |
|
const G4Fragment & | makeFragment (G4int A, G4int Z, G4double EX=0.) |
|
virtual void | setName (const G4String &name) |
|
G4CascadeCheckBalance * | balance |
|
G4int | A |
|
G4int | Z |
|
G4LorentzVector | PEX |
|
G4double | EEXS |
|
G4Fragment | aFragment |
|
G4String | theName |
|
G4int | verboseLevel |
|
Definition at line 48 of file G4BigBanger.hh.
◆ G4BigBanger() [1/2]
G4BigBanger::G4BigBanger |
( |
| ) |
|
Definition at line 67 of file G4BigBanger.cc.
G4CascadeDeexciteBase(const char *name)
◆ ~G4BigBanger()
virtual G4BigBanger::~G4BigBanger |
( |
| ) |
|
|
inlinevirtual |
◆ G4BigBanger() [2/2]
◆ deExcite()
Implements G4VCascadeDeexcitation.
Definition at line 69 of file G4BigBanger.cc.
78 if (etot < 0.0) etot = 0.0;
81 G4cout <<
" BigBanger: target\n" << target
82 <<
"\n etot " << etot <<
G4endl;
87 PEXrest.
boost(-toTheLabFrame);
88 G4cout <<
" target rest frame: px " << PEXrest.
px() <<
" py " 89 << PEXrest.
py() <<
" pz " << PEXrest.
pz() <<
" E " << PEXrest.
e()
102 G4cerr <<
" >>> G4BigBanger unable to process fragment " 120 mom.
boost(toTheLabFrame);
123 ipart->setMomentum(mom);
132 G4cout <<
" In SCM: total outgoing momentum " << G4endl
133 <<
" E " << totscm.
e() <<
" px " << totscm.
x()
134 <<
" py " << totscm.
y() <<
" pz " << totscm.
z() <<
G4endl;
135 G4cout <<
" In Lab: mom cons " << G4endl
136 <<
" E " <<
PEX.
e() - totlab.
e()
137 <<
" px " <<
PEX.
x() - totlab.
x()
138 <<
" py " <<
PEX.
y() - totlab.
y()
142 globalOutput.addOutgoingParticles(
particles);
std::vector< G4InuclElementaryParticle > particles
void getTargetData(const G4Fragment &target)
G4GLOB_DLL std::ostream G4cout
HepLorentzVector & boost(double, double, double)
Hep3Vector boostVector() const
void generateBangInSCM(G4double etot, G4int a, G4int z)
std::vector< G4InuclElementaryParticle >::iterator particleIterator
virtual G4bool validateOutput(const G4Fragment &target, G4CollisionOutput &output)
G4GLOB_DLL std::ostream G4cerr
◆ generateBangInSCM()
Definition at line 145 of file G4BigBanger.cc.
147 G4cout <<
" >>> G4BigBanger::generateBangInSCM" <<
G4endl;
151 const G4int itry_max = 1000;
160 G4int knd = (
z>0) ? 1 : 2;
173 while(bad && itry < itry_max) {
187 for(
G4int i = 0; i <
a-2; i++) {
202 if(std::fabs(ct) < ang_cut) {
208 G4double a_tr = std::sqrt(apr.
x()*apr.
x() + apr.
y()*apr.
y());
210 mom.
setX(mom2.
z()*apr.
x() + ( mom2.
x()*apr.
y() + mom2.
y()*apr.
z()*apr.
x())/a_tr);
211 mom.setY(mom2.
z()*apr.
y() + (-mom2.
x()*apr.
x() + mom2.
y()*apr.
z()*apr.
y())/a_tr);
212 mom.setZ(mom2.
z()*apr.
z() - mom2.
y()*a_tr);
227 for(
G4int i = 0; i <
a; i++) {
228 G4int knd = i <
z ? 1 : 2;
234 if (itry == itry_max)
G4cout <<
" BigBanger -> can not generate bang " <<
G4endl;
std::vector< G4InuclElementaryParticle > particles
void generateMomentumModules(G4double etot, G4int a, G4int z)
G4GLOB_DLL std::ostream G4cout
std::vector< G4LorentzVector > scm_momentums
std::vector< G4double > momModules
◆ generateMomentumModules()
Definition at line 240 of file G4BigBanger.cc.
242 G4cout <<
" >>> G4BigBanger::generateMomentumModules" <<
G4endl;
257 for(
G4int i = 0; i <
a; i++) {
271 for(
G4int i = 0; i <
a; i++) {
static G4double getParticleMass(G4int type)
G4GLOB_DLL std::ostream G4cout
std::vector< G4double > momModules
G4double generateX(G4int ia, G4double promax) const
G4double maxProbability(G4int a) const
◆ generateX()
Definition at line 313 of file G4BigBanger.cc.
316 const G4int itry_max = 1000;
320 while(itry < itry_max) {
327 G4cout <<
" BigBanger -> can not generate x " <<
G4endl;
G4GLOB_DLL std::ostream G4cout
G4double xProbability(G4double x, G4int a) const
G4double maxProbability(G4int a) const
◆ maxProbability()
Definition at line 305 of file G4BigBanger.cc.
G4GLOB_DLL std::ostream G4cout
G4double xProbability(G4double x, G4int a) const
◆ operator=()
◆ xProbability()
Definition at line 285 of file G4BigBanger.cc.
291 if(x < 1.0 || x > 0.0) {
295 ekpr *= std::sqrt(1.0 - x) * theG4Pow->
powN((1.0 - x), (3*
a-6)/2);
298 ekpr *= theG4Pow->
powN((1.0 - x), (3*
a-5)/2);
static G4Pow * GetInstance()
G4double powN(G4double x, G4int n) const
G4GLOB_DLL std::ostream G4cout
◆ momModules
std::vector<G4double> G4BigBanger::momModules |
|
private |
◆ particles
◆ scm_momentums
The documentation for this class was generated from the following files: