Import Geant4 10.4.0.beta source tree
This commit is contained in:
+544
-500
File diff suppressed because it is too large
Load Diff
+192
-195
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4FTFAnnihilation.cc 100828 2016-11-02 15:25:59Z gcosmo $
|
||||
// $Id: G4FTFAnnihilation.cc 102029 2016-12-16 14:53:08Z gcosmo $
|
||||
//
|
||||
|
||||
// ------------------------------------------------------------
|
||||
@@ -66,8 +66,7 @@
|
||||
//#include "G4ios.hh"
|
||||
//#include "UZHI_diffraction.hh"
|
||||
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
#include "G4ParticleTable.hh" // Uzhi March 2016
|
||||
//============================================================================
|
||||
|
||||
//#define debugFTFannih
|
||||
@@ -90,7 +89,7 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
G4VSplitableHadron*& AdditionalString,
|
||||
G4FTFParameters* theParameters ) const {
|
||||
|
||||
//theParameters->SetProbabilityOfAnnihilation( 0.0 ); // Uzhi March 2016 ? for other Anti_bar annih.
|
||||
//theParameters->SetProbabilityOfAnnihilation( 0.0 ); // Uzhi March 2016 ??? for other Anti_bar annih.
|
||||
|
||||
#ifdef debugFTFannih
|
||||
G4cout << "---------------------------- Annihilation----------------" << G4endl;
|
||||
@@ -100,7 +99,7 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
G4LorentzVector Pprojectile = projectile->Get4Momentum();
|
||||
G4int ProjectilePDGcode = projectile->GetDefinition()->GetPDGEncoding();
|
||||
if ( ProjectilePDGcode > 0 ) {
|
||||
target->SetStatus( 3 ); // 2->3
|
||||
target->SetStatus( 3 ); // 2->3 Uzhi Oct 2014
|
||||
return false;
|
||||
}
|
||||
//G4double M0projectile = Pprojectile.mag();
|
||||
@@ -239,12 +238,11 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
#endif
|
||||
|
||||
G4double Xannihilation = X_a + X_b + X_c + X_d;
|
||||
|
||||
//X_a=0.0;
|
||||
//X_b=0.0;
|
||||
//X_c=0.0;
|
||||
//X_d=0.0;
|
||||
//Xannihilation = X_a + X_b + X_c + X_d;
|
||||
//X_a=0.; // Uzhi
|
||||
//X_b=0.;
|
||||
//X_c=0.;
|
||||
//X_d=0.;
|
||||
//Xannihilation = X_a + X_b + X_c + X_d;
|
||||
|
||||
// Projectile unpacking
|
||||
G4int AQ[3];
|
||||
@@ -289,40 +287,40 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
projectile->SetSecondParton( Q[0] );
|
||||
projectile->SetStatus( 0 );
|
||||
|
||||
G4int aAQ, aQ;
|
||||
aAQ = std::abs( AQ[0] ); aQ = std::abs( Q[0] );
|
||||
G4int NewCode;
|
||||
G4double aKsi = G4UniformRand();
|
||||
// Uzhi March 2016 start
|
||||
G4int aAQ, aQ;
|
||||
aAQ=std::abs( AQ[0] ); aQ=std::abs( Q[0] );
|
||||
G4int NewCode;
|
||||
G4double aKsi = G4UniformRand();
|
||||
|
||||
if ( aAQ == aQ ) {
|
||||
if ( aAQ != 3 ) {
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( aAQ > aQ ) {
|
||||
NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/AQ[0];
|
||||
} else {
|
||||
NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/Q[0];
|
||||
}
|
||||
}
|
||||
if ( aAQ == aQ )
|
||||
{
|
||||
if ( aAQ != 3 )
|
||||
{
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 )
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if( aKsi < 0.5 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
if ( aAQ > aQ ){ NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/AQ[0]; }
|
||||
else { NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/Q[0]; }
|
||||
}
|
||||
|
||||
G4ParticleDefinition* TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if ( ! TestParticle ) return false;
|
||||
projectile->SetDefinition( TestParticle );
|
||||
G4ParticleDefinition* TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if(!TestParticle) return false;
|
||||
projectile->SetDefinition( TestParticle );
|
||||
|
||||
theParameters->SetProjMinDiffMass( 0.5 ); // Uzhi 2016 M+140 ?
|
||||
theParameters->SetProjMinNonDiffMass( 0.5 ); // Uzhi 2016 M+140 ?
|
||||
theParameters->SetProjMinDiffMass( 0.5 ); // Uzhi 2016 M+140 ??
|
||||
theParameters->SetProjMinNonDiffMass( 0.5 ); // Uzhi 2016 M+140 ??
|
||||
// Uzhi March 2016 end
|
||||
|
||||
//G4cout << "String 2 " << Q[1] << " " << AQ[1] << G4endl;
|
||||
target->SplitUp();
|
||||
@@ -330,68 +328,68 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
target->SetSecondParton( AQ[1] );
|
||||
target->SetStatus( 0 );
|
||||
|
||||
aAQ = std::abs( AQ[1] ); aQ = std::abs( Q[1] ); aKsi = G4UniformRand();
|
||||
if ( aAQ == aQ ) {
|
||||
if ( aAQ != 3 ) {
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( aAQ > aQ ) {
|
||||
NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/AQ[1];
|
||||
} else {
|
||||
NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/Q[1];
|
||||
}
|
||||
}
|
||||
// Uzhi March 2016 Start
|
||||
aAQ=std::abs( AQ[1] ); aQ=std::abs( Q[1] ); aKsi = G4UniformRand();
|
||||
if ( aAQ == aQ )
|
||||
{
|
||||
if ( aAQ != 3 )
|
||||
{
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 )
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if( aKsi < 0.5 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
if ( aAQ > aQ ){ NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/AQ[1]; }
|
||||
else { NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/Q[1]; }
|
||||
}
|
||||
TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if(!TestParticle) return false;
|
||||
target->SetDefinition( TestParticle );
|
||||
|
||||
TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if ( ! TestParticle ) return false;
|
||||
target->SetDefinition( TestParticle );
|
||||
theParameters->SetTarMinDiffMass( 0.5 ); // Uzhi 2016 M+140 ??
|
||||
theParameters->SetTarMinNonDiffMass( 0.5 ); // Uzhi 2016 M+140 ??
|
||||
// Uzhi March 2016 end
|
||||
|
||||
theParameters->SetTarMinDiffMass( 0.5 ); // Uzhi 2016 M+140 ?
|
||||
theParameters->SetTarMinNonDiffMass( 0.5 ); // Uzhi 2016 M+140 ?
|
||||
|
||||
//G4cout << "String 3 " << AQ[2] << " " << Q[2] << G4endl;
|
||||
AdditionalString = new G4DiffractiveSplitableHadron();
|
||||
|
||||
aAQ = std::abs( AQ[2] ); aQ = std::abs( Q[2] ); aKsi = G4UniformRand();
|
||||
// Uzhi March 2016 start
|
||||
aAQ=std::abs( AQ[2] ); aQ=std::abs( Q[2] ); aKsi = G4UniformRand();
|
||||
|
||||
if ( aAQ == aQ ) {
|
||||
if ( aAQ != 3 ) {
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( aAQ > aQ ) {
|
||||
NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/AQ[2];
|
||||
} else {
|
||||
NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/Q[2];
|
||||
}
|
||||
}
|
||||
if ( aAQ == aQ )
|
||||
{
|
||||
if ( aAQ != 3 )
|
||||
{
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 )
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if( aKsi < 0.5 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
if ( aAQ > aQ ){ NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/AQ[2]; }
|
||||
else { NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/Q[2]; }
|
||||
}
|
||||
|
||||
TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if ( ! TestParticle ) return false;
|
||||
AdditionalString->SetDefinition( TestParticle );
|
||||
TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if(!TestParticle) return false;
|
||||
AdditionalString->SetDefinition( TestParticle );
|
||||
// Uzhi March 2016 end
|
||||
|
||||
AdditionalString->SplitUp();
|
||||
AdditionalString->SetFirstParton( AQ[2] );
|
||||
@@ -645,7 +643,7 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
AdditionalString->IncrementCollisionCount( 1 );
|
||||
target->IncrementCollisionCount( 1 );
|
||||
|
||||
theParameters->SetProbabilityOfAnnihilation( 0.0 );
|
||||
theParameters->SetProbabilityOfAnnihilation( 0.0 ); // Uzhi March 2016
|
||||
|
||||
return true;
|
||||
|
||||
@@ -707,13 +705,13 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
projectile->SetFirstParton( DQ );
|
||||
projectile->SetSecondParton( Anti_DQ );
|
||||
projectile->SetStatus( 0 );
|
||||
target->SetStatus( 4 ); // The target nucleon has annihilated 3->4
|
||||
target->SetStatus( 4 ); // The target nucleon has annihilated 3->4 Uzhi Oct 2014
|
||||
Pprojectile.setPx( 0.0 );
|
||||
Pprojectile.setPy( 0.0 );
|
||||
Pprojectile.setPz( 0.0 );
|
||||
Pprojectile.setE( SqrtS );
|
||||
Pprojectile.transform( toLab );
|
||||
// Uzhi March 2016 if QQ_QQbar will interact Set Mmin, MdifMin
|
||||
// Uzhi March 2016 if QQ_QQbar will interact Set Mmin, MdifMin
|
||||
|
||||
// Calculation of the creation time
|
||||
projectile->SetTimeOfCreation( target->GetTimeOfCreation() );
|
||||
@@ -728,8 +726,8 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
projectile->IncrementCollisionCount( 1 );
|
||||
target->IncrementCollisionCount( 1 );
|
||||
|
||||
//theParameters->SetProbabilityOfAnnihilation( 0.0 );
|
||||
// In the case baryon and anti-baryon are created. Thus the antibaryon can annihilate later.
|
||||
//theParameters->SetProbabilityOfAnnihilation( 0.0 ); // Uzhi March 2016
|
||||
// In the case baryon and anti-baryon are created. Thus the antibaryon can annihilate latter.
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -782,40 +780,40 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
projectile->SetSecondParton( LeftQ1 );
|
||||
projectile->SetStatus( 0 );
|
||||
|
||||
G4int aAQ, aQ;
|
||||
aAQ = std::abs( LeftAQ1 ); aQ = std::abs( LeftQ1 );
|
||||
// Uzhi March 2016 start
|
||||
G4int aAQ, aQ;
|
||||
aAQ=std::abs( LeftAQ1 ); aQ=std::abs( LeftQ1 );
|
||||
|
||||
G4int NewCode;
|
||||
G4double aKsi = G4UniformRand();
|
||||
G4int NewCode;
|
||||
G4double aKsi = G4UniformRand();
|
||||
|
||||
if ( aAQ == aQ ) {
|
||||
if ( aAQ != 3 ) {
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( aAQ > aQ ) {
|
||||
NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/LeftAQ1;
|
||||
} else {
|
||||
NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/LeftQ1;
|
||||
}
|
||||
}
|
||||
if ( aAQ == aQ )
|
||||
{
|
||||
if ( aAQ != 3 )
|
||||
{
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 )
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if( aKsi < 0.5 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
if ( aAQ > aQ ){ NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/LeftAQ1; }
|
||||
else { NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/LeftQ1; }
|
||||
}
|
||||
|
||||
G4ParticleDefinition* TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if ( ! TestParticle ) return false;
|
||||
projectile->SetDefinition( TestParticle );
|
||||
theParameters->SetProjMinDiffMass( 0.5 ); // (0.5) // GeV Uzhi March 2016 ?
|
||||
theParameters->SetProjMinNonDiffMass( 0.5 );
|
||||
G4ParticleDefinition* TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if(!TestParticle) return false;
|
||||
projectile->SetDefinition( TestParticle );
|
||||
theParameters->SetProjMinDiffMass( 0.5 ); // (0.5) // GeV Uzhi March 2016 ???
|
||||
theParameters->SetProjMinNonDiffMass( 0.5 );
|
||||
// Uzhi March 2016 end
|
||||
|
||||
//G4cout << "String 2 " << LeftAQ2 << " " << LeftQ2 << G4endl;
|
||||
target->SplitUp();
|
||||
@@ -823,36 +821,36 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
target->SetSecondParton( LeftAQ2 );
|
||||
target->SetStatus( 0 );
|
||||
|
||||
aAQ = std::abs( LeftAQ2 ); aQ = std::abs( LeftQ2 ); aKsi = G4UniformRand();
|
||||
// Uzhi March 2016 start
|
||||
aAQ=std::abs( LeftAQ2 ); aQ=std::abs( LeftQ2 ); aKsi = G4UniformRand();
|
||||
|
||||
if ( aAQ == aQ ) {
|
||||
if ( aAQ != 3 ) {
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( aAQ > aQ ) {
|
||||
NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/LeftAQ2;
|
||||
} else {
|
||||
NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/LeftQ2;
|
||||
}
|
||||
}
|
||||
if ( aAQ == aQ )
|
||||
{
|
||||
if ( aAQ != 3 )
|
||||
{
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 )
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if( aKsi < 0.5 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
if ( aAQ > aQ ){ NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/LeftAQ2; }
|
||||
else { NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/LeftQ2; }
|
||||
}
|
||||
|
||||
TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if ( ! TestParticle ) return false;
|
||||
target->SetDefinition( TestParticle );
|
||||
theParameters->SetTarMinDiffMass( 0.5 ); // Uzhi March 2016 ?
|
||||
theParameters->SetTarMinNonDiffMass( 0.5 );
|
||||
TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if(!TestParticle) return false;
|
||||
target->SetDefinition( TestParticle );
|
||||
theParameters->SetTarMinDiffMass( 0.5 ); // Uzhi March 2016 ???
|
||||
theParameters->SetTarMinNonDiffMass( 0.5 );
|
||||
// Uzhi March 2016
|
||||
|
||||
// Sampling kinematical properties
|
||||
// 1 string LeftAQ1-LeftQ1// 2 string LeftAQ2-LeftQ2
|
||||
@@ -1036,7 +1034,7 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
projectile->IncrementCollisionCount( 1 );
|
||||
target->IncrementCollisionCount( 1 );
|
||||
|
||||
theParameters->SetProbabilityOfAnnihilation( 0.0 );
|
||||
theParameters->SetProbabilityOfAnnihilation( 0.0 ); // Uzhi March 2016
|
||||
|
||||
return true;
|
||||
|
||||
@@ -1102,42 +1100,42 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
projectile->SetSecondParton( LeftAQ );
|
||||
projectile->SetStatus( 0 );
|
||||
|
||||
G4int aAQ, aQ;
|
||||
aAQ = std::abs( LeftAQ ); aQ = std::abs( LeftQ );
|
||||
// Uzhi March 2016 start
|
||||
G4int aAQ, aQ;
|
||||
aAQ=std::abs( LeftAQ ); aQ=std::abs( LeftQ );
|
||||
|
||||
G4int NewCode;
|
||||
G4double aKsi = G4UniformRand();
|
||||
G4int NewCode;
|
||||
G4double aKsi = G4UniformRand();
|
||||
|
||||
if ( aAQ == aQ ) {
|
||||
if ( aAQ != 3 ) {
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.5 ) {
|
||||
NewCode = 331; // Eta'-meson
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( aAQ > aQ ) {
|
||||
NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/LeftAQ;
|
||||
} else {
|
||||
NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/LeftQ;
|
||||
}
|
||||
}
|
||||
if ( aAQ == aQ )
|
||||
{
|
||||
if ( aAQ != 3 )
|
||||
{
|
||||
NewCode = 111; // Pi0-meson
|
||||
if ( aKsi < 0.5 )
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if ( aKsi < 0.25 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
NewCode = 221; // Eta -meson
|
||||
if( aKsi < 0.5 ) {NewCode = 331;} // Eta'-meson
|
||||
}
|
||||
} else
|
||||
{
|
||||
if ( aAQ > aQ ){ NewCode = aAQ*100 + aQ*10 + 1; NewCode *= aAQ/LeftAQ; }
|
||||
else { NewCode = aQ*100 + aAQ*10 + 1; NewCode *= aQ/LeftQ; }
|
||||
}
|
||||
|
||||
G4ParticleDefinition* TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if ( ! TestParticle ) return false;
|
||||
projectile->SetDefinition( TestParticle );
|
||||
theParameters->SetProjMinDiffMass( 0.5 ); // (0.5) // GeV Uzhi March 2016
|
||||
theParameters->SetProjMinNonDiffMass( 0.5 );
|
||||
G4ParticleDefinition* TestParticle = G4ParticleTable::GetParticleTable()->FindParticle( NewCode );
|
||||
if(!TestParticle) return false;
|
||||
projectile->SetDefinition( TestParticle );
|
||||
theParameters->SetProjMinDiffMass( 0.5 ); // (0.5) // GeV Uzhi March 2016
|
||||
theParameters->SetProjMinNonDiffMass( 0.5 );
|
||||
// Uzhi March 2016 end
|
||||
|
||||
target->SetStatus( 4 ); // The target nucleon has annihilated 3->4
|
||||
target->SetStatus( 4 ); // The target nucleon has annihilated 3->4 Uzhi Oct 2014
|
||||
Pprojectile.setPx( 0.0 );
|
||||
Pprojectile.setPy( 0.0 );
|
||||
Pprojectile.setPz( 0.0 );
|
||||
@@ -1156,7 +1154,7 @@ G4bool G4FTFAnnihilation::Annihilate( G4VSplitableHadron* projectile,
|
||||
projectile->IncrementCollisionCount( 1 );
|
||||
target->IncrementCollisionCount( 1 );
|
||||
|
||||
theParameters->SetProbabilityOfAnnihilation( 0.0 );
|
||||
theParameters->SetProbabilityOfAnnihilation( 0.0 ); // Uzhi March 2016
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1239,4 +1237,3 @@ int G4FTFAnnihilation::operator!=( const G4FTFAnnihilation& ) const {
|
||||
throw G4HadronicException( __FILE__, __LINE__,
|
||||
"G4DiffractiveExcitation != operator not meant to be called" );
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+121
-120
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4FTFParameters.cc 101902 2016-12-07 08:40:04Z gcosmo $
|
||||
// $Id: G4FTFParameters.cc 102029 2016-12-16 14:53:08Z gcosmo $
|
||||
// GEANT4 tag $Name: $
|
||||
//
|
||||
|
||||
@@ -133,7 +133,7 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
AbsProjectileBaryonNumber = std::abs( ProjectileBaryonNumber );
|
||||
AbsProjectileCharge = G4int( particle->GetPDGCharge() );
|
||||
if ( ProjectileBaryonNumber > 1 ) {
|
||||
ProjectilePDGcode = 2212; ProjectileabsPDGcode = 2212; // Proton
|
||||
ProjectilePDGcode = 2212; ProjectileabsPDGcode = 2212; // Proton
|
||||
} else {
|
||||
ProjectilePDGcode = -2212; ProjectileabsPDGcode = 2212; // Anti-Proton
|
||||
}
|
||||
@@ -248,9 +248,9 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
X_d = 6.614; // mb
|
||||
} else { // Total and elastic cross section of PbarP interactions a'la Arkhipov
|
||||
G4double LogS = G4Log( ECMSsqr / 33.0625 );
|
||||
G4double Xasmpt = 36.04 + 0.304*LogS*LogS; // mb
|
||||
G4double Xasmpt = 36.04 + 0.304*LogS*LogS; // mb
|
||||
LogS = G4Log( SqrtS / 20.74 );
|
||||
G4double Basmpt = 11.92 + 0.3036*LogS*LogS; // GeV^(-2)
|
||||
G4double Basmpt = 11.92 + 0.3036*LogS*LogS; // GeV^(-2)
|
||||
G4double R0 = std::sqrt( 0.40874044*Xasmpt - Basmpt ); // GeV^(-1)
|
||||
|
||||
G4double FlowF = SqrtS / std::sqrt( ECMSsqr*ECMSsqr + ProjectileMass2*ProjectileMass2 +
|
||||
@@ -259,7 +259,7 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
- 2.0*ProjectileMass2*TargetMass2 );
|
||||
|
||||
Xtotal = Xasmpt * ( 1.0 + 13.55*FlowF/R0/R0/R0*
|
||||
(1.0 - 4.47/SqrtS + 12.38/ECMSsqr - 12.43/SqrtS/ECMSsqr) ); // mb
|
||||
(1.0 - 4.47/SqrtS + 12.38/ECMSsqr - 12.43/SqrtS/ECMSsqr) ); // mb
|
||||
|
||||
Xasmpt = 4.4 + 0.101*LogS*LogS; // mb
|
||||
Xelastic = Xasmpt * ( 1.0 + 59.27*FlowF/R0/R0/R0*
|
||||
@@ -292,31 +292,31 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
|
||||
G4double Xann_on_P( 0.0), Xann_on_N( 0.0 );
|
||||
|
||||
if ( ProjectilePDGcode == -2212 ) { // Pbar+P/N
|
||||
if ( ProjectilePDGcode == -2212 ) { // Pbar+P/N
|
||||
Xann_on_P = X_a + X_b*5.0 + X_c*5.0 + X_d*6.0;
|
||||
Xann_on_N = X_a + X_b*4.0 + X_c*4.0 + X_d*4.0;
|
||||
} else if ( ProjectilePDGcode == -2112 ) { // NeutrBar+P/N
|
||||
} else if ( ProjectilePDGcode == -2112 ) { // NeutrBar+P/N
|
||||
Xann_on_P = X_a + X_b*4.0 + X_c*4.0 + X_d*4.0;
|
||||
Xann_on_N = X_a + X_b*5.0 + X_c*5.0 + X_d*6.0;
|
||||
} else if ( ProjectilePDGcode == -3122 ) { // LambdaBar+P/N
|
||||
} else if ( ProjectilePDGcode == -3122 ) { // LambdaBar+P/N
|
||||
Xann_on_P = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
|
||||
Xann_on_N = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
|
||||
} else if ( ProjectilePDGcode == -3112 ) { // Sigma-Bar+P/N
|
||||
} else if ( ProjectilePDGcode == -3112 ) { // Sigma-Bar+P/N
|
||||
Xann_on_P = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
|
||||
Xann_on_N = X_a + X_b*4.0 + X_c*4.0 + X_d*2.0;
|
||||
} else if ( ProjectilePDGcode == -3212 ) { // Sigma0Bar+P/N
|
||||
} else if ( ProjectilePDGcode == -3212 ) { // Sigma0Bar+P/N
|
||||
Xann_on_P = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
|
||||
Xann_on_N = X_a + X_b*3.0 + X_c*3.0 + X_d*2.0;
|
||||
} else if ( ProjectilePDGcode == -3222 ) { // Sigma+Bar+P/N
|
||||
} else if ( ProjectilePDGcode == -3222 ) { // Sigma+Bar+P/N
|
||||
Xann_on_P = X_a + X_b*4.0 + X_c*4.0 + X_d*2.0;
|
||||
Xann_on_N = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
|
||||
} else if ( ProjectilePDGcode == -3312 ) { // Xi-Bar+P/N
|
||||
} else if ( ProjectilePDGcode == -3312 ) { // Xi-Bar+P/N
|
||||
Xann_on_P = X_a + X_b*1.0 + X_c*1.0 + X_d*0.0;
|
||||
Xann_on_N = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
|
||||
} else if ( ProjectilePDGcode == -3322 ) { // Xi0Bar+P/N
|
||||
} else if ( ProjectilePDGcode == -3322 ) { // Xi0Bar+P/N
|
||||
Xann_on_P = X_a + X_b*2.0 + X_c*2.0 + X_d*0.0;
|
||||
Xann_on_N = X_a + X_b*1.0 + X_c*1.0 + X_d*0.0;
|
||||
} else if ( ProjectilePDGcode == -3334 ) { // Omega-Bar+P/N
|
||||
} else if ( ProjectilePDGcode == -3334 ) { // Omega-Bar+P/N
|
||||
Xann_on_P = X_a + X_b*0.0 + X_c*0.0 + X_d*0.0;
|
||||
Xann_on_N = X_a + X_b*0.0 + X_c*0.0 + X_d*0.0;
|
||||
} else {
|
||||
@@ -513,21 +513,22 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
// Parameters of elastic scattering
|
||||
// Gaussian parametrization of elastic scattering amplitude assumed
|
||||
SetAvaragePt2ofElasticScattering( 1.0/( Xtotal*Xtotal/16.0/pi/Xelastic/0.3894 )*GeV*GeV );
|
||||
//G4cout << "AvaragePt2ofElasticScattering " << GetAvaragePt2ofElasticScattering() << G4endl;
|
||||
// G4cout << "AvaragePt2ofElasticScattering " << GetAvaragePt2ofElasticScattering() << G4endl;
|
||||
|
||||
// Parameters of excitations
|
||||
|
||||
G4double Xinel = Xtotal - Xelastic;
|
||||
G4double Xinel = Xtotal - Xelastic; // Uzhi 25.04.2012
|
||||
//G4cout << "Param ProjectilePDGcode " << ProjectilePDGcode << G4endl;
|
||||
|
||||
if ( ProjectilePDGcode > 1000 ) { // Projectile is baryon
|
||||
// Proc# A1 B1 A2 B2 A3 Atop Ymin
|
||||
SetParams( 0, 13.71, 1.75, -214.5, 4.25, 0.0, 0.5 , 1.1 ); // Qexchange without Exc.
|
||||
SetParams( 1, 25.0, 1.0, -50.34, 1.5 , 0.0, 0.0 , 1.4 ); // Qexchange with Exc.
|
||||
// SetParams( 0, 13.71, 1.75, -214.5, 4.25, 0.0, 0.5 , 1.1 ); // Qexchange without Exc.
|
||||
SetParams( 0, 13.71, 1.75, -30.69, 3.0 , 0.0, 1.0 , 0.93 ); // Qexchange without Exc.
|
||||
SetParams( 1, 25.0 , 1.0 , -50.34, 1.5 , 0.0, 0.0 , 1.4 ); // Qexchange with Exc.
|
||||
if( Xinel > 0.) {
|
||||
SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93);// Projectile diffraction
|
||||
SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93);// Target diffraction
|
||||
SetParams( 4, 1.0, 0.0 , -2.01 , 0.5 , 0.0, 0.0 , 1.4 );// Qexchange with Exc. Additional multiply
|
||||
SetParams( 4, 0.6 , 0.0 , -1.20, 0.5 , 0.0, 0.0 , 1.4 );// Qexchange with Exc. Additional multiply
|
||||
} else {
|
||||
SetParams( 2, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
|
||||
SetParams( 3, 0.0, 0.0 ,0.0, 0.0 , 0.0, 0.0 , 0.0);
|
||||
@@ -535,9 +536,9 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
}
|
||||
|
||||
if ( AbsProjectileBaryonNumber > 1 || NumberOfTargetNucleons > 1 ) {
|
||||
// It is not decided what to do with diffraction dissociation in Had-Nucl and Nucl-Nucl interactions
|
||||
// It is not decided what to do with diffraction dissociation in Had-Nucl and Nucl-Nucl interactions
|
||||
SetParams( 2, 0.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Projectile diffraction
|
||||
//SetParams( 3, 0.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
// SetParams( 3, 0.0, 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
}
|
||||
|
||||
SetDeltaProbAtQuarkExchange( 0.0 );
|
||||
@@ -550,9 +551,9 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
SetProjMinNonDiffMass( 1.16 ); // GeV
|
||||
SetTarMinDiffMass( 1.16 ); // GeV
|
||||
SetTarMinNonDiffMass( 1.16 ); // GeV
|
||||
SetAveragePt2( 0.15 ); // GeV^2
|
||||
SetProbLogDistrPrD( 0.3 ); // Before it was: 0.5
|
||||
SetProbLogDistr(0.3 ); // Before it was: 0.5
|
||||
SetAveragePt2( 0.3 ); // GeV^2 // Uzhi Oct 2014
|
||||
SetProbLogDistrPrD( 0.6 ); // Uzhi June 2016, 0.5 0.3
|
||||
SetProbLogDistr(0.6); // Uzhi June 2016 0.4->0.6
|
||||
|
||||
} else if( ProjectilePDGcode < -1000 ) { // Projectile is anti_baryon
|
||||
|
||||
@@ -571,18 +572,18 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
|
||||
if ( AbsProjectileBaryonNumber > 1 || NumberOfTargetNucleons > 1 ) {
|
||||
SetParams( 2, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Projectile diffraction
|
||||
//SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
}
|
||||
// SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
|
||||
}
|
||||
SetDeltaProbAtQuarkExchange( 0.0 );
|
||||
SetProbOfSameQuarkExchange( 0.0 );
|
||||
SetProjMinDiffMass( ProjectileMass + 0.22 ); // GeV
|
||||
SetProjMinNonDiffMass( ProjectileMass + 0.22 ); // GeV
|
||||
SetTarMinDiffMass( TargetMass + 0.22 ); // GeV
|
||||
SetTarMinNonDiffMass( TargetMass + 0.22 ); // GeV
|
||||
SetAveragePt2( 0.15 ); // GeV^2
|
||||
SetProbLogDistrPrD( 0.3 );
|
||||
SetProbLogDistr( 0.3 );
|
||||
SetAveragePt2( 0.3 ); // GeV^2 // Uzhi Oct 2014
|
||||
SetProbLogDistrPrD( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
SetProbLogDistr( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
|
||||
} else if ( ProjectileabsPDGcode == 211 || ProjectilePDGcode == 111 ) { // Projectile is Pion
|
||||
|
||||
@@ -595,7 +596,7 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
|
||||
if ( AbsProjectileBaryonNumber > 1 || NumberOfTargetNucleons > 1 ) {
|
||||
SetParams( 2, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Projectile diffraction
|
||||
//SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
// SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
}
|
||||
|
||||
SetDeltaProbAtQuarkExchange( 0.56 ); // (0.35)
|
||||
@@ -603,9 +604,9 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
SetProjMinNonDiffMass( 0.5 ); // (0.5) // GeV
|
||||
SetTarMinDiffMass( 1.16 ); // GeV
|
||||
SetTarMinNonDiffMass( 1.16 ); // GeV
|
||||
SetAveragePt2( 0.15 ); // GeV^2
|
||||
SetProbLogDistrPrD( 0.3 );
|
||||
SetProbLogDistr( 0.3 );
|
||||
SetAveragePt2( 0.3 ); // GeV^2 // Uzhi Oct 2014
|
||||
SetProbLogDistrPrD( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
SetProbLogDistr( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
|
||||
} else if ( ProjectileabsPDGcode == 321 || ProjectileabsPDGcode == 311 ||
|
||||
ProjectilePDGcode == 130 || ProjectilePDGcode == 310 ) { // Projectile is Kaon
|
||||
@@ -619,22 +620,22 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
|
||||
if ( AbsProjectileBaryonNumber > 1 || NumberOfTargetNucleons > 1 ) {
|
||||
SetParams( 2, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Projectile diffraction
|
||||
//SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
// SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
}
|
||||
|
||||
SetDeltaProbAtQuarkExchange( 0.6 );
|
||||
SetProjMinDiffMass( 0.7 ); // (1.4) // (0.7) // GeV
|
||||
SetProjMinNonDiffMass( 0.7 ); // (1.4) // (0.7) // GeV
|
||||
SetTarMinDiffMass( 1.16 ); // GeV
|
||||
SetTarMinNonDiffMass( 1.16 ); // GeV
|
||||
SetAveragePt2( 0.15 ); // GeV^2
|
||||
SetProbLogDistrPrD( 0.5 );
|
||||
SetProbLogDistr( 0.3 );
|
||||
SetAveragePt2( 0.3 ); // GeV^2 // Uzhi Oct 2014
|
||||
SetProbLogDistrPrD( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
SetProbLogDistr( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
|
||||
} else { // Projectile is undefined, Nucleon assumed
|
||||
|
||||
// Proc# A1 B1 A2 B2 A3 Atop Ymin
|
||||
SetParams( 0, 13.71, 1.75, -214.5, 4.25, 0.0, 0.5 , 1.1 ); // Qexchange without Exc.
|
||||
// SetParams( 0, 13.71, 1.75, -214.5, 4.25, 0.0, 0.5 , 1.1 );// Qexchange without Exc. May 2016
|
||||
SetParams( 0, 13.71, 1.75, -30.69, 3.0 , 0.0, 1.0 , 0.93 ); // Qexchange without Exc.
|
||||
SetParams( 1, 25.0, 1.0, -50.34, 1.5 , 0.0, 0.0 , 1.4 ); // Qexchange with Exc.
|
||||
if( Xinel > 0.) {
|
||||
SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xinel*16.28, 3.0 , 0.0, 0.0 , 0.93); // Projectile diffraction
|
||||
@@ -647,7 +648,7 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
}
|
||||
if ( AbsProjectileBaryonNumber > 1 || NumberOfTargetNucleons > 1 ) {
|
||||
SetParams( 2, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Projectile diffraction
|
||||
//SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
// SetParams( 3, 0.0 , 0.0 , 0.0 , 0.0 , 0.0, 0.0 , -100.0 ); // Target diffraction
|
||||
}
|
||||
SetDeltaProbAtQuarkExchange( 0.0 ); // 7 June 2011
|
||||
SetProbOfSameQuarkExchange( 0.0 );
|
||||
@@ -655,101 +656,101 @@ G4FTFParameters::G4FTFParameters( const G4ParticleDefinition* particle,
|
||||
SetProjMinNonDiffMass( ProjectileMass + 0.22 ); // GeV
|
||||
SetTarMinDiffMass( TargetMass + 0.22 ); // GeV
|
||||
SetTarMinNonDiffMass( TargetMass + 0.22 ); // GeV
|
||||
SetAveragePt2( 0.15 ); // GeV^2
|
||||
SetProbLogDistrPrD( 0.3 );
|
||||
SetProbLogDistr( 0.3 );
|
||||
SetAveragePt2( 0.3 ); // GeV^2 // Uzhi Oct 2014
|
||||
SetProbLogDistrPrD( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
SetProbLogDistr( 0.6 ); // Uzhi June 2016 0.4->0.6
|
||||
|
||||
}
|
||||
|
||||
// Set parameters of a string kink
|
||||
// SetPt2Kink( 6.0*GeV*GeV );
|
||||
SetPt2Kink( 0.0*GeV*GeV ); // Uzhi Oct 2014 to switch off kinky strings
|
||||
// Set parameters of a string kink
|
||||
// SetPt2Kink( 6.0*GeV*GeV ); // Uzhi Oct 2014
|
||||
SetPt2Kink( 0.0*GeV*GeV ); // Uzhi Oct 2014 // Uzhi to switch off kinky strings
|
||||
G4double Puubar( 1.0/3.0 ), Pddbar( 1.0/3.0 ), Pssbar( 1.0/3.0 ); // SU(3) symmetry
|
||||
//G4double Puubar( 0.41 ), Pddbar( 0.41 ), Pssbar( 0.18 ); // Broken SU(3) symmetry
|
||||
// G4double Puubar( 0.41 ), Pddbar( 0.41 ), Pssbar( 0.18 ); // Broken SU(3) symmetry
|
||||
SetQuarkProbabilitiesAtGluonSplitUp( Puubar, Pddbar, Pssbar );
|
||||
|
||||
// Set parameters of nuclear destruction
|
||||
if ( ProjectileabsPDGcode < 1000 ) { // Meson projectile
|
||||
SetMaxNumberOfCollisions( Plab, 2.0 ); // 3.0 )
|
||||
//AR-18May2016 SetCofNuclearDestruction( 0.00481*G4double(NumberOfTargetNucleons)* // Uzhi 3.05.2015
|
||||
SetCofNuclearDestruction( 1.0* // AR-18May2016
|
||||
G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + G4Exp( 4.0*(Ylab - 2.1) ) ) );
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.3 );
|
||||
SetPt2ofNuclearDestruction( ( 0.035 + 0.04*G4Exp( 4.0*(Ylab - 2.5) )/
|
||||
( 1.0 + G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV );
|
||||
SetMaxPt2ofNuclearDestruction( 1.0*GeV*GeV );
|
||||
SetExcitationEnergyPerWoundedNucleon( 40.0*MeV );
|
||||
} else if ( ProjectilePDGcode < -1000 ) { // for anti-baryon projectile
|
||||
SetMaxNumberOfCollisions( Plab, 2.0 ); // 3.0 )
|
||||
//AR-18May2016 SetCofNuclearDestruction( 0.00481*G4double(NumberOfTargetNucleons)* // Uzhi 3.05.2015
|
||||
SetCofNuclearDestruction( 1.0* // AR-18May2016
|
||||
// Set parameters of nuclear destruction
|
||||
if ( ProjectileabsPDGcode < 1000 ) { // Meson projectile
|
||||
SetMaxNumberOfCollisions( Plab, 2.0 ); // 3.0 )
|
||||
SetCofNuclearDestruction( 0.00481*G4double(NumberOfTargetNucleons)* // Uzhi 3.05.2015
|
||||
G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + G4Exp( 4.0*(Ylab - 2.1) ) ) );
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.3 );
|
||||
SetPt2ofNuclearDestruction( ( 0.035 + 0.04*G4Exp( 4.0*(Ylab - 2.5) )/
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.3 );
|
||||
SetPt2ofNuclearDestruction( ( 0.035 + 0.04*G4Exp( 4.0*(Ylab - 2.5) )/
|
||||
( 1.0 + G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV );
|
||||
SetMaxPt2ofNuclearDestruction( 1.0*GeV*GeV );
|
||||
SetExcitationEnergyPerWoundedNucleon( 40.0*MeV );
|
||||
if ( Plab < 2.0 ) { // 2 GeV/c
|
||||
// For slow anti-baryon we have to garanty putting on mass-shell
|
||||
SetCofNuclearDestruction( 0.0 );
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.01 );
|
||||
SetPt2ofNuclearDestruction( 0.035*GeV*GeV );
|
||||
SetMaxPt2ofNuclearDestruction( 0.04*GeV*GeV );
|
||||
//SetExcitationEnergyPerWoundedNucleon( 0.0 ); // ?????
|
||||
}
|
||||
} else { // Projectile baryon assumed
|
||||
SetMaxNumberOfCollisions( Plab, 2.0 ); // 3.0 )
|
||||
//AR-18May2016 SetCofNuclearDestructionPr( 0.00481*G4double(AbsProjectileBaryonNumber)* // Uzhi 3.05.2015
|
||||
SetCofNuclearDestructionPr( 1.0* // AR-18May2016
|
||||
G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + G4Exp( 4.0*(Ylab - 2.1) ) ) );
|
||||
//AR-18May2016 SetCofNuclearDestruction( 0.00481*G4double(NumberOfTargetNucleons)* // Uzhi 3.05.2015
|
||||
SetCofNuclearDestruction( 1.0* // AR-18May2016
|
||||
G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + G4Exp( 4.0*(Ylab - 2.1) ) ) );
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.3 );
|
||||
SetPt2ofNuclearDestruction( ( 0.035 + 0.04*G4Exp( 4.0*(Ylab - 2.5) )/
|
||||
SetMaxPt2ofNuclearDestruction( 1.0*GeV*GeV );
|
||||
SetExcitationEnergyPerWoundedNucleon( 40.0*MeV ); // Uzhi March 2015: 100 -> 40
|
||||
} else if ( ProjectilePDGcode < -1000 ) { // for anti-baryon projectile
|
||||
SetMaxNumberOfCollisions( Plab, 2.0 ); // 3.0 )
|
||||
SetCofNuclearDestruction( 0.00481*G4double(NumberOfTargetNucleons)* // Uzhi 3.05.2015
|
||||
G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + G4Exp( 4.0*(Ylab - 2.1) ) ) );
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.3 );
|
||||
SetPt2ofNuclearDestruction( ( 0.035 + 0.04*G4Exp( 4.0*(Ylab - 2.5) )/
|
||||
( 1.0 + G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV );
|
||||
SetMaxPt2ofNuclearDestruction( 1.0*GeV*GeV );
|
||||
SetExcitationEnergyPerWoundedNucleon( 40.0*MeV );
|
||||
}
|
||||
SetMaxPt2ofNuclearDestruction( 1.0*GeV*GeV );
|
||||
SetExcitationEnergyPerWoundedNucleon( 40.0*MeV ); // Uzhi March 2015: 100 -> 20
|
||||
if ( Plab < 2.0 ) { // 2 GeV/c
|
||||
// For slow anti-baryon we have to garanty putting on mass-shell
|
||||
SetCofNuclearDestruction( 0.0 );
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.01 );
|
||||
SetPt2ofNuclearDestruction( 0.035*GeV*GeV );
|
||||
SetMaxPt2ofNuclearDestruction( 0.04*GeV*GeV );
|
||||
}
|
||||
} else { // Projectile baryon assumed
|
||||
SetMaxNumberOfCollisions( Plab, 2.0 ); // 3.0 )
|
||||
|
||||
//SetCofNuclearDestruction( 0.47*G4Exp( 2.0*(Ylab - 2.5) )/( 1.0 + G4Exp( 2.0*(Ylab - 2.5) ) ) );
|
||||
//SetPt2ofNuclearDestruction( ( 0.035 + 0.1*G4Exp( 4.0*(Ylab - 3.0) )/( 1.0 + G4Exp( 4.0*(Ylab - 3.0) ) ) )*GeV*GeV );
|
||||
SetCofNuclearDestructionPr( 0.00481*G4double(AbsProjectileBaryonNumber)*
|
||||
G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + G4Exp( 4.0*(Ylab - 2.1) ) ) );
|
||||
|
||||
//SetMagQuarkExchange( 120.0 ); // 210.0 PipP
|
||||
//SetSlopeQuarkExchange( 2.0 );
|
||||
//SetDeltaProbAtQuarkExchange( 0.6 );
|
||||
//SetProjMinDiffMass( 0.7 ); // GeV 1.1
|
||||
//SetProjMinNonDiffMass( 0.7 ); // GeV
|
||||
//SetProbabilityOfProjDiff( 0.0); // 0.85*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.5 ) ); // 40/32 X-dif/X-inel
|
||||
//SetTarMinDiffMass( 1.1 ); // GeV
|
||||
//SetTarMinNonDiffMass( 1.1 ); // GeV
|
||||
//SetProbabilityOfTarDiff( 0.0 ); // 0.85*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.5 ) ); // 40/32 X-dif/X-inel
|
||||
SetCofNuclearDestruction( 0.00481*G4double(NumberOfTargetNucleons)*
|
||||
G4Exp( 4.0*(Ylab - 2.1) )/( 1.0 + G4Exp( 4.0*(Ylab - 2.1) ) ) );
|
||||
SetR2ofNuclearDestruction( 1.5*fermi*fermi );
|
||||
SetDofNuclearDestruction( 0.3 );
|
||||
SetPt2ofNuclearDestruction( ( 0.035 + 0.04*G4Exp( 4.0*(Ylab - 2.5) )/
|
||||
( 1.0 + G4Exp( 4.0*(Ylab - 2.5) ) ) )*GeV*GeV);
|
||||
//G4cout<<"Pt2 "<<std::sqrt(GetPt2ofNuclearDestruction())<<" "<<std::sqrt(GetPt2ofNuclearDestruction()/2.)<<G4endl;
|
||||
//{G4int Uzhi; G4cin>>Uzhi;}
|
||||
SetMaxPt2ofNuclearDestruction( 9.0*GeV*GeV );
|
||||
SetExcitationEnergyPerWoundedNucleon( 40.0*MeV ); // Uzhi March 2015: 100 -> 40
|
||||
}
|
||||
|
||||
//SetAveragePt2( 0.0 ); // GeV^2 0.3
|
||||
//------------------------------------
|
||||
//SetProbabilityOfElasticScatt( 1.0, 1.0); //(Xtotal, Xelastic);
|
||||
//SetProbabilityOfProjDiff( 1.0*0.62*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.51 ) ); // 0->1
|
||||
//SetProbabilityOfTarDiff( 4.0*0.62*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.51 ) ); // 2->4
|
||||
//SetAveragePt2( 0.3 ); // (0.15)
|
||||
//SetAvaragePt2ofElasticScattering( 0.0 );
|
||||
//SetCofNuclearDestruction( 0.47*G4Exp( 2.0*(Ylab - 2.5) )/( 1.0 + G4Exp( 2.0*(Ylab - 2.5) ) ) );
|
||||
//SetPt2ofNuclearDestruction( ( 0.035 + 0.1*G4Exp( 4.0*(Ylab - 3.0) )/( 1.0 + G4Exp( 4.0*(Ylab - 3.0) ) ) )*GeV*GeV );
|
||||
|
||||
//SetMaxNumberOfCollisions( Plab, 6.0 ); //(4.0*(Plab + 0.01), Plab); // 6.0 );
|
||||
//SetAveragePt2( 0.15 );
|
||||
//SetCofNuclearDestruction(-1.);//( 0.75 ); // (0.25)
|
||||
//SetExcitationEnergyPerWoundedNucleon(0.);//( 30.0*MeV ); // (75.0*MeV)
|
||||
//SetDofNuclearDestruction(0.);//( 0.2 ); //0.4 // 0.3 0.5
|
||||
//SetMagQuarkExchange( 120.0 ); // 210.0 PipP
|
||||
//SetSlopeQuarkExchange( 2.0 );
|
||||
//SetDeltaProbAtQuarkExchange( 0.6 );
|
||||
//SetProjMinDiffMass( 0.7 ); // GeV 1.1
|
||||
//SetProjMinNonDiffMass( 0.7 ); // GeV
|
||||
//SetProbabilityOfProjDiff( 0.0); // 0.85*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.5 ) ); // 40/32 X-dif/X-inel
|
||||
//SetTarMinDiffMass( 1.1 ); // GeV
|
||||
//SetTarMinNonDiffMass( 1.1 ); // GeV
|
||||
//SetProbabilityOfTarDiff( 0.0 ); // 0.85*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.5 ) ); // 40/32 X-dif/X-inel
|
||||
|
||||
//SetPt2ofNuclearDestruction(0.);//(2.*0.075*GeV*GeV); //( 0.3*GeV*GeV ); // (0.168*GeV*GeV)
|
||||
//SetMaxNumberOfCollisions( Plab, 78.0 ); // 3.0 )
|
||||
//SetAveragePt2( 0.0 ); // GeV^2 0.3
|
||||
//------------------------------------
|
||||
//SetProbabilityOfElasticScatt( 1.0, 0.0); //1.0); //(Xtotal, Xelastic);
|
||||
//SetProbabilityOfProjDiff( 1.0*0.62*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.51 ) ); // 0->1
|
||||
//SetProbabilityOfTarDiff( 4.0*0.62*G4Pow::GetInstance()->powA( s/GeV/GeV, -0.51 ) ); // 2->4
|
||||
//SetAveragePt2( 0.3 ); // (0.15)
|
||||
//SetAvaragePt2ofElasticScattering( 0.0 );
|
||||
|
||||
//SetMaxNumberOfCollisions( Plab, 6.0 ); //(4.0*(Plab + 0.01), Plab); // 6.0 );
|
||||
//SetAveragePt2( 0.15 );
|
||||
//SetCofNuclearDestruction(1.);//( 0.5 ); // (0.25)
|
||||
//SetExcitationEnergyPerWoundedNucleon(0.);//( 30.0*MeV ); // (75.0*MeV)
|
||||
//SetDofNuclearDestruction(0.6);//( 0.2 ); //0.4 // 0.3 0.5
|
||||
//SetPt2ofNuclearDestruction(0.);//(2.*0.075*GeV*GeV); //( 0.3*GeV*GeV ); // (0.168*GeV*GeV)
|
||||
|
||||
//SetMaxNumberOfCollisions( Plab, 78.0 ); // 3.0 )
|
||||
|
||||
//G4cout << "Cnd " << GetCofNuclearDestruction() << G4endl;
|
||||
//G4cout << "Dnd " << GetDofNuclearDestruction() << G4endl;
|
||||
//G4cout << "Pt2 " << GetPt2ofNuclearDestruction()/GeV/GeV << G4endl;
|
||||
//G4int Uzhi; G4cin >> Uzhi;
|
||||
|
||||
//G4cout << "Cnd " << GetCofNuclearDestruction() << G4endl;
|
||||
//G4cout << "Dnd " << GetDofNuclearDestruction() << G4endl;
|
||||
//G4cout << "Pt2 " << GetPt2ofNuclearDestruction()/GeV/GeV << G4endl;
|
||||
//G4int Uzhi; G4cin >> Uzhi;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user