Import Geant4 9.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:15:05 +02:00
parent b79225fb37
commit 74cad5e589
3877 changed files with 234205 additions and 167127 deletions
@@ -30,6 +30,7 @@
#include "G4AntiNeutronAnnihilationAtRest.hh"
#include "G4DynamicParticle.hh"
#include "G4ParticleTypes.hh"
#include "G4HadronicProcessStore.hh"
#include "Randomize.hh"
#include <string.h>
#include <cmath>
@@ -67,17 +68,28 @@ G4AntiNeutronAnnihilationAtRest::G4AntiNeutronAnnihilationAtRest(const G4String&
eve = new G4GHEKinematicsVector [MAX_SECONDARIES];
gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
}
// destructor
G4AntiNeutronAnnihilationAtRest::~G4AntiNeutronAnnihilationAtRest()
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
delete [] pv;
delete [] eve;
delete [] gkin;
}
void G4AntiNeutronAnnihilationAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
}
void G4AntiNeutronAnnihilationAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->PrintInfo(&p);
}
// methods.............................................................................
@@ -88,7 +100,7 @@ G4bool G4AntiNeutronAnnihilationAtRest::IsApplicable(
return ( &particle == pdefAntiNeutron );
}
// Warning - this method may be optimized away if made "inline"
G4int G4AntiNeutronAnnihilationAtRest::GetNumberOfSecondaries()
{
@@ -31,6 +31,7 @@
#include "G4DynamicParticle.hh"
#include "G4ParticleTypes.hh"
#include "Randomize.hh"
#include "G4HadronicProcessStore.hh"
#include <string.h>
#include <cmath>
#include <stdio.h>
@@ -67,17 +68,28 @@ G4AntiProtonAnnihilationAtRest::G4AntiProtonAnnihilationAtRest(const G4String& p
eve = new G4GHEKinematicsVector [MAX_SECONDARIES];
gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
}
// destructor
G4AntiProtonAnnihilationAtRest::~G4AntiProtonAnnihilationAtRest()
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
delete [] pv;
delete [] eve;
delete [] gkin;
}
void G4AntiProtonAnnihilationAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
}
void G4AntiProtonAnnihilationAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->PrintInfo(&p);
}
// methods.............................................................................
@@ -31,6 +31,7 @@
#include "G4DynamicParticle.hh"
#include "G4ParticleTypes.hh"
#include "Randomize.hh"
#include "G4HadronicProcessStore.hh"
#include <string.h>
#include <cmath>
#include <stdio.h>
@@ -65,17 +66,28 @@ G4KaonMinusAbsorption::G4KaonMinusAbsorption(const G4String& processName,
eve = new G4GHEKinematicsVector [MAX_SECONDARIES];
gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
}
// destructor
G4KaonMinusAbsorption::~G4KaonMinusAbsorption()
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
delete [] pv;
delete [] eve;
delete [] gkin;
}
void G4KaonMinusAbsorption::PreparePhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
}
void G4KaonMinusAbsorption::BuildPhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->PrintInfo(&p);
}
// methods.............................................................................
@@ -42,6 +42,7 @@
#include "G4StopTheoDeexcitation.hh"
#include "G4StopDeexcitationAlgorithm.hh"
#include "G4ReactionKinematics.hh"
#include "G4HadronicProcessStore.hh"
G4KaonMinusAbsorptionAtRest::G4KaonMinusAbsorptionAtRest(const G4String& processName,
G4ProcessType aType ) :
@@ -79,12 +80,25 @@ G4KaonMinusAbsorptionAtRest::G4KaonMinusAbsorptionAtRest(const G4String& process
sigmaPlusLambdaConversionRate = 0.55;
sigmaMinusLambdaConversionRate = 0.55;
sigmaZeroLambdaConversionRate = 0.55;
G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
}
G4KaonMinusAbsorptionAtRest::~G4KaonMinusAbsorptionAtRest()
{ }
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
}
void G4KaonMinusAbsorptionAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
}
void G4KaonMinusAbsorptionAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->PrintInfo(&p);
}
G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt
(const G4Track& track, const G4Step& )
@@ -175,7 +189,7 @@ G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt
for ( i = 0; i<nAbsorptionProducts; i++)
{
pProducts = pProducts + (*absorptionProducts)[i]->GetMomentum();
pProducts += (*absorptionProducts)[i]->GetMomentum();
productEnergy += (*absorptionProducts)[i]->GetKineticEnergy();
}
@@ -184,8 +198,6 @@ G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt
G4double bDiff = G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(A),static_cast<G4int>(Z)) -
G4NucleiProperties::GetBindingEnergy(static_cast<G4int>(newA), static_cast<G4int>(newZ));
G4double pNucleus = pProducts.mag();
G4StopDeexcitationAlgorithm* nucleusAlgorithm = new G4StopTheoDeexcitation();
G4StopDeexcitation stopDeexcitation(nucleusAlgorithm);
@@ -199,7 +211,7 @@ G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt
G4cout << " -- KaonAtRest -- excitation = "
<< energyDeposit
<< ", pNucleus = "
<< pNucleus
<< pProducts
<< ", A: "
<< A
<< ", "
@@ -218,7 +230,7 @@ G4VParticleChange* G4KaonMinusAbsorptionAtRest::AtRestDoIt
}
delete nucleus;
G4ReactionProductVector* fragmentationProducts = stopDeexcitation.DoBreakUp(newA,newZ,energyDeposit,pNucleus);
G4ReactionProductVector* fragmentationProducts = stopDeexcitation.DoBreakUp(newA,newZ,energyDeposit,pProducts);
unsigned int nFragmentationProducts = 0;
if (fragmentationProducts != 0) nFragmentationProducts = fragmentationProducts->size();
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4MuonMinusCaptureAtRest.cc,v 1.53 2008/10/02 20:57:52 dennis Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4MuonMinusCaptureAtRest.cc,v 1.54 2009/01/24 11:55:38 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-03 $
//
// G4MuonMinusCaptureAtRest physics process
// Larry Felawka (TRIUMF) and Art Olin (TRIUMF)
@@ -32,11 +32,12 @@
//---------------------------------------------------------------------
//
// Modifications:
// 18/08/2000 V.Ivanchenko Update description
// 18/08/2000 V.Ivanchenko Update description
// 12/12/2003 H.P.Wellisch Completly rewrite mu-nuclear part
// 17/05/2006 V.Ivanchenko Cleanup
// 15/11/2006 V.Ivanchenko Review and rewrite all kinematics
// 24/01/2007 V.Ivanchenko Force to work with integer Z and A
// 23/01/2009 V.Ivanchenko Add deregistration
//
//-----------------------------------------------------------------------------
@@ -74,6 +75,7 @@ G4MuonMinusCaptureAtRest::G4MuonMinusCaptureAtRest(const G4String& processName,
G4MuonMinusCaptureAtRest::~G4MuonMinusCaptureAtRest()
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
delete [] Cascade;
delete pSelector;
delete pEMCascade;
@@ -31,6 +31,7 @@
#include "G4DynamicParticle.hh"
#include "G4ParticleTypes.hh"
#include "Randomize.hh"
#include "G4HadronicProcessStore.hh"
#include <string.h>
#include <cmath>
#include <stdio.h>
@@ -58,17 +59,28 @@ G4NeutronCaptureAtRest::G4NeutronCaptureAtRest(const G4String& processName,
eve = new G4GHEKinematicsVector [MAX_SECONDARIES];
gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
}
// destructor
G4NeutronCaptureAtRest::~G4NeutronCaptureAtRest()
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
delete [] pv;
delete [] eve;
delete [] gkin;
}
void G4NeutronCaptureAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
}
void G4NeutronCaptureAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->PrintInfo(&p);
}
// methods.............................................................................
@@ -52,10 +52,10 @@
#include "G4StopDummyDeexcitation.hh"
#include "G4DynamicParticle.hh"
#include "G4DynamicParticleVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "Randomize.hh"
#include "G4ThreeVector.hh"
#include "G4LorentzVector.hh"
#include "G4HadronicProcessStore.hh"
// Constructor
@@ -69,14 +69,26 @@ G4PiMinusAbsorptionAtRest::G4PiMinusAbsorptionAtRest(const G4String& processName
if (verboseLevel>0)
{ G4cout << GetProcessName() << " is created "<< G4endl; }
G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
}
// Destructor
G4PiMinusAbsorptionAtRest::~G4PiMinusAbsorptionAtRest()
{}
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
}
void G4PiMinusAbsorptionAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
}
void G4PiMinusAbsorptionAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->PrintInfo(&p);
}
G4VParticleChange* G4PiMinusAbsorptionAtRest::AtRestDoIt(const G4Track& track, const G4Step& )
{
@@ -141,8 +153,7 @@ G4VParticleChange* G4PiMinusAbsorptionAtRest::AtRestDoIt(const G4Track& track, c
G4double newZ = Z - stopAbsorption.NProtons();
G4double newN = A - Z - stopAbsorption.NNeutrons();
G4double newA = newZ + newN;
G4double pNucleus = (stopAbsorption.RecoilMomentum()).mag();
G4ReactionProductVector* fragmentationProducts = stopDeexcitation.DoBreakUp(newA,newZ,excitation,pNucleus);
G4ReactionProductVector* fragmentationProducts = stopDeexcitation.DoBreakUp(newA,newZ,excitation,stopAbsorption.RecoilMomentum());
unsigned int nAbsorptionProducts = 0;
if (absorptionProducts != 0)
@@ -43,7 +43,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -46,7 +46,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -45,7 +45,6 @@
#include "G4ReactionKinematics.hh"
#include "G4DynamicParticleVector.hh"
#include "G4LorentzVector.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4PiMinusStopMaterial.hh"
#include "G4DistributionGenerator.hh"
@@ -31,6 +31,7 @@
#include "G4DynamicParticle.hh"
#include "G4ParticleTypes.hh"
#include "Randomize.hh"
#include "G4HadronicProcessStore.hh"
#include <string.h>
#include <cmath>
#include <stdio.h>
@@ -60,17 +61,28 @@ G4PionMinusAbsorptionAtRest::G4PionMinusAbsorptionAtRest(const G4String& process
eve = new G4GHEKinematicsVector [MAX_SECONDARIES];
gkin = new G4GHEKinematicsVector [MAX_SECONDARIES];
G4HadronicProcessStore::Instance()->RegisterExtraProcess(this);
}
// destructor
G4PionMinusAbsorptionAtRest::~G4PionMinusAbsorptionAtRest()
{
G4HadronicProcessStore::Instance()->DeRegisterExtraProcess(this);
delete [] pv;
delete [] eve;
delete [] gkin;
}
void G4PionMinusAbsorptionAtRest::PreparePhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->RegisterParticleForExtraProcess(this, &p);
}
void G4PionMinusAbsorptionAtRest::BuildPhysicsTable(const G4ParticleDefinition& p)
{
G4HadronicProcessStore::Instance()->PrintInfo(&p);
}
// methods.............................................................................
@@ -38,7 +38,6 @@
#include "globals.hh"
#include "Randomize.hh"
#include "G4ParticleTypes.hh"
#include "G4NucleiPropertiesTable.hh"
#include "G4ParticleDefinition.hh"
#include "G4ThreeVector.hh"
@@ -63,10 +62,10 @@ G4ReactionProductVector* G4StopDeexcitation::DoBreakUp(G4double A, G4double Z,
G4double excitation,
const G4ThreeVector& p) const
{
G4ReactionProductVector* v = 0;
if (_algorithm != 0)
{
return _algorithm->BreakUp(A,Z,excitation,p);
v = _algorithm->BreakUp(A,Z,excitation,p);
}
else
return 0;
return v;
}