G4AnnihilationCrossSection Class Reference

#include <G4AnnihilationCrossSection.hh>


Public Member Functions

 G4AnnihilationCrossSection ()
G4double GetCrossSection (int aCode, int bCode, G4double S)


Detailed Description

Definition at line 33 of file G4AnnihilationCrossSection.hh.


Constructor & Destructor Documentation

G4AnnihilationCrossSection::G4AnnihilationCrossSection (  ) 

Definition at line 31 of file G4AnnihilationCrossSection.cc.

00032 {
00033         // pi+ p
00034         theDataSets.push_back(new G4ASCCrossSection(211,  2212, 13.7, 27.8, 0.45, 0.079));
00035         // pi+ n
00036         theDataSets.push_back(new G4ASCCrossSection(211,  2112, 13.7, 27.8, 0.45, 0.079));
00037         // pi- p
00038         theDataSets.push_back(new G4ASCCrossSection(-211,  2212, 13.7, 35.9, 0.45, 0.079));
00039         // pi- n
00040         theDataSets.push_back(new G4ASCCrossSection(-211,  2112, 13.7, 35.9, 0.45, 0.079));
00041         // pi0 p
00042         theDataSets.push_back(new G4ASCCrossSection(111,  2212, 13.7, 35.9, 0.45, 0.079));
00043         // pi0 n
00044         theDataSets.push_back(new G4ASCCrossSection(111,  2112, 13.7, 35.9, 0.45, 0.079));
00045         // K-  p
00046         theDataSets.push_back(new G4ASCCrossSection(-321,  2212, 12.2, 26.4, 0.50, 0.079));
00047         // K-  n
00048         theDataSets.push_back(new G4ASCCrossSection(-321,  2112, 12.2, 26.4, 0.50, 0.079));
00049         // K0  p
00050         theDataSets.push_back(new G4ASCCrossSection(-311,  2212, 12.2, 26.4, 0.50, 0.079));
00051         // K0  n
00052         theDataSets.push_back(new G4ASCCrossSection(-311,  2112, 12.2, 26.4, 0.50, 0.079));
00053         // p-  p
00054         theDataSets.push_back(new G4ASCCrossSection(-2212,  2212, 22.0, 98.2, 0.46, 0.079));
00055         // p-  n
00056         theDataSets.push_back(new G4ASCCrossSection(-2212,  2112, 22.3, 92.7, 0.46, 0.079));
00057         // n-  n
00058         theDataSets.push_back(new G4ASCCrossSection(-2112,  2112, 22.0, 98.2, 0.46, 0.079));
00059         // n-  p
00060         theDataSets.push_back(new G4ASCCrossSection(-2112,  2212, 22.3, 92.7, 0.46, 0.079));
00061         // gamma+n and gamma+p
00062         theDataSets.push_back(new G4GammaAnnCrossSection);
00063 }


Member Function Documentation

G4double G4AnnihilationCrossSection::GetCrossSection ( int  aCode,
int  bCode,
G4double  S 
) [inline]

Definition at line 44 of file G4AnnihilationCrossSection.hh.

00045 {
00046         G4double result = 0.;
00047         typedef std::vector<G4VAnnihilationCrossSection*>::iterator iter;
00048         iter i;
00049         for(i=theDataSets.begin(); i!=theDataSets.end(); i++)
00050         {
00051                 if((*i)->InCharge(aCode, bCode))
00052                 {
00053                         result = (*i)->GetXsec(S);
00054                         break;
00055                 }
00056         }
00057         return result;
00058 }


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