G4CollisionnpElastic Class Reference

#include <G4CollisionnpElastic.hh>

Inheritance diagram for G4CollisionnpElastic:

G4VElasticCollision G4VCollision

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

Detailed Description

Definition at line 42 of file G4CollisionnpElastic.hh.


Constructor & Destructor Documentation

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]

Definition at line 57 of file G4CollisionnpElastic.cc.

00058 { 
00059   delete angularDistribution;
00060   delete crossSectionSource;
00061 }


Member Function Documentation

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

Implements G4VCollision.

Definition at line 66 of file G4CollisionnpElastic.hh.

00066 { return angularDistribution; }

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

Implements G4VCollision.

Definition at line 65 of file G4CollisionnpElastic.hh.

00065 { return crossSectionSource; }

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]

Implements G4VCollision.

Definition at line 57 of file G4CollisionnpElastic.hh.

00057 { return "np Elastic Collision"; }

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


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