Import Geant4 5.1.0 source tree
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
The tuning of resonances can still improve in a iteration on short-lived particles.
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
scattering-baseline-0:
|
||||
|
||||
nucleon nucleon and pion nucleon scattering included, and technically tested to run.
|
||||
|
||||
nucleon nucleon:
|
||||
- elastic for pp, np, pn, nn
|
||||
- resonance creation: ND, DD, ND*, DD*, NN*, DN* channels included
|
||||
|
||||
pion nucleon:
|
||||
- elastic pi+-0 n/p scattering
|
||||
- piN->Resonance: D, D*, N* included.
|
||||
@@ -1,31 +0,0 @@
|
||||
done - G4CollisionNNElastic.hh
|
||||
done - G4CollisionnpElastic.hh
|
||||
done - G4CollisionNDeltaElastic.hh
|
||||
done - G4CollisionMesonBaryonElastic.hh
|
||||
not needed G4CollisionNDeltastarElastic.hh
|
||||
G4CollisionDeltaDeltaElastic.hh
|
||||
G4CollisionDeltaDeltastarElastic.hh
|
||||
G4CollisionMesonMesonElastic.hh
|
||||
G4CollisionBaryonAntiBaryonElastic.hh
|
||||
G4CollisionBaryonBaryonElastic.hh
|
||||
G4CollisionDeltaNstarElastic.hh
|
||||
G4CollisionNNstarElastic.hh
|
||||
G4CollisionStarStarElastic.hh
|
||||
|
||||
delta(1600)", "delta(1620)", "delta(1700)", "delta(1900)", "delta(1905)",
|
||||
"delta(1910)", "delta(1920)", "delta(1930)", "delta(1950)"
|
||||
|
||||
"N(1440)", "N(1520)", "N(1535)", "N(1650)", "N(1675)",
|
||||
"N(1680)", "N(1700)", "N(1710)", "N(1720)", "N(1900)",
|
||||
"N(1990)", "N(2090)", "N(2190)", "N(2220)", "N(2250)"
|
||||
|
||||
{ "b1(1235)", "h1(1170)", "h1(1380)", "k1(1270)", "k1(1270)" },
|
||||
{ "a0(1450)", "f0(1370)", "", "k0_star(1430)", "k0_star(1430)" },
|
||||
{ "a1(1260)", "f1(1285)", "f1(1420)", "k1(1400)", "k1(1400)" },
|
||||
{ "a2(1320)", "f2(1270)","f2_prime(1525)","k2_star(1430)","k2_star(1430)"},
|
||||
{"pi2(1670)", "eta2(1645)", "eta2(1870)", "k2(1770)", "k2(1770)" },
|
||||
{"rho(1700)", "omega(1600)", "", "k_star(1680)", "k_star(1680)" },
|
||||
{"rho3(1690)","omega3(1670)","phi3(1850)", "k3_star(1780)", "k3_star(1780)" },
|
||||
{ "pi(1300)", "eta(1295)", "eta(1440)", "k(1460)", "k(1460)" },
|
||||
{"rho(1450)","omega(1420)", "phi(1680)", "k_star(1410)", "k_star(1410)" },
|
||||
{ "", "f2(1810)", "f2(2010)", "k2_star(1980)", "k2_star(1980)" }
|
||||
+1
-1
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4CollisionInitialState.hh,v 1.2 2002/12/12 19:17:37 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
// $Id: G4CollisionInitialState.hh,v 1.0 1998/06/30
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ListOfCollisions.hh,v 1.2 2002/12/12 19:17:41 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
// GEANT4 tag $Name: geant4-05-01 $
|
||||
//
|
||||
// $Id: G4ListOfCollisions.hh,v 1.0 1998/06/30
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#include "globals.hh"
|
||||
#include "G4AngularDistribution.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "PhysicalConstants.h"
|
||||
|
||||
G4AngularDistribution::G4AngularDistribution(G4bool symmetrize)
|
||||
: sym(symmetrize)
|
||||
|
||||
@@ -40,9 +40,21 @@ void G4CollisionManager::AddCollision(G4double time, G4KineticTrack * proj,
|
||||
G4KineticTrack * target)
|
||||
|
||||
{
|
||||
G4CollisionInitialState *
|
||||
collision = new G4CollisionInitialState(time, proj, target);
|
||||
theCollisionList->push_back(collision);
|
||||
if ( time < DBL_MAX )
|
||||
{
|
||||
G4CollisionInitialState *
|
||||
collision = new G4CollisionInitialState(time, proj, target);
|
||||
theCollisionList->push_back(collision);
|
||||
} else {
|
||||
G4cerr << "G4Scatterer invalid TimeTo Interaction : " << time;
|
||||
G4cerr <<" projectile "<<proj->Get4Momentum()<<" "
|
||||
<<proj->GetDefinition()->GetParticleName()<<G4endl;
|
||||
if (target) G4cerr <<" target "
|
||||
<<target->Get4Momentum()<<" "
|
||||
<<target->GetDefinition()->GetParticleName()<<G4endl;
|
||||
G4cerr <<"G4Scatterer error message end"<< G4endl;
|
||||
G4Exception("G4Scatterer::AddCollision()");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -128,7 +140,7 @@ G4CollisionInitialState * G4CollisionManager::GetNextCollision()
|
||||
G4cerr <<" Time to collision "<<(*i)->GetCollisionTime()<<" "<<G4endl;
|
||||
G4cerr <<" projectile "<<(*i)->GetPrimary()->Get4Momentum()<<" "
|
||||
<<(*i)->GetPrimary()->GetDefinition()->GetParticleName()<<G4endl;
|
||||
G4cerr <<" target "<<(*i)->GetTarget()->Get4Momentum()<<" "
|
||||
if ((*i)->GetTarget()) G4cerr <<" target "<<(*i)->GetTarget()->Get4Momentum()<<" "
|
||||
<<(*i)->GetTarget()->GetDefinition()->GetParticleName()<<G4endl;
|
||||
}
|
||||
G4cerr <<"G4CollisionManager::GetNextCollision - End of message"<<G4endl;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4Scatterer.cc,v 1.18 2002/12/12 19:17:52 gunter Exp $ //
|
||||
// $Id: G4Scatterer.cc,v 1.19 2003/04/15 15:15:48 gunter Exp $ //
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
@@ -78,7 +78,8 @@ G4double G4Scatterer::GetTimeToInteraction(const G4KineticTrack& trk1,
|
||||
// Check whether there is enough energy for elastic scattering
|
||||
// (to put the particles on to mass shell
|
||||
|
||||
if (trk1.GetDefinition()->GetPDGMass() + trk2.GetDefinition()->GetPDGMass() < sqrtS)
|
||||
// if (trk1.GetDefinition()->GetPDGMass() + trk2.GetDefinition()->GetPDGMass() < sqrtS)
|
||||
if (trk1.GetActualMass() + trk2.GetActualMass() < sqrtS)
|
||||
{
|
||||
G4LorentzVector mom1 = trk1.Get4Momentum();
|
||||
// The nucleons of the nucleus are FROZEN, ie. do not move..
|
||||
@@ -247,6 +248,7 @@ G4double G4Scatterer::GetTimeToInteraction(const G4KineticTrack& trk1,
|
||||
<< ", mass1 = " << trk1.GetDefinition()->GetPDGMass()
|
||||
<< ", mass2 = " << trk2.GetDefinition()->GetPDGMass()
|
||||
<< G4endl;
|
||||
G4Exception("G4Scatterer TimeToInteraction is INF");
|
||||
// End of debugging
|
||||
*/
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4VAngularDistribution.cc,v 1.2 2002/12/12 19:17:52 gunter Exp $ //
|
||||
// $Id: G4VAngularDistribution.cc,v 1.3 2003/02/05 15:43:42 gcosmo Exp $ //
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
@@ -43,7 +43,6 @@
|
||||
#include "globals.hh"
|
||||
#include "G4VAngularDistribution.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "PhysicalConstants.h"
|
||||
|
||||
G4double G4VAngularDistribution::Phi() const
|
||||
{
|
||||
|
||||
+14
-15
@@ -76,12 +76,12 @@ G4KineticTrackVector* G4VScatteringCollision::FinalState(const G4KineticTrack& t
|
||||
G4double outm2 = OutputDefinitions[1]->GetPDGMass();
|
||||
|
||||
if (OutputDefinitions[0]->IsShortLived())
|
||||
outm1 = SampleResonanceMass(outm1, OutputDefinitions[0]->GetPDGWidth(),
|
||||
outm1 = SampleResonanceMass(outm1, OutputDefinitions[0]->GetPDGWidth(),
|
||||
G4Neutron::NeutronDefinition()->GetPDGMass()+G4PionPlus::PionPlus()->GetPDGMass(),
|
||||
sqrtS-outm2);
|
||||
sqrtS-(G4Neutron::NeutronDefinition()->GetPDGMass()+G4PionPlus::PionPlus()->GetPDGMass()));
|
||||
|
||||
if (OutputDefinitions[1]->IsShortLived())
|
||||
outm2 = SampleResonanceMass(outm2, OutputDefinitions[1]->GetPDGWidth(),
|
||||
outm2 = SampleResonanceMass(outm2, OutputDefinitions[1]->GetPDGWidth(),
|
||||
G4Neutron::NeutronDefinition()->GetPDGMass()+G4PionPlus::PionPlus()->GetPDGMass(),
|
||||
sqrtS-outm1);
|
||||
|
||||
@@ -100,15 +100,15 @@ G4KineticTrackVector* G4VScatteringCollision::FinalState(const G4KineticTrack& t
|
||||
|
||||
G4ThreeVector pFinal1(sin(acos(cosTheta))*cos(phi), sin(acos(cosTheta))*sin(phi), cosTheta);
|
||||
|
||||
// Three momentum in cm system
|
||||
// Three momentum in cm system
|
||||
G4double pCM = sqrt( (s-(outm1+outm2)*(outm1+outm2)) * (s-(outm1-outm2)*(outm1-outm2)) /(4.*s));
|
||||
pFinal1 = pFinal1 * pCM;
|
||||
pFinal1 = pFinal1 * pCM;
|
||||
G4ThreeVector pFinal2 = -pFinal1;
|
||||
|
||||
G4double eFinal1 = sqrt(pFinal1.mag2() + outm1*outm1);
|
||||
G4double eFinal2 = sqrt(pFinal2.mag2() + outm2*outm2);
|
||||
|
||||
G4LorentzVector p4Final1(pFinal1, eFinal1);
|
||||
|
||||
G4LorentzVector p4Final1(pFinal1, eFinal1);
|
||||
G4LorentzVector p4Final2(pFinal2, eFinal2);
|
||||
p4Final1 = toCMS*p4Final1;
|
||||
p4Final2 = toCMS*p4Final2;
|
||||
@@ -120,12 +120,12 @@ G4KineticTrackVector* G4VScatteringCollision::FinalState(const G4KineticTrack& t
|
||||
p4Final2 *= toLabFrame;
|
||||
|
||||
// Final tracks are copies of incoming ones, with modified 4-momenta
|
||||
|
||||
G4KineticTrack* final1 = new G4KineticTrack(const_cast<G4ParticleDefinition *>(OutputDefinitions[0]), 0.0,
|
||||
|
||||
G4KineticTrack* final1 = new G4KineticTrack(const_cast<G4ParticleDefinition *>(OutputDefinitions[0]), 0.0,
|
||||
trk1.GetPosition(), p4Final1);
|
||||
G4KineticTrack* final2 = new G4KineticTrack(const_cast<G4ParticleDefinition *>(OutputDefinitions[1]), 0.0,
|
||||
G4KineticTrack* final2 = new G4KineticTrack(const_cast<G4ParticleDefinition *>(OutputDefinitions[1]), 0.0,
|
||||
trk2.GetPosition(), p4Final2);
|
||||
|
||||
|
||||
G4KineticTrackVector* finalTracks = new G4KineticTrackVector;
|
||||
|
||||
finalTracks->push_back(final1);
|
||||
@@ -146,17 +146,16 @@ double G4VScatteringCollision::SampleResonanceMass(const double poleMass,
|
||||
// width gamma and pole poleMass
|
||||
|
||||
G4double minMass = aMinMass;
|
||||
if (minMass > maxMass) G4cerr << "##################### SampleResonanceMass: particle out of mass range" << G4endl;
|
||||
if(minMass > maxMass) minMass -= G4PionPlus::PionPlus()->GetPDGMass();
|
||||
if(minMass > maxMass) minMass = 0;
|
||||
// if (poleMass > maxMass || poleMass < minMass)
|
||||
// G4cerr << "SampleResonanceMass: particle out of mass range" << G4endl;
|
||||
|
||||
|
||||
if (gamma < 1E-10*GeV)
|
||||
return G4std::max(minMass,G4std::min(maxMass, poleMass));
|
||||
else {
|
||||
double fmin = BrWigInt0(minMass, gamma, poleMass);
|
||||
double fmax = BrWigInt0(maxMass, gamma, poleMass);
|
||||
double f = fmin + (fmax-fmin)*G4UniformRand();
|
||||
return BrWigInv(f, gamma, poleMass);
|
||||
return BrWigInv(f, gamma, poleMass);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user