Import Geant4 10.3.0.beta source tree
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$Id: History 94088 2015-11-05 15:11:00Z gcosmo $
|
||||
$Id: History 97178 2016-05-27 12:45:30Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,6 +14,15 @@ introduced in the code and keeptrack of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
26-May-2016, A. Ribon (phys-ctor-helastic-V10-02-01)
|
||||
- G4HadronElasticPhysicsPHP : made it thread-safe.
|
||||
|
||||
23-Feb-2016, A. Ribon (phys-ctor-helastic-V10-02-00)
|
||||
- G4HadronElasticPhysics : added missing hadron elastic for He3,
|
||||
using Glauber-Gribov elastic cross section (Gheisha does not have
|
||||
hadronic (elastic and inelastic) cross sections for He3).
|
||||
Thanks ALICE for spotting this.
|
||||
|
||||
05-Nov-2015, A. Ribon (phys-ctor-helastic-V10-01-05)
|
||||
- Removed neutron_hp/
|
||||
|
||||
|
||||
+2
-2
@@ -63,8 +63,8 @@ private:
|
||||
G4HadronElasticPhysicsPHP(const G4HadronElasticPhysicsPHP&);
|
||||
G4HadronElasticPhysicsPHP& operator=(const G4HadronElasticPhysicsPHP&);
|
||||
G4int verbose;
|
||||
G4bool wasActivated;
|
||||
G4HadronElasticPhysics* mainElasticBuilder;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
static G4ThreadLocal G4HadronElasticPhysics* mainElasticBuilder;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysics.cc 88356 2015-02-16 09:00:15Z gcosmo $
|
||||
// $Id: G4HadronElasticPhysics.cc 95771 2016-02-24 08:23:05Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -63,6 +63,8 @@
|
||||
#include "G4ElasticHadrNucleusHE.hh"
|
||||
#include "G4AntiNuclElastic.hh"
|
||||
|
||||
#include "G4ComponentGGNuclNuclXsc.hh"
|
||||
|
||||
#include "G4BGGNucleonElasticXS.hh"
|
||||
#include "G4BGGPionElasticXS.hh"
|
||||
|
||||
@@ -171,6 +173,18 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
<< " added for " << particle->GetParticleName() << G4endl;
|
||||
}
|
||||
|
||||
} else if(pname == "He3") {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
G4VCrossSectionDataSet* theComponentGGNuclNuclData =
|
||||
new G4CrossSectionElastic(new G4ComponentGGNuclNuclXsc());
|
||||
hel->AddDataSet(theComponentGGNuclNuclData);
|
||||
hel->RegisterMe(lhep0);
|
||||
pmanager->AddDiscreteProcess(hel);
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
<< " added for " << particle->GetParticleName() << G4endl;
|
||||
}
|
||||
|
||||
} else if(pname == "proton") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
|
||||
@@ -41,9 +41,16 @@
|
||||
#include "G4ParticleHPElastic.hh"
|
||||
#include "G4ParticleHPElasticData.hh"
|
||||
|
||||
// factory
|
||||
#include "G4PhysicsConstructorFactory.hh"
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronElasticPhysicsPHP);
|
||||
//
|
||||
G4ThreadLocal G4bool G4HadronElasticPhysicsPHP::wasActivated = false;
|
||||
G4ThreadLocal G4HadronElasticPhysics* G4HadronElasticPhysicsPHP::mainElasticBuilder = 0;
|
||||
|
||||
G4HadronElasticPhysicsPHP::G4HadronElasticPhysicsPHP(G4int ver)
|
||||
: G4VPhysicsConstructor("hElasticPhysics_PHP"), verbose(ver),
|
||||
wasActivated(false)
|
||||
: G4VPhysicsConstructor("hElasticPhysics_PHP"), verbose(ver)
|
||||
{
|
||||
if(verbose > 1) {
|
||||
G4cout << "### G4HadronElasticPhysicsPHP: " << GetPhysicsName()
|
||||
@@ -54,7 +61,7 @@ G4HadronElasticPhysicsPHP::G4HadronElasticPhysicsPHP(G4int ver)
|
||||
|
||||
G4HadronElasticPhysicsPHP::~G4HadronElasticPhysicsPHP()
|
||||
{
|
||||
delete mainElasticBuilder;
|
||||
delete mainElasticBuilder; mainElasticBuilder = 0;
|
||||
}
|
||||
|
||||
void G4HadronElasticPhysicsPHP::ConstructParticle()
|
||||
@@ -67,7 +74,8 @@ void G4HadronElasticPhysicsPHP::ConstructProcess()
|
||||
{
|
||||
if(wasActivated) { return; }
|
||||
wasActivated = true;
|
||||
|
||||
//Needed because this is a TLS object and this method is called by all threads
|
||||
if ( ! mainElasticBuilder ) mainElasticBuilder = new G4HadronElasticPhysics(verbose);
|
||||
mainElasticBuilder->ConstructProcess();
|
||||
|
||||
mainElasticBuilder->GetNeutronModel()->SetMinEnergy(19.5*MeV);
|
||||
|
||||
Reference in New Issue
Block a user