Geant4  10.02.p03
G4CollisionNNElastic Class Reference

#include <G4CollisionNNElastic.hh>

Inheritance diagram for G4CollisionNNElastic:
Collaboration 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
 
- Public Member Functions inherited from G4VElasticCollision
 G4VElasticCollision ()
 
virtual ~G4VElasticCollision ()
 
G4bool operator== (const G4VElasticCollision &right) const
 
G4bool operator!= (const G4VElasticCollision &right) const
 
virtual G4KineticTrackVectorFinalState (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
- Public Member Functions inherited from G4VCollision
 G4VCollision ()
 
void establish_G4MT_TLS_G4VCollision ()
 
 G4VCollision (void *s1, void *s2, void *s3, void *s4, void *s5, void *s6, void *s7)
 
virtual ~G4VCollision ()
 
G4bool operator== (const G4VCollision &right) const
 
G4bool operator!= (const G4VCollision &right) const
 
virtual G4double CrossSection (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 
virtual void Print () const
 
virtual void Print (const G4KineticTrack &trk1, const G4KineticTrack &trk2) const
 

Protected Member Functions

virtual const G4VCrossSectionSourceGetCrossSectionSource () const
 
virtual const G4VAngularDistributionGetAngularDistribution () const
 
virtual const std::vector< G4String > & GetListOfColliders (G4int whichOne) const
 
- Protected Member Functions inherited from G4VCollision
G4int GetNumberOfPartons (const G4ParticleDefinition *aP) const
 
virtual const G4CollisionVectorGetComponents () const
 

Private Member Functions

 G4CollisionNNElastic (const G4CollisionNNElastic &)
 
G4CollisionNNElasticoperator= (const G4CollisionNNElastic &)
 

Private Attributes

G4VCrossSectionSourcecrossSectionSource
 
G4VAngularDistributionangularDistribution
 
std::vector< G4Stringcolliders1
 
std::vector< G4Stringcolliders2
 

Detailed Description

Definition at line 42 of file G4CollisionNNElastic.hh.

Constructor & Destructor Documentation

◆ G4CollisionNNElastic() [1/2]

G4CollisionNNElastic::G4CollisionNNElastic ( )

Definition at line 43 of file G4CollisionNNElastic.cc.

44 {
45  // Subtype of interacting particles
48 
49  colliders1.push_back(subType1);
50  colliders2.push_back(subType2);
51 
54 }
G4VAngularDistribution * angularDistribution
static G4Proton * ProtonDefinition()
Definition: G4Proton.cc:88
std::vector< G4String > colliders1
std::vector< G4String > colliders2
static G4Neutron * NeutronDefinition()
Definition: G4Neutron.cc:99
G4VCrossSectionSource * crossSectionSource
const G4String & GetParticleSubType() const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~G4CollisionNNElastic()

G4CollisionNNElastic::~G4CollisionNNElastic ( )
virtual

Definition at line 57 of file G4CollisionNNElastic.cc.

58 {
59  delete angularDistribution;
61  delete crossSectionSource;
63 }
G4VAngularDistribution * angularDistribution
G4VCrossSectionSource * crossSectionSource

◆ G4CollisionNNElastic() [2/2]

G4CollisionNNElastic::G4CollisionNNElastic ( const G4CollisionNNElastic )
private

Member Function Documentation

◆ GetAngularDistribution()

virtual const G4VAngularDistribution* G4CollisionNNElastic::GetAngularDistribution ( ) const
inlineprotectedvirtual

Implements G4VCollision.

Definition at line 66 of file G4CollisionNNElastic.hh.

66 { return angularDistribution; }
G4VAngularDistribution * angularDistribution
Here is the call graph for this function:

◆ GetCrossSectionSource()

virtual const G4VCrossSectionSource* G4CollisionNNElastic::GetCrossSectionSource ( ) const
inlineprotectedvirtual

Implements G4VCollision.

Definition at line 65 of file G4CollisionNNElastic.hh.

65 { return crossSectionSource; }
G4VCrossSectionSource * crossSectionSource

◆ GetListOfColliders()

const std::vector< G4String > & G4CollisionNNElastic::GetListOfColliders ( G4int  whichOne) const
protectedvirtual

Implements G4VCollision.

Definition at line 86 of file G4CollisionNNElastic.cc.

87 {
88  if (whichOne == 1) {
89  return colliders1;
90  }else if (whichOne == 2) {
91  return colliders2;
92  }
93  throw G4HadronicException(__FILE__, __LINE__, "G4CollisionNNElastic::GetListOfColliders - Argument outside valid range");
94 }
std::vector< G4String > colliders1
std::vector< G4String > colliders2
Here is the caller graph for this function:

◆ GetName()

virtual G4String G4CollisionNNElastic::GetName ( void  ) const
inlinevirtual

Implements G4VCollision.

Definition at line 57 of file G4CollisionNNElastic.hh.

57 { return "NN Elastic Collision"; }
Here is the call graph for this function:

◆ IsInCharge()

G4bool G4CollisionNNElastic::IsInCharge ( const G4KineticTrack trk1,
const G4KineticTrack trk2 
) const
virtual

Implements G4VCollision.

Definition at line 66 of file G4CollisionNNElastic.cc.

68 {
69  G4bool isInCharge = false;
70 
71  const G4ParticleDefinition* def1 = trk1.GetDefinition();
72  const G4ParticleDefinition* def2 = trk2.GetDefinition();
73 
74  if ( (def1 == G4Proton::ProtonDefinition() &&
75  def2 == G4Proton::ProtonDefinition() )
76  ||
77  (def1 == G4Neutron::NeutronDefinition() &&
78  def2 == G4Neutron::NeutronDefinition() ) )
79  {
80  isInCharge = true;
81  }
82  return isInCharge;
83 }
const G4ParticleDefinition * GetDefinition() const
static G4Proton * ProtonDefinition()
Definition: G4Proton.cc:88
bool G4bool
Definition: G4Types.hh:79
static G4Neutron * NeutronDefinition()
Definition: G4Neutron.cc:99
Here is the call graph for this function:

◆ operator!=()

G4bool G4CollisionNNElastic::operator!= ( const G4CollisionNNElastic right) const

◆ operator=()

G4CollisionNNElastic& G4CollisionNNElastic::operator= ( const G4CollisionNNElastic )
private
Here is the caller graph for this function:

◆ operator==()

G4bool G4CollisionNNElastic::operator== ( const G4CollisionNNElastic right) const

Member Data Documentation

◆ angularDistribution

G4VAngularDistribution* G4CollisionNNElastic::angularDistribution
private

Definition at line 74 of file G4CollisionNNElastic.hh.

◆ colliders1

std::vector<G4String> G4CollisionNNElastic::colliders1
private

Definition at line 76 of file G4CollisionNNElastic.hh.

◆ colliders2

std::vector<G4String> G4CollisionNNElastic::colliders2
private

Definition at line 77 of file G4CollisionNNElastic.hh.

◆ crossSectionSource

G4VCrossSectionSource* G4CollisionNNElastic::crossSectionSource
private

Definition at line 73 of file G4CollisionNNElastic.hh.


The documentation for this class was generated from the following files: