65G4PiMinusAbsorptionAtRest::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;
std::vector< G4DynamicParticle * > G4DynamicParticleVector
std::vector< G4Element * > G4ElementVector
#define G4HadronicDeprecate(name)
std::vector< G4ReactionProduct * > G4ReactionProductVector
G4DLLIMPORT std::ostream G4cerr
G4DLLIMPORT std::ostream G4cout
G4ParticleDefinition * GetDefinition() const
G4double GetTotalEnergy() const
void DeRegisterExtraProcess(G4VProcess *)
void RegisterExtraProcess(G4VProcess *)
void RegisterParticleForExtraProcess(G4VProcess *, const G4ParticleDefinition *)
static G4HadronicProcessStore * Instance()
void PrintInfo(const G4ParticleDefinition *)
const G4ElementVector * GetElementVector() const
const G4double * GetFractionVector() const
size_t GetNumberOfElements() const
void AddSecondary(G4Track *aSecondary)
virtual void Initialize(const G4Track &)
G4double GetGlobalTime(G4double timeDelay=0.0) const
void BuildPhysicsTable(const G4ParticleDefinition &)
G4VParticleChange * AtRestDoIt(const G4Track &aTrack, const G4Step &aStep)
~G4PiMinusAbsorptionAtRest()
G4bool IsApplicable(const G4ParticleDefinition &particle)
void PreparePhysicsTable(const G4ParticleDefinition &)
void SetDeexcitationAlgorithm(G4int index)
G4DynamicParticleVector * DoAbsorption()
G4ThreeVector RecoilMomentum()
void SetVerboseLevel(G4int level)
G4ReactionProductVector * DoBreakUp(G4double A, G4double Z, G4double excitation, const G4ThreeVector &p) const
G4Material * GetMaterial() const
const G4DynamicParticle * GetDynamicParticle() const
void ProposeTrackStatus(G4TrackStatus status)
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
void SetNumberOfSecondaries(G4int totSecondaries)
G4ParticleChange aParticleChange
void SetProcessSubType(G4int)
const G4String & GetProcessName() const
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)