#include <G4AnnihilationCrossSection.hh>
Public Member Functions | |
G4AnnihilationCrossSection () | |
G4double | GetCrossSection (int aCode, int bCode, G4double S) |
Definition at line 33 of file G4AnnihilationCrossSection.hh.
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 }
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 }