G4CollisionNNElastic Class Reference

#include <G4CollisionNNElastic.hh>

Inheritance diagram for G4CollisionNNElastic:

G4VElasticCollision G4VCollision

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 G4VCrossSectionSourceGetCrossSectionSource () const
virtual const G4VAngularDistributionGetAngularDistribution () const
virtual const std::vector<
G4String > & 
GetListOfColliders (G4int whichOne) const

Detailed Description

Definition at line 42 of file G4CollisionNNElastic.hh.


Constructor & Destructor Documentation

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 }


Member Function Documentation

virtual const G4VAngularDistribution* G4CollisionNNElastic::GetAngularDistribution (  )  const [inline, protected, virtual]

Implements G4VCollision.

Definition at line 66 of file G4CollisionNNElastic.hh.

00066 { return angularDistribution; }

virtual const G4VCrossSectionSource* G4CollisionNNElastic::GetCrossSectionSource (  )  const [inline, protected, virtual]

Implements G4VCollision.

Definition at line 65 of file G4CollisionNNElastic.hh.

00065 { return crossSectionSource; }

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]

Implements G4VCollision.

Definition at line 57 of file G4CollisionNNElastic.hh.

00057 { return "NN Elastic Collision"; }

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


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:39 2013 for Geant4 by  doxygen 1.4.7