65 G4PiMinusAbsorptionAtRest::G4PiMinusAbsorptionAtRest(
const G4String& processName,
73 _indexDeexcitation = 0;
106 <<
"G4PiMinusAbsorptionAtRest: ERROR, particle must be a pion minus!"
123 if((*theElementVector)[i]->GetZ()!=1) totalsum+=material->
GetFractionVector()[i];
128 if ( sum/totalsum > random )
130 A = (*theElementVector)[i]->GetA()*
mole/
g;
131 Z = (*theElementVector)[i]->GetZ();
150 G4Exception(
"G4PiMinusAbsorptionAtRest::AtRestDoIt()",
"HAD_STOP_0000",
163 unsigned int nAbsorptionProducts = 0;
164 if (absorptionProducts != 0)
165 { nAbsorptionProducts = absorptionProducts->size(); }
167 unsigned int nFragmentationProducts = 0;
168 if (fragmentationProducts != 0)
169 { nFragmentationProducts = fragmentationProducts->size(); }
173 G4cout <<
"nAbsorptionProducts = " << nAbsorptionProducts
174 <<
" nFragmentationProducts = " << nFragmentationProducts
183 for (i = 0; i<nAbsorptionProducts; i++)
188 for(i=0; i<nFragmentationProducts; i++)
192 (*fragmentationProducts)[i]->GetMomentum());
195 delete (*fragmentationProducts)[i];
198 if (fragmentationProducts != 0)
delete fragmentationProducts;
217 if (Z > 0 && Z < 4) {index = 3;}
218 if (Z > 3 && Z < 7) {index = 6;}
219 if (Z == 7) {index = 7;}
220 if (Z >= 8 && Z<= 11) {index = 8;}
221 if (Z >= 12 && Z<= 18) {index = 13;}
222 if (Z >=19 && Z<= 27) {index = 27;}
223 if (Z >= 28 && Z<= 51) {index = 29;}
224 if (Z >=52 ) {index = 73;}
230 {
G4cout <<
" =================== Load Li algorithm " <<
G4endl; }
234 {
G4cout <<
" =================== Load C algorithm " <<
G4endl; }
238 {
G4cout <<
" =================== Load N algorithm " <<
G4endl; }
242 {
G4cout <<
" =================== Load O algorithm " <<
G4endl; }
246 {
G4cout <<
" =================== Load Al algorithm " <<
G4endl; }
250 {
G4cout <<
" =================== Load Cu algorithm " <<
G4endl; }
254 {
G4cout <<
" =================== Load Co algorithm " <<
G4endl; }
258 {
G4cout <<
" =================== Load Ta algorithm " <<
G4endl; }
262 {
G4cout <<
" =================== Load default material algorithm " <<
G4endl; }
270 switch (_indexDeexcitation)
274 {
G4cout <<
" =================== Load Theo deexcitation " <<
G4endl; }
278 {
G4cout <<
" =================== Load Dummy deexcitation " <<
G4endl; }
282 {
G4cout <<
" =================== Load default deexcitation " <<
G4endl; }
289 _indexDeexcitation =
index;