#include <G4InteractionCase.hh>
Public Member Functions | |
G4InteractionCase () | |
G4InteractionCase (G4InuclParticle *part1, G4InuclParticle *part2) | |
void | set (G4InuclParticle *part1, G4InuclParticle *part2) |
void | clear () |
G4InuclParticle * | getBullet () const |
G4InuclParticle * | getTarget () const |
G4bool | valid () const |
G4bool | twoNuclei () const |
G4bool | hadNucleus () const |
G4int | hadrons () const |
G4int | code () const |
Definition at line 40 of file G4InteractionCase.hh.
G4InteractionCase::G4InteractionCase | ( | ) | [inline] |
G4InteractionCase::G4InteractionCase | ( | G4InuclParticle * | part1, | |
G4InuclParticle * | part2 | |||
) | [inline] |
Definition at line 44 of file G4InteractionCase.hh.
References set().
00044 { 00045 set(part1, part2); 00046 }
void G4InteractionCase::clear | ( | ) | [inline] |
G4int G4InteractionCase::code | ( | ) | const [inline] |
Definition at line 65 of file G4InteractionCase.hh.
Referenced by G4InuclCollider::collide(), and G4IntraNucleiCascader::newCascade().
G4InuclParticle* G4InteractionCase::getBullet | ( | ) | const [inline] |
Definition at line 55 of file G4InteractionCase.hh.
Referenced by G4InuclCollider::collide(), G4IntraNucleiCascader::finishCascade(), G4IntraNucleiCascader::generateCascade(), and G4IntraNucleiCascader::initialize().
G4InuclParticle* G4InteractionCase::getTarget | ( | ) | const [inline] |
Definition at line 56 of file G4InteractionCase.hh.
Referenced by G4InuclCollider::collide(), G4IntraNucleiCascader::finishCascade(), G4IntraNucleiCascader::generateCascade(), and G4IntraNucleiCascader::initialize().
G4bool G4InteractionCase::hadNucleus | ( | ) | const [inline] |
Definition at line 61 of file G4InteractionCase.hh.
Referenced by G4InuclCollider::collide(), and G4IntraNucleiCascader::setupCascade().
G4int G4InteractionCase::hadrons | ( | ) | const [inline] |
Definition at line 62 of file G4InteractionCase.hh.
Referenced by G4ElementaryParticleCollider::collide().
void G4InteractionCase::set | ( | G4InuclParticle * | part1, | |
G4InuclParticle * | part2 | |||
) |
Definition at line 39 of file G4InteractionCase.cc.
References clear(), and G4InuclNuclei::getA().
Referenced by G4InuclCollider::collide(), G4ElementaryParticleCollider::collide(), G4InteractionCase(), and G4IntraNucleiCascader::initialize().
00040 { 00041 clear(); // Reset everything in case of failure 00042 00043 // See which one of the two (or both) is a nucleus 00044 G4InuclNuclei* nucl1 = dynamic_cast<G4InuclNuclei*>(part1); 00045 G4InuclNuclei* nucl2 = dynamic_cast<G4InuclNuclei*>(part2); 00046 00047 G4InuclElementaryParticle* had1 = dynamic_cast<G4InuclElementaryParticle*>(part1); 00048 G4InuclElementaryParticle* had2 = dynamic_cast<G4InuclElementaryParticle*>(part2); 00049 00050 if (nucl1 && nucl2) { // Nuclear collision, lighter is projectile 00051 inter_case = -2; 00052 if (nucl2->getA() >= nucl1->getA()) { 00053 bullet = part1; 00054 target = part2; 00055 } else { 00056 bullet = part2; 00057 target = part1; 00058 } 00059 } else if (nucl1 || nucl2) { // Hadron on nucleus, hadron projectile 00060 inter_case = -1; 00061 if (nucl1 && had2) { 00062 bullet = part2; 00063 target = part1; 00064 } else { 00065 bullet = part1; 00066 target = part2; 00067 } 00068 } else if (had1 && had2) { // Hadron-hadron interaction, order irrelevant 00069 inter_case = had1->type() * had2->type(); 00070 bullet = part1; 00071 target = part2; 00072 } 00073 }
G4bool G4InteractionCase::twoNuclei | ( | ) | const [inline] |
G4bool G4InteractionCase::valid | ( | ) | const [inline] |