- Timestamp:
- Apr 6, 2009, 12:30:29 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/stopping/src/G4KaonMinusAbsorptionAtRest.cc
r819 r962 43 43 #include "G4StopDeexcitationAlgorithm.hh" 44 44 #include "G4ReactionKinematics.hh" 45 #include "G4HadronicProcessStore.hh" 45 46 46 47 G4KaonMinusAbsorptionAtRest::G4KaonMinusAbsorptionAtRest(const G4String& processName, … … 51 52 G4cout << GetProcessName() << " is created "<< G4endl; 52 53 } 54 SetProcessSubType(fHadronAtRest); 53 55 54 56 // see Cohn et al, PLB27(1968) 527; … … 79 81 sigmaMinusLambdaConversionRate = 0.55; 80 82 sigmaZeroLambdaConversionRate = 0.55; 83 84 G4HadronicProcessStore::Instance()->RegisterExtraProcess(this); 81 85 } 82 86 83 87 84 88 G4KaonMinusAbsorptionAtRest::~G4KaonMinusAbsorptionAtRest() 85 { } 86 89 { 90 G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this); 91 } 92 93 void G4KaonMinusAbsorptionAtRest::PreparePhysicsTable(const G4ParticleDefinition& p) 94 { 95 G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p); 96 } 97 98 void G4KaonMinusAbsorptionAtRest::BuildPhysicsTable(const G4ParticleDefinition& p) 99 { 100 G4HadronicProcessStore::Instance()->PrintInfo(&p); 101 } 87 102 88 103 G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt … … 182 197 G4double newA = nucleus->GetN(); 183 198 184 G4double bDiff = G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(Z),static_cast<G4int>(A)) - 185 G4NucleiPropertiesTable::GetBindingEnergy(static_cast<G4int>(newZ), static_cast<G4int>(newA)); 186 187 // G4double mass = G4NucleiPropertiesTable::GetAtomicMass(static_cast<G4int>(newZ),static_cast<G4int>(newA)); 199 G4double bDiff = G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(A),static_cast<G4int>(Z)) - 200 G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(newA), static_cast<G4int>(newZ)); 201 188 202 G4double pNucleus = pProducts.mag(); 189 203 190 204 G4StopDeexcitationAlgorithm* nucleusAlgorithm = new G4StopTheoDeexcitation(); 191 205 G4StopDeexcitation stopDeexcitation(nucleusAlgorithm); 192 193 // G4double difference = G4KaonMinus::KaonMinus()->GetPDGMass() - productEnergy - bDiff;194 206 195 207 nucleus->AddExcitationEnergy(bDiff); … … 397 409 // Modify the Kaon mass to take nuclear binding energy into account 398 410 // .. using mas formula .. 399 // G4double nucleonBindingEnergy = nucleus->AtomicMass(iniA,iniZ)400 // - nucleus->AtomicMass(newA,newZ)401 // - nucleonMass;402 411 // .. using mass table .. 403 // G4double nucleonBindingEnergy =404 // G4NucleiPropertiesTable::GetAtomicMass(iniZ,iniA)405 // -G4NucleiPropertiesTable::GetAtomicMass(newZ,newA)406 // -nucleonMass;407 412 // equivalent to -'initialBindingEnergy+nucleus.GetBindingEnergy' ! 408 413 409 414 G4double nucleonBindingEnergy = 410 -G4NucleiProperties Table::GetBindingEnergy(static_cast<G4int>(iniZ), static_cast<G4int>(iniA) )411 +G4NucleiProperties Table::GetBindingEnergy(static_cast<G4int>(newZ), static_cast<G4int>(newA) );415 -G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(iniA), static_cast<G4int>(iniZ) ) 416 +G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(newA), static_cast<G4int>(newZ) ); 412 417 413 418 G4DynamicParticle modifiedHadron = (*stoppedHadron); … … 523 528 // ExcitationEnergy. 524 529 // .. using mass formula .. 525 // G4double massDifference = nucleus->AtomicMass(A,Z)526 // - nucleus->AtomicMass(A,newZ)527 // - nucleonMassDifference;528 530 // .. using mass table .. 529 // G4double massDifference =530 // G4NucleiPropertiesTable::GetAtomicMass(Z,A)531 // -G4NucleiPropertiesTable::GetAtomicMass(newZ,A)532 // -nucleonMass;533 531 // equivalent to -'initialBindingEnergy+nucleus.GetBindingEnergy' ! 534 //G4double massDifference = 535 // -G4NucleiPropertiesTable::GetBindingEnergy(Z,A) 536 // +G4NucleiPropertiesTable::GetBindingEnergy(newZ,A); 537 538 532 539 533 // Add energy and momentum to nucleus, change Z,A 540 // nucleus->AddExcitationEnergy(outNucleon->GetKineticEnergy()+massDifference);541 534 nucleus->AddExcitationEnergy(outNucleon.GetKineticEnergy()); 542 535 nucleus->AddMomentum(outNucleon.GetMomentum());
Note: See TracChangeset
for help on using the changeset viewer.