Import Geant4 11.1.0.beta source tree
This commit is contained in:
@@ -354,6 +354,8 @@ G4HadFinalState * G4BinaryCascade::ApplyYourself(const G4HadProjectile & aTrack,
|
||||
if(time < 0.0) { time = 0.0; }
|
||||
aNew.SetTime(timePrimary + time);
|
||||
aNew.SetCreatorModelID((*iter)->GetCreatorModelID());
|
||||
aNew.SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
aNew.SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
theParticleChange.AddSecondary(aNew);
|
||||
}
|
||||
|
||||
@@ -697,12 +699,11 @@ G4double G4BinaryCascade::GetExcitationEnergy()
|
||||
{
|
||||
nucleusMass = GetIonMass(currentZ,currentA);
|
||||
}
|
||||
else if (currentZ==0 ) // Uzhi && currentA==1 ) // Uzhi
|
||||
{ // Uzhi
|
||||
if(currentA == 1) {nucleusMass = G4Neutron::Neutron()->GetPDGMass();}// Uzhi
|
||||
else {nucleusMass = GetFinalNucleusMomentum().mag() // Uzhi
|
||||
- 3.*MeV*currentA;} // Uzhi
|
||||
} // Uzhi
|
||||
else if (currentZ==0 )
|
||||
{
|
||||
if(currentA == 1) {nucleusMass = G4Neutron::Neutron()->GetPDGMass();}
|
||||
else {nucleusMass = GetFinalNucleusMomentum().mag() - 3.*MeV*currentA;}
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef debug_G4BinaryCascade
|
||||
@@ -933,14 +934,11 @@ G4ReactionProductVector * G4BinaryCascade::DeExcite()
|
||||
G4LorentzVector pFragment(0);
|
||||
// G4cout << " final4mon " << GetFinal4Momentum() /MeV << G4endl;
|
||||
|
||||
// if ( ExcitationEnergy >= 0 ) // closed by Uzhi
|
||||
// { // closed by Uzhi
|
||||
fragment = FindFragments();
|
||||
|
||||
|
||||
if(fragment) // Uzhi
|
||||
{ // Uzhi
|
||||
if(fragment->GetA_asInt() >1) // Uzhi
|
||||
if(fragment)
|
||||
{
|
||||
if(fragment->GetA_asInt() >1)
|
||||
{
|
||||
pFragment=fragment->GetMomentum();
|
||||
// G4cout << " going to preco with fragment 4 mom " << pFragment << G4endl;
|
||||
@@ -961,10 +959,12 @@ G4ReactionProductVector * G4BinaryCascade::DeExcite()
|
||||
|
||||
std::vector<G4KineticTrack *>::iterator i;
|
||||
if ( theTargetList.size() == 1 ) {i=theTargetList.begin();}
|
||||
if ( theCapturedList.size() == 1 ) {i=theCapturedList.begin();} // Uzhi
|
||||
if ( theCapturedList.size() == 1 ) {i=theCapturedList.begin();}
|
||||
G4ReactionProduct * aNew = new G4ReactionProduct((*i)->GetDefinition());
|
||||
aNew->SetTotalEnergy((*i)->GetDefinition()->GetPDGMass());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef((*i)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*i)->GetParentResonanceID());
|
||||
aNew->SetMomentum(G4ThreeVector(0));// see boost for preCompoundProducts below..
|
||||
precompoundProducts = new G4ReactionProductVector();
|
||||
precompoundProducts->push_back(aNew);
|
||||
@@ -973,7 +973,7 @@ G4ReactionProductVector * G4BinaryCascade::DeExcite()
|
||||
fragment=0;
|
||||
|
||||
} else // End of if(fragment)
|
||||
{ // No fragment, can be neutrons only // Uzhi
|
||||
{ // No fragment, can be neutrons only
|
||||
|
||||
precompoundProducts = DecayVoidNucleus();
|
||||
}
|
||||
@@ -1011,24 +1011,23 @@ G4ReactionProductVector * G4BinaryCascade::DecayVoidNucleus()
|
||||
std::vector<G4double> masses;
|
||||
G4double sumMass(0);
|
||||
|
||||
if ( theTargetList.size() != 0) // Uzhi
|
||||
{
|
||||
if ( theTargetList.size() != 0)
|
||||
{
|
||||
for ( aNuc=theTargetList.begin(); aNuc != theTargetList.end(); aNuc++)
|
||||
{
|
||||
G4double mass=(*aNuc)->GetDefinition()->GetPDGMass();
|
||||
masses.push_back(mass);
|
||||
sumMass += mass;
|
||||
}
|
||||
} // Uzhi
|
||||
}
|
||||
|
||||
if ( theCapturedList.size() != 0) // Uzhi
|
||||
{ // Uzhi
|
||||
for(aNuc = theCapturedList.begin(); // Uzhi
|
||||
aNuc != theCapturedList.end(); aNuc++) // Uzhi
|
||||
{ // Uzhi
|
||||
G4double mass=(*aNuc)->GetDefinition()->GetPDGMass(); // Uzhi
|
||||
masses.push_back(mass); // Uzhi
|
||||
sumMass += mass; // Uzhi
|
||||
if ( theCapturedList.size() != 0)
|
||||
{
|
||||
for(aNuc = theCapturedList.begin(); aNuc != theCapturedList.end(); aNuc++)
|
||||
{
|
||||
G4double mass=(*aNuc)->GetDefinition()->GetPDGMass();
|
||||
masses.push_back(mass);
|
||||
sumMass += mass;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1059,27 +1058,29 @@ G4ReactionProductVector * G4BinaryCascade::DecayVoidNucleus()
|
||||
aNew->SetTotalEnergy((*aMom)->e());
|
||||
aNew->SetMomentum((*aMom)->vect());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef((*aNuc)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*aNuc)->GetParentResonanceID());
|
||||
result->push_back(aNew);
|
||||
|
||||
delete *aMom;
|
||||
}
|
||||
}
|
||||
|
||||
if ( theCapturedList.size() != 0) // Uzhi
|
||||
{ // Uzhi
|
||||
for ( aNuc=theCapturedList.begin(); // Uzhi
|
||||
(aNuc != theCapturedList.end()) && (aMom!=momenta->end()); // Uzhi
|
||||
aNuc++, aMom++ ) // Uzhi
|
||||
{ // Uzhi
|
||||
G4ReactionProduct * aNew = new G4ReactionProduct( // Uzhi
|
||||
(*aNuc)->GetDefinition()); // Uzhi
|
||||
aNew->SetTotalEnergy((*aMom)->e()); // Uzhi
|
||||
aNew->SetMomentum((*aMom)->vect()); // Uzhi
|
||||
if ( theCapturedList.size() != 0)
|
||||
{
|
||||
for ( aNuc=theCapturedList.begin();
|
||||
(aNuc != theCapturedList.end()) && (aMom!=momenta->end());
|
||||
aNuc++, aMom++ )
|
||||
{
|
||||
G4ReactionProduct * aNew = new G4ReactionProduct((*aNuc)->GetDefinition());
|
||||
aNew->SetTotalEnergy((*aMom)->e());
|
||||
aNew->SetMomentum((*aMom)->vect());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
result->push_back(aNew); // Uzhi
|
||||
delete *aMom; // Uzhi
|
||||
} // Uzhi
|
||||
} // Uzhi
|
||||
aNew->SetParentResonanceDef((*aNuc)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*aNuc)->GetParentResonanceID());
|
||||
result->push_back(aNew);
|
||||
delete *aMom;
|
||||
}
|
||||
}
|
||||
|
||||
delete momenta;
|
||||
}
|
||||
@@ -1103,6 +1104,8 @@ G4ReactionProductVector * G4BinaryCascade::ProductsAddFinalState(G4ReactionProdu
|
||||
aNew->SetTotalEnergy(kt->Get4Momentum().e());
|
||||
aNew->SetNewlyAdded(kt->IsParticipant());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef(kt->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID(kt->GetParentResonanceID());
|
||||
products->push_back(aNew);
|
||||
|
||||
#ifdef debug_BIC_Propagate_finals
|
||||
@@ -2721,6 +2724,8 @@ G4ReactionProductVector * G4BinaryCascade::Propagate1H1(
|
||||
aNew->SetMomentum(kt->Get4Momentum().vect());
|
||||
aNew->SetTotalEnergy(kt->Get4Momentum().e());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef(kt->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID(kt->GetParentResonanceID());
|
||||
products->push_back(aNew);
|
||||
#ifdef debug_H1_BinaryCascade
|
||||
if (! kt->GetDefinition()->GetPDGStable() )
|
||||
@@ -2896,6 +2901,8 @@ G4ReactionProductVector * G4BinaryCascade::FillVoidNucleusProducts(G4ReactionPro
|
||||
aNew->SetMomentum((*iter)->Get4Momentum().vect());
|
||||
aNew->SetTotalEnergy((*iter)->Get4Momentum().e());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
Esecondaries +=(*iter)->Get4Momentum().e();
|
||||
psecondaries +=(*iter)->Get4Momentum();
|
||||
aNew->SetNewlyAdded(true);
|
||||
@@ -2920,6 +2927,8 @@ G4ReactionProductVector * G4BinaryCascade::FillVoidNucleusProducts(G4ReactionPro
|
||||
aNew->SetMomentum(atrack->Get4Momentum().vect());
|
||||
aNew->SetTotalEnergy(atrack->Get4Momentum().e());
|
||||
aNew->SetCreatorModelID(atrack->GetCreatorModelID());
|
||||
aNew->SetParentResonanceDef(atrack->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID(atrack->GetParentResonanceID());
|
||||
Esecondaries +=atrack->Get4Momentum().e();
|
||||
psecondaries +=atrack->Get4Momentum();
|
||||
aNew->SetNewlyAdded(true);
|
||||
@@ -2949,13 +2958,14 @@ G4ReactionProductVector * G4BinaryCascade::FillVoidNucleusProducts(G4ReactionPro
|
||||
aNew->SetMomentum((*iter)->Get4Momentum().vect());
|
||||
aNew->SetTotalEnergy((*iter)->Get4Momentum().e());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
Esecondaries +=(*iter)->Get4Momentum().e();
|
||||
psecondaries +=(*iter)->Get4Momentum();
|
||||
if ( (*iter)->IsParticipant() ) aNew->SetNewlyAdded(true);
|
||||
products->push_back(aNew);
|
||||
}
|
||||
|
||||
|
||||
for(iter = theCapturedList.begin(); iter != theCapturedList.end(); ++iter)
|
||||
{
|
||||
G4ReactionProduct * aNew = new G4ReactionProduct((*iter)->GetDefinition());
|
||||
@@ -2963,6 +2973,8 @@ G4ReactionProductVector * G4BinaryCascade::FillVoidNucleusProducts(G4ReactionPro
|
||||
aNew->SetMomentum((*iter)->Get4Momentum().vect());
|
||||
aNew->SetTotalEnergy((*iter)->Get4Momentum().e());
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
Esecondaries +=(*iter)->Get4Momentum().e();
|
||||
psecondaries +=(*iter)->Get4Momentum();
|
||||
aNew->SetNewlyAdded(true);
|
||||
@@ -3022,6 +3034,8 @@ G4ReactionProductVector * G4BinaryCascade::FillVoidNucleusProducts(G4ReactionPro
|
||||
aNew->SetMomentum(aNew->GetTotalMomentum() * ((*iter)->Get4Momentum().vect().unit()));
|
||||
aNew->SetNewlyAdded(true);
|
||||
aNew->SetCreatorModelID(theBIC_ID);
|
||||
aNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
products->push_back(aNew);
|
||||
Esecondaries += aNew->GetTotalEnergy();
|
||||
psecondaries += G4LorentzVector(aNew->GetMomentum(),aNew->GetTotalEnergy() );
|
||||
@@ -3031,8 +3045,6 @@ G4ReactionProductVector * G4BinaryCascade::FillVoidNucleusProducts(G4ReactionPro
|
||||
psecondaries += G4LorentzVector((*rpiter)->GetMomentum(),(*rpiter)->GetTotalEnergy() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
G4LorentzVector initial4Mom=theProjectile4Momentum + G4LorentzVector(initial_nuclear_mass);
|
||||
|
||||
//G4cout << "::FillVoidNucleus()final e/p conservation initial" <<initial4Mom
|
||||
@@ -3059,7 +3071,6 @@ G4ReactionProductVector * G4BinaryCascade::FillVoidNucleusProducts(G4ReactionPro
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return products;
|
||||
}
|
||||
G4ReactionProductVector * G4BinaryCascade::HighEnergyModelFSProducts(G4ReactionProductVector * products,
|
||||
@@ -3073,6 +3084,8 @@ G4ReactionProductVector * G4BinaryCascade::HighEnergyModelFSProducts(G4ReactionP
|
||||
aNew->SetTotalEnergy((*iter)->Get4Momentum().e());
|
||||
aNew->SetNewlyAdded(true);
|
||||
aNew->SetCreatorModelID((*iter)->GetCreatorModelID());
|
||||
aNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
aNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
//G4cout << " Particle Ekin " << aNew->GetKineticEnergy() << G4endl;
|
||||
products->push_back(aNew);
|
||||
}
|
||||
|
||||
+8
-1
@@ -176,6 +176,8 @@ Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus)
|
||||
theNew->SetMomentum(mom);
|
||||
theNew->SetTotalEnergy(e);
|
||||
theNew->SetCreatorModelID((*iter)->GetCreatorModelID());
|
||||
theNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
theNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
theTotalResult->push_back(theNew);
|
||||
Secondary4Momentum += (*iter)->Get4Momentum();
|
||||
#ifdef debugPrecoInt
|
||||
@@ -188,6 +190,8 @@ Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus)
|
||||
theNew->SetMomentum(mom);
|
||||
theNew->SetTotalEnergy(e);
|
||||
theNew->SetCreatorModelID((*iter)->GetCreatorModelID());
|
||||
theNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
theNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
theTotalResult->push_back(theNew);
|
||||
Secondary4Momentum += (*iter)->Get4Momentum();
|
||||
#ifdef debugPrecoInt
|
||||
@@ -311,7 +315,6 @@ Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus)
|
||||
exciton4Momentum.setE(ResE);
|
||||
#ifdef debugPrecoInt
|
||||
G4cout<<"ActualMass - fMass < 0. "<<ActualMass<<" "<<fMass<<" "<<ActualMass - fMass<<G4endl;
|
||||
G4int Uzhi; G4cin>>Uzhi;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -510,6 +513,8 @@ PropagateNuclNucl(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus
|
||||
theNew->SetMomentum(aTrack4Momentum.vect());
|
||||
theNew->SetTotalEnergy(aTrack4Momentum.e());
|
||||
theNew->SetCreatorModelID((*iter)->GetCreatorModelID());
|
||||
theNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
theNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
theTotalResult->push_back(theNew);
|
||||
#ifdef debugPrecoInt
|
||||
SecondrNum++;
|
||||
@@ -605,6 +610,8 @@ PropagateNuclNucl(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus
|
||||
theNew->SetMomentum(aTrack4Momentum.vect());
|
||||
theNew->SetTotalEnergy(aTrack4Momentum.e());
|
||||
theNew->SetCreatorModelID((*iter)->GetCreatorModelID());
|
||||
theNew->SetParentResonanceDef((*iter)->GetParentResonanceDef());
|
||||
theNew->SetParentResonanceID((*iter)->GetParentResonanceID());
|
||||
theTotalResult->push_back(theNew);
|
||||
|
||||
#ifdef debugPrecoInt
|
||||
|
||||
Reference in New Issue
Block a user