#include <G4CollisionNNElastic.hh>
Inheritance diagram for G4CollisionNNElastic:
Public Member Functions | |
G4CollisionNNElastic () | |
virtual | ~G4CollisionNNElastic () |
G4bool | operator== (const G4CollisionNNElastic &right) const |
G4bool | operator!= (const G4CollisionNNElastic &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 G4CollisionNNElastic.hh.
G4CollisionNNElastic::G4CollisionNNElastic | ( | ) |
Definition at line 43 of file G4CollisionNNElastic.cc.
References G4ParticleDefinition::GetParticleSubType(), G4Neutron::NeutronDefinition(), and G4Proton::ProtonDefinition().
00044 { 00045 // Subtype of interacting particles 00046 G4String subType1 = G4Proton::ProtonDefinition()->GetParticleSubType(); 00047 G4String subType2 = G4Neutron::NeutronDefinition()->GetParticleSubType(); 00048 00049 colliders1.push_back(subType1); 00050 colliders2.push_back(subType2); 00051 00052 angularDistribution = new G4AngularDistributionPP(); 00053 crossSectionSource = new G4XNNElastic(); 00054 }
G4CollisionNNElastic::~G4CollisionNNElastic | ( | ) | [virtual] |
Definition at line 57 of file G4CollisionNNElastic.cc.
00058 { 00059 delete angularDistribution; 00060 angularDistribution = 0; 00061 delete crossSectionSource; 00062 crossSectionSource = 0; 00063 }
virtual const G4VAngularDistribution* G4CollisionNNElastic::GetAngularDistribution | ( | ) | const [inline, protected, virtual] |
virtual const G4VCrossSectionSource* G4CollisionNNElastic::GetCrossSectionSource | ( | ) | const [inline, protected, virtual] |
const std::vector< G4String > & G4CollisionNNElastic::GetListOfColliders | ( | G4int | whichOne | ) | const [protected, virtual] |
Implements G4VCollision.
Definition at line 86 of file G4CollisionNNElastic.cc.
00087 { 00088 if (whichOne == 1) { 00089 return colliders1; 00090 }else if (whichOne == 2) { 00091 return colliders2; 00092 } 00093 throw G4HadronicException(__FILE__, __LINE__, "G4CollisionNNElastic::GetListOfColliders - Argument outside valid range"); 00094 }
virtual G4String G4CollisionNNElastic::GetName | ( | ) | const [inline, virtual] |
G4bool G4CollisionNNElastic::IsInCharge | ( | const G4KineticTrack & | trk1, | |
const G4KineticTrack & | trk2 | |||
) | const [virtual] |
Implements G4VCollision.
Definition at line 66 of file G4CollisionNNElastic.cc.
References G4KineticTrack::GetDefinition(), G4Neutron::NeutronDefinition(), and G4Proton::ProtonDefinition().
00068 { 00069 G4bool isInCharge = false; 00070 00071 G4ParticleDefinition* def1 = trk1.GetDefinition(); 00072 G4ParticleDefinition* def2 = trk2.GetDefinition(); 00073 00074 if ( (def1 == G4Proton::ProtonDefinition() && 00075 def2 == G4Proton::ProtonDefinition() ) 00076 || 00077 (def1 == G4Neutron::NeutronDefinition() && 00078 def2 == G4Neutron::NeutronDefinition() ) ) 00079 { 00080 isInCharge = true; 00081 } 00082 return isInCharge; 00083 }
G4bool G4CollisionNNElastic::operator!= | ( | const G4CollisionNNElastic & | right | ) | const |
G4bool G4CollisionNNElastic::operator== | ( | const G4CollisionNNElastic & | right | ) | const |