#include <G4CollisionnpElastic.hh>
Inheritance diagram for G4CollisionnpElastic:
Public Member Functions | |
G4CollisionnpElastic () | |
virtual | ~G4CollisionnpElastic () |
G4bool | operator== (const G4CollisionnpElastic &right) const |
G4bool | operator!= (const G4CollisionnpElastic &right) const |
virtual G4bool | IsInCharge (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const |
virtual G4String | GetName () const |
Protected Member Functions | |
virtual const G4VCrossSectionSource * | GetCrossSectionSource () const |
virtual const G4VAngularDistribution * | GetAngularDistribution () const |
virtual const std::vector< G4String > & | GetListOfColliders (G4int whichOne) const |
Definition at line 42 of file G4CollisionnpElastic.hh.
G4CollisionnpElastic::G4CollisionnpElastic | ( | ) |
Definition at line 42 of file G4CollisionnpElastic.cc.
References G4ParticleDefinition::GetParticleSubType(), G4Neutron::NeutronDefinition(), and G4Proton::ProtonDefinition().
00043 { 00044 // Subtype of interacting particles 00045 G4String subType1 = G4Proton::ProtonDefinition()->GetParticleSubType(); 00046 G4String subType2 = G4Neutron::NeutronDefinition()->GetParticleSubType(); 00047 00048 colliders1.push_back(subType1); 00049 colliders2.push_back(subType2); 00050 00051 // angularDistribution = new G4AngularDistribution(true); 00052 angularDistribution = new G4AngularDistributionNP(); 00053 crossSectionSource = new G4XnpElastic(); 00054 }
G4CollisionnpElastic::~G4CollisionnpElastic | ( | ) | [virtual] |
virtual const G4VAngularDistribution* G4CollisionnpElastic::GetAngularDistribution | ( | ) | const [inline, protected, virtual] |
virtual const G4VCrossSectionSource* G4CollisionnpElastic::GetCrossSectionSource | ( | ) | const [inline, protected, virtual] |
const std::vector< G4String > & G4CollisionnpElastic::GetListOfColliders | ( | G4int | whichOne | ) | const [protected, virtual] |
Implements G4VCollision.
Definition at line 84 of file G4CollisionnpElastic.cc.
00085 { 00086 if (whichOne == 1) { 00087 return colliders1; 00088 } else if (whichOne == 2) { 00089 return colliders2; 00090 } 00091 00092 throw G4HadronicException(__FILE__, __LINE__, "G4CollisionnpElastic::GetListOfColliders - Argument outside valid range"); 00093 }
virtual G4String G4CollisionnpElastic::GetName | ( | ) | const [inline, virtual] |
G4bool G4CollisionnpElastic::IsInCharge | ( | const G4KineticTrack & | trk1, | |
const G4KineticTrack & | trk2 | |||
) | const [virtual] |
Implements G4VCollision.
Definition at line 64 of file G4CollisionnpElastic.cc.
References G4KineticTrack::GetDefinition(), G4Neutron::NeutronDefinition(), and G4Proton::ProtonDefinition().
00066 { 00067 G4bool isInCharge = false; 00068 00069 G4ParticleDefinition* def1 = trk1.GetDefinition(); 00070 G4ParticleDefinition* def2 = trk2.GetDefinition(); 00071 00072 if ( (def1 == G4Neutron::NeutronDefinition() && 00073 def2 == G4Proton::ProtonDefinition() ) 00074 || 00075 (def1 == G4Proton::ProtonDefinition() && 00076 def2 == G4Neutron::NeutronDefinition() ) ) 00077 { 00078 isInCharge = true; 00079 } 00080 return isInCharge; 00081 }
G4bool G4CollisionnpElastic::operator!= | ( | const G4CollisionnpElastic & | right | ) | const |
G4bool G4CollisionnpElastic::operator== | ( | const G4CollisionnpElastic & | right | ) | const |