Import Geant4 10.5.0 source tree
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#
|
||||
# Generated on : 12-Jan-2013
|
||||
#
|
||||
# $Id: CMakeLists.txt 66704 2013-01-10 18:20:17Z gunter $
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# $Id: GNUmakefile 104019 2017-05-08 07:34:08Z gcosmo $
|
||||
# ---------------------------------------------------------------------------
|
||||
# GNUmakefile for physics_lists/constructors/electromagnetic library.
|
||||
# Gunter Folger 10-Jan-2012.
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
$Id: History 107437 2017-11-13 07:37:11Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -14,8 +13,38 @@ introduced in the code and keeptrack of all tags.
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
26-Nov-2018, A. Ribon (phys-ctor-helastic-V10-04-05)
|
||||
- README : updated this file. No changes to anything else.
|
||||
|
||||
22-Nov-2018, V. Ivanchenko (phys-ctor-helastic-V10-04-04)
|
||||
- G4HadronElasticPhysics, G4HadronElasticPhysicsXS - use
|
||||
G4BGGNucleonElasticXS x-section for protons
|
||||
|
||||
17-Oct-2018, A. Ribon (phys-ctor-helastic-V10-04-03)
|
||||
- G4HadronHElasticPhysics : for hyperon elastic cross sections,
|
||||
replaced Chips cross sections with Glauber-Gribov ones.
|
||||
|
||||
19-Jul-2018, V. Ivanchenko (phys-ctor-helastic-V10-04-02)
|
||||
- G4HadronElasticPhysics - fixed problem introduced in previous tags
|
||||
for Hadr06 and Hadr07 extended examples
|
||||
|
||||
17-Jul-2018, V. Ivanchenko (phys-ctor-helastic-V10-04-01)
|
||||
- G4ChargeExchangePhysics, G4IonElasticPhysics, G4ThermalNeutrons
|
||||
removed static members; use C++11 keywards
|
||||
|
||||
17-Jul-2018, V. Ivanchenko (phys-ctor-helastic-V10-04-00)
|
||||
- G4HadronElasticPhysics - added service methods GetElasticProcess(..),
|
||||
GetElasticModel(..) , AddXSection(..); use C++11 keywards;
|
||||
removed unnecessary statics
|
||||
- G4HadronElasticPhysicsHP, G4HadronElasticPhysicsPHP,
|
||||
G4HadronElasticPhysicsXS, G4HadronElasticPhysicsLEND - use inheritance
|
||||
from G4HadronElasticPhysics; removed most of static members; use
|
||||
C++11 keywards
|
||||
- G4HadronElasticPhysicsXS - fix problem #2057
|
||||
- G4HadronDElasticPhysics, G4HadronHElasticPhysics - use C++11 keywards
|
||||
|
||||
10-Nov-2017, T. Koi (phys-ctor-helastic-V10-03-04)
|
||||
-Dumpping LEND target information in G4HadronElasticPhysicsLEND
|
||||
- Dumpping LEND target information in G4HadronElasticPhysicsLEND
|
||||
|
||||
7-Nov-2017, T. Koi (phys-ctor-helastic-V10-03-03)
|
||||
- G4HadronElasticPhysicsLEND: Modify setting of selection of target data
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
$Id: $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -31,7 +30,7 @@ $Id: $
|
||||
----------------------
|
||||
Hadron nuclear elastic process for all hadrons:
|
||||
- proton
|
||||
- cross section: Chips
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: Chips
|
||||
- neutron:
|
||||
- cross section: G4NeutronElasticXS
|
||||
@@ -40,7 +39,7 @@ $Id: $
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: Starkov's model above 1 GeV, Gheisha below.
|
||||
- kaons
|
||||
- cross section: Gheisha
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Gheisha
|
||||
- hyperons, anti-hyperons, deuteron, triton, alpha
|
||||
- cross section: Gheisha
|
||||
@@ -67,8 +66,7 @@ $Id: $
|
||||
|
||||
G4HadronElasticPhysicsXS
|
||||
------------------------
|
||||
As G4HadronElasticPhysics, with only difference in the proton elastic
|
||||
cross section: Barashenkov-Glauber-Gribov is used (instead of Chips).
|
||||
Now exactly as G4HadronElasticPhysics.
|
||||
|
||||
G4HadronHElasticPhysics
|
||||
-----------------------
|
||||
@@ -82,11 +80,11 @@ $Id: $
|
||||
- cross section: Barashenkov-Glauber-Gribov
|
||||
- final-state: Diffuse model, except for Hydrogen where Chips is used
|
||||
- kaons, hyperons, anti-hyperons
|
||||
- cross section: Chips
|
||||
- final-state: Chips
|
||||
- deuteron, triton, He3, alpha
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Gheisha
|
||||
- final-state: Chips
|
||||
- deuteron, triton, He3, alpha, and generic ions
|
||||
- cross section: Glauber-Gribov
|
||||
- final-state: Diffuse
|
||||
- anti_proton, anti_neutron
|
||||
- cross section: Galoyan-Uzhinsky-Glauber-Gribov
|
||||
- final-state: Galoyan-Uzhinsky model above 100 MeV/nucleon,
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4ChargeExchangePhysics.hh 71037 2013-06-10 09:20:54Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,27 +41,25 @@
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
|
||||
class G4ChargeExchange;
|
||||
|
||||
class G4ChargeExchangePhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
G4ChargeExchangePhysics(G4int ver = 0);
|
||||
explicit G4ChargeExchangePhysics(G4int ver = 0);
|
||||
virtual ~G4ChargeExchangePhysics();
|
||||
|
||||
public:
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
void ConstructParticle() override;
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() override;
|
||||
|
||||
private:
|
||||
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronDElasticPhysics.hh 71037 2013-06-10 09:20:54Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -46,26 +45,26 @@ class G4HadronDElasticPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronDElasticPhysics(G4int ver = 1);
|
||||
explicit G4HadronDElasticPhysics(G4int ver = 1);
|
||||
|
||||
virtual ~G4HadronDElasticPhysics();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
void ConstructParticle() override;
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() override;
|
||||
|
||||
private:
|
||||
|
||||
G4HadronDElasticPhysics(G4HadronDElasticPhysics &);
|
||||
G4HadronDElasticPhysics & operator=(const G4HadronDElasticPhysics &right);
|
||||
G4HadronDElasticPhysics(G4HadronDElasticPhysics &) = delete;
|
||||
G4HadronDElasticPhysics & operator=
|
||||
(const G4HadronDElasticPhysics &right) = delete;
|
||||
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
G4int verbose;
|
||||
};
|
||||
|
||||
|
||||
|
||||
+19
-14
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysics.hh 81758 2014-06-05 08:12:06Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -49,39 +48,45 @@
|
||||
#include "G4HadronElastic.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
|
||||
class G4VCrossSectionDataSet;
|
||||
class G4ParticleDefinition;
|
||||
|
||||
class G4HadronElasticPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronElasticPhysics(G4int ver = 0);
|
||||
explicit G4HadronElasticPhysics(G4int ver = 0,
|
||||
const G4String& nam = "hElasticWEL_CHIPS_XS");
|
||||
|
||||
virtual ~G4HadronElasticPhysics();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
void ConstructParticle() override;
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() override;
|
||||
|
||||
G4HadronElastic* GetNeutronModel();
|
||||
G4HadronicProcess* GetElasticProcess(const G4ParticleDefinition* part) const;
|
||||
|
||||
G4HadronicProcess* GetNeutronProcess();
|
||||
G4HadronElastic* GetElasticModel(const G4ParticleDefinition* part) const;
|
||||
|
||||
G4HadronicProcess* GetNeutronProcess() const;
|
||||
|
||||
G4HadronElastic* GetNeutronModel() const;
|
||||
|
||||
void AddXSection(const G4ParticleDefinition*, G4VCrossSectionDataSet*) const;
|
||||
|
||||
private:
|
||||
|
||||
// copy constructor and hide assignment operator
|
||||
G4HadronElasticPhysics(G4HadronElasticPhysics &);
|
||||
G4HadronElasticPhysics & operator=(const G4HadronElasticPhysics &right);
|
||||
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
|
||||
static G4ThreadLocal G4HadronElastic* neutronModel;
|
||||
static G4ThreadLocal G4HadronicProcess* neutronProcess;
|
||||
G4HadronElasticPhysics(G4HadronElasticPhysics &) = delete;
|
||||
G4HadronElasticPhysics & operator=(const G4HadronElasticPhysics &right) = delete;
|
||||
|
||||
protected:
|
||||
G4int verbose;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
+6
-17
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysicsHP.hh 71037 2013-06-10 09:20:54Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -39,36 +38,26 @@
|
||||
#ifndef G4HadronElasticPhysicsHP_h
|
||||
#define G4HadronElasticPhysicsHP_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
|
||||
class G4HadronElasticPhysics;
|
||||
|
||||
class G4HadronElasticPhysicsHP : public G4VPhysicsConstructor
|
||||
class G4HadronElasticPhysicsHP : public G4HadronElasticPhysics
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronElasticPhysicsHP(G4int ver = 1);
|
||||
explicit G4HadronElasticPhysicsHP(G4int ver = 1);
|
||||
|
||||
virtual ~G4HadronElasticPhysicsHP();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() final;
|
||||
|
||||
private:
|
||||
|
||||
G4HadronElasticPhysicsHP(G4HadronElasticPhysicsHP &);
|
||||
G4HadronElasticPhysicsHP & operator=(const G4HadronElasticPhysicsHP &right);
|
||||
G4HadronElasticPhysicsHP(G4HadronElasticPhysicsHP &) = delete;
|
||||
G4HadronElasticPhysicsHP & operator=(const G4HadronElasticPhysicsHP &right) = delete;
|
||||
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
static G4ThreadLocal G4HadronElasticPhysics* mainElasticBuilder;
|
||||
};
|
||||
|
||||
|
||||
|
||||
+8
-17
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysicsLEND.hh 71037 2013-06-10 09:20:54Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -39,36 +38,28 @@
|
||||
#ifndef G4HadronElasticPhysicsLEND_h
|
||||
#define G4HadronElasticPhysicsLEND_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
|
||||
class G4HadronElasticPhysics;
|
||||
|
||||
class G4HadronElasticPhysicsLEND : public G4VPhysicsConstructor
|
||||
class G4HadronElasticPhysicsLEND : public G4HadronElasticPhysics
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronElasticPhysicsLEND(G4int ver = 1,G4String evaluation="");
|
||||
explicit G4HadronElasticPhysicsLEND(G4int ver = 1,
|
||||
const G4String& eval="");
|
||||
|
||||
virtual ~G4HadronElasticPhysicsLEND();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() final;
|
||||
|
||||
private:
|
||||
|
||||
G4HadronElasticPhysicsLEND(G4HadronElasticPhysicsLEND &);
|
||||
G4HadronElasticPhysicsLEND & operator=(const G4HadronElasticPhysicsLEND &right);
|
||||
G4HadronElasticPhysicsLEND(G4HadronElasticPhysicsLEND &) = delete;
|
||||
G4HadronElasticPhysicsLEND & operator=
|
||||
(const G4HadronElasticPhysicsLEND &right) = delete;
|
||||
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
static G4ThreadLocal G4HadronElasticPhysics* mainElasticBuilder;
|
||||
G4String evaluation;
|
||||
};
|
||||
|
||||
|
||||
+6
-17
@@ -37,35 +37,24 @@
|
||||
#ifndef G4HadronElasticPhysicsPHP_h
|
||||
#define G4HadronElasticPhysicsPHP_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
|
||||
class G4HadronElasticPhysics;
|
||||
|
||||
class G4HadronElasticPhysicsPHP : public G4VPhysicsConstructor
|
||||
class G4HadronElasticPhysicsPHP : public G4HadronElasticPhysics
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronElasticPhysicsPHP(G4int ver = 1);
|
||||
explicit G4HadronElasticPhysicsPHP(G4int ver = 1);
|
||||
|
||||
virtual ~G4HadronElasticPhysicsPHP();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() final;
|
||||
|
||||
private:
|
||||
G4HadronElasticPhysicsPHP(const G4HadronElasticPhysicsPHP&);
|
||||
G4HadronElasticPhysicsPHP& operator=(const G4HadronElasticPhysicsPHP&);
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
static G4ThreadLocal G4HadronElasticPhysics* mainElasticBuilder;
|
||||
G4HadronElasticPhysicsPHP(const G4HadronElasticPhysicsPHP&) = delete;
|
||||
G4HadronElasticPhysicsPHP& operator=(const G4HadronElasticPhysicsPHP&) = delete;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+6
-23
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysicsXS.hh 71037 2013-06-10 09:20:54Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -39,41 +38,25 @@
|
||||
#ifndef G4HadronElasticPhysicsXS_h
|
||||
#define G4HadronElasticPhysicsXS_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
|
||||
class G4HadronElasticPhysics;
|
||||
class G4VCrossSectionDataSet;
|
||||
class G4ParticleDefinition;
|
||||
|
||||
class G4HadronElasticPhysicsXS : public G4VPhysicsConstructor
|
||||
class G4HadronElasticPhysicsXS : public G4HadronElasticPhysics
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronElasticPhysicsXS(G4int ver = 1);
|
||||
explicit G4HadronElasticPhysicsXS(G4int ver = 1);
|
||||
|
||||
virtual ~G4HadronElasticPhysicsXS();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
|
||||
void AddXSection(const G4ParticleDefinition*,
|
||||
G4VCrossSectionDataSet*);
|
||||
void ConstructProcess() final;
|
||||
|
||||
private:
|
||||
|
||||
G4HadronElasticPhysicsXS(G4HadronElasticPhysicsXS &);
|
||||
G4HadronElasticPhysicsXS & operator=(const G4HadronElasticPhysicsXS &right);
|
||||
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
static G4ThreadLocal G4HadronElasticPhysics* mainElasticBuilder;
|
||||
G4HadronElasticPhysicsXS(G4HadronElasticPhysicsXS &) = delete;
|
||||
G4HadronElasticPhysicsXS & operator=(const G4HadronElasticPhysicsXS &right) = delete;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronHElasticPhysics.hh 90757 2015-06-09 07:45:14Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -54,19 +53,20 @@ public:
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
void ConstructParticle() override;
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() override;
|
||||
|
||||
inline void SetDiffraction(G4bool val) {fDiffraction = val;};
|
||||
|
||||
private:
|
||||
|
||||
G4HadronHElasticPhysics(G4HadronHElasticPhysics &);
|
||||
G4HadronHElasticPhysics & operator=(const G4HadronHElasticPhysics &right);
|
||||
G4HadronHElasticPhysics(G4HadronHElasticPhysics &) = delete;
|
||||
G4HadronHElasticPhysics & operator=
|
||||
(const G4HadronHElasticPhysics &right) = delete;
|
||||
|
||||
G4int verbose;
|
||||
G4bool fDiffraction;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4IonElasticPhysics.hh 73281 2013-08-23 08:21:37Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -41,34 +40,32 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicsConstructor.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
|
||||
class G4IonElasticPhysics : public G4VPhysicsConstructor
|
||||
{
|
||||
public:
|
||||
|
||||
G4IonElasticPhysics(G4int ver = 0);
|
||||
explicit G4IonElasticPhysics(G4int ver = 0);
|
||||
|
||||
virtual ~G4IonElasticPhysics();
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each particle type will be instantiated
|
||||
virtual void ConstructParticle();
|
||||
void ConstructParticle() override;
|
||||
|
||||
// This method will be invoked in the Construct() method.
|
||||
// each physics process will be instantiated and
|
||||
// registered to the process manager of each particle type
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() override;
|
||||
|
||||
private:
|
||||
|
||||
// copy constructor and hide assignment operator
|
||||
G4IonElasticPhysics(G4IonElasticPhysics &);
|
||||
G4IonElasticPhysics & operator=(const G4IonElasticPhysics &right);
|
||||
G4IonElasticPhysics(G4IonElasticPhysics &) = delete;
|
||||
G4IonElasticPhysics & operator=
|
||||
(const G4IonElasticPhysics &right) = delete;
|
||||
|
||||
G4int verbose;
|
||||
static G4ThreadLocal G4bool wasActivated;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4ThermalNeutrons.hh 70995 2013-06-09 00:56:34Z adotti $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -46,10 +45,10 @@
|
||||
class G4ThermalNeutrons : public G4VHadronPhysics {
|
||||
|
||||
public:
|
||||
G4ThermalNeutrons(G4int ver);
|
||||
explicit G4ThermalNeutrons(G4int ver);
|
||||
virtual ~G4ThermalNeutrons();
|
||||
|
||||
virtual void ConstructProcess();
|
||||
void ConstructProcess() override;
|
||||
|
||||
private:
|
||||
G4int verbose;
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
#
|
||||
# Generated on : 10/01/2013
|
||||
#
|
||||
# $Id: sources.cmake 104019 2017-05-08 07:34:08Z gcosmo $
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4ChargeExchangePhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -53,8 +52,6 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4ChargeExchangePhysics);
|
||||
|
||||
G4ThreadLocal G4bool G4ChargeExchangePhysics::wasActivated = false;
|
||||
|
||||
G4ChargeExchangePhysics::G4ChargeExchangePhysics(G4int ver)
|
||||
: G4VPhysicsConstructor("chargeExchange"), verbose(ver)
|
||||
{
|
||||
@@ -62,8 +59,7 @@ G4ChargeExchangePhysics::G4ChargeExchangePhysics(G4int ver)
|
||||
}
|
||||
|
||||
G4ChargeExchangePhysics::~G4ChargeExchangePhysics()
|
||||
{
|
||||
}
|
||||
{}
|
||||
|
||||
void G4ChargeExchangePhysics::ConstructParticle()
|
||||
{
|
||||
@@ -77,9 +73,6 @@ void G4ChargeExchangePhysics::ConstructParticle()
|
||||
|
||||
void G4ChargeExchangePhysics::ConstructProcess()
|
||||
{
|
||||
if(wasActivated) return;
|
||||
wasActivated = true;
|
||||
|
||||
G4ChargeExchange* model = new G4ChargeExchange();
|
||||
|
||||
if(verbose > 1) {
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronDElasticPhysics.cc 99978 2016-10-13 07:28:13Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -85,7 +84,6 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronDElasticPhysics);
|
||||
|
||||
G4ThreadLocal G4bool G4HadronDElasticPhysics::wasActivated = false;
|
||||
G4HadronDElasticPhysics::G4HadronDElasticPhysics(G4int ver)
|
||||
: G4VPhysicsConstructor("hElasticDIFFUSE"), verbose(ver)
|
||||
{
|
||||
@@ -114,9 +112,6 @@ void G4HadronDElasticPhysics::ConstructParticle()
|
||||
|
||||
void G4HadronDElasticPhysics::ConstructProcess()
|
||||
{
|
||||
if(wasActivated) return;
|
||||
wasActivated = true;
|
||||
|
||||
const G4double elimitAntiNuc = 100.1*MeV;
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronDElasticPhysics Construct Processes "
|
||||
@@ -135,7 +130,8 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
G4HadronElastic* lhep2 = new G4HadronElastic();
|
||||
lhep2->SetMaxEnergy(elimitAntiNuc);
|
||||
|
||||
G4DiffuseElastic* model = 0;
|
||||
G4DiffuseElastic* model = nullptr;
|
||||
G4HadronElasticProcess* hel = nullptr;
|
||||
|
||||
auto myParticleIterator=GetParticleIterator();
|
||||
myParticleIterator->reset();
|
||||
@@ -161,7 +157,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
pname == "triton"
|
||||
) {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->RegisterMe(lhep0);
|
||||
pmanager->AddDiscreteProcess(hel);
|
||||
if(verbose > 1) {
|
||||
@@ -171,7 +167,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
|
||||
} else if(pname == "proton") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(new G4BGGNucleonElasticXS(particle));
|
||||
//hel->AddDataSet(new G4CHIPSElasticXS());
|
||||
model = new G4DiffuseElastic();
|
||||
@@ -185,7 +181,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
|
||||
} else if(pname == "neutron") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4NeutronElasticXS::Default_Name()));
|
||||
model = new G4DiffuseElastic();
|
||||
hel->RegisterMe(lhep1);
|
||||
@@ -199,7 +195,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
|
||||
} else if (pname == "pi+" || pname == "pi-") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(new G4BGGPionElasticXS(particle));
|
||||
model = new G4DiffuseElastic();
|
||||
hel->RegisterMe(lhep1);
|
||||
@@ -212,7 +208,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
|
||||
} else if(pname == "kaon-") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonMinusElasticXS::Default_Name()));
|
||||
model = new G4DiffuseElastic();
|
||||
hel->RegisterMe(lhep1);
|
||||
@@ -224,7 +220,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
}
|
||||
} else if(pname == "kaon+") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonPlusElasticXS::Default_Name()));
|
||||
model = new G4DiffuseElastic();
|
||||
hel->RegisterMe(lhep1);
|
||||
@@ -238,7 +234,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
pname == "kaon0L"
|
||||
) {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsKaonZeroElasticXS::Default_Name()));
|
||||
model = new G4DiffuseElastic();
|
||||
hel->RegisterMe(lhep1);
|
||||
@@ -255,7 +251,7 @@ void G4HadronDElasticPhysics::ConstructProcess()
|
||||
pname == "anti_triton" ||
|
||||
pname == "anti_He3" ) {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(anucxs);
|
||||
hel->RegisterMe(lhep2);
|
||||
hel->RegisterMe(anuc);
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysics.cc 105730 2017-08-16 12:51:52Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -82,12 +81,9 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronElasticPhysics);
|
||||
//
|
||||
G4ThreadLocal G4bool G4HadronElasticPhysics::wasActivated = false;
|
||||
G4ThreadLocal G4HadronElastic* G4HadronElasticPhysics::neutronModel = 0;
|
||||
G4ThreadLocal G4HadronicProcess* G4HadronElasticPhysics::neutronProcess = 0;
|
||||
|
||||
G4HadronElasticPhysics::G4HadronElasticPhysics(G4int ver)
|
||||
: G4VPhysicsConstructor("hElasticWEL_CHIPS"), verbose(ver)
|
||||
G4HadronElasticPhysics::G4HadronElasticPhysics(G4int ver, const G4String& nam)
|
||||
: G4VPhysicsConstructor(nam), verbose(ver)
|
||||
{
|
||||
if(verbose > 1) {
|
||||
G4cout << "### G4HadronElasticPhysics: " << GetPhysicsName()
|
||||
@@ -113,9 +109,6 @@ void G4HadronElasticPhysics::ConstructParticle()
|
||||
|
||||
void G4HadronElasticPhysics::ConstructProcess()
|
||||
{
|
||||
if(wasActivated) { return; }
|
||||
wasActivated = true;
|
||||
|
||||
const G4double elimitPi = 1.0*GeV;
|
||||
const G4double elimitAntiNuc = 100.*MeV;
|
||||
const G4double delta = 0.1*MeV;
|
||||
@@ -137,15 +130,14 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
lhep1->SetMaxEnergy(elimitPi+delta);
|
||||
lhep2->SetMaxEnergy(elimitAntiNuc+delta);
|
||||
|
||||
G4ChipsElasticModel* chipsp = new G4ChipsElasticModel();
|
||||
neutronModel = new G4ChipsElasticModel();
|
||||
|
||||
G4ElasticHadrNucleusHE* he = new G4ElasticHadrNucleusHE();
|
||||
he->SetMinEnergy(elimitPi);
|
||||
|
||||
G4VCrossSectionDataSet* theComponentGGHadronNucleusData =
|
||||
new G4CrossSectionElastic( new G4ComponentGGHadronNucleusXsc );
|
||||
|
||||
G4HadronElasticProcess* hel = nullptr;
|
||||
|
||||
auto myParticleIterator=GetParticleIterator();
|
||||
myParticleIterator->reset();
|
||||
while( (*myParticleIterator)() )
|
||||
@@ -170,7 +162,7 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
pname == "triton"
|
||||
) {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->RegisterMe(lhep0);
|
||||
pmanager->AddDiscreteProcess(hel);
|
||||
if(verbose > 1) {
|
||||
@@ -179,7 +171,7 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
}
|
||||
|
||||
} else if(pname == "He3") {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
G4VCrossSectionDataSet* theComponentGGNuclNuclData =
|
||||
new G4CrossSectionElastic(new G4ComponentGGNuclNuclXsc());
|
||||
hel->AddDataSet(theComponentGGNuclNuclData);
|
||||
@@ -192,13 +184,12 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
|
||||
} else if(pname == "proton") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
//hel->AddDataSet(new G4BGGNucleonElasticXS(particle));
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(new G4BGGNucleonElasticXS(particle));
|
||||
|
||||
// hel->AddDataSet(new G4ChipsProtonElasticXS());
|
||||
hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsProtonElasticXS::Default_Name()));
|
||||
//hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsProtonElasticXS::Default_Name()));
|
||||
|
||||
hel->RegisterMe(chipsp);
|
||||
hel->RegisterMe(new G4ChipsElasticModel());
|
||||
pmanager->AddDiscreteProcess(hel);
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
@@ -207,19 +198,18 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
|
||||
} else if(pname == "neutron") {
|
||||
|
||||
neutronProcess = new G4HadronElasticProcess();
|
||||
neutronProcess->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4NeutronElasticXS::Default_Name()));
|
||||
neutronProcess->RegisterMe(neutronModel);
|
||||
pmanager->AddDiscreteProcess(neutronProcess);
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4NeutronElasticXS::Default_Name()));
|
||||
hel->RegisterMe(new G4ChipsElasticModel());
|
||||
pmanager->AddDiscreteProcess(hel);
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronElasticPhysics: "
|
||||
<< neutronProcess->GetProcessName()
|
||||
G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
<< " added for " << particle->GetParticleName() << G4endl;
|
||||
}
|
||||
|
||||
} else if (pname == "pi+" || pname == "pi-") {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(new G4BGGPionElasticXS(particle));
|
||||
hel->RegisterMe(lhep1);
|
||||
hel->RegisterMe(he);
|
||||
@@ -235,7 +225,7 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
pname == "kaon0L"
|
||||
) {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
//AR-14Aug2017 : Replaced Gheisha elastic kaon cross sections with
|
||||
// Grichine's Glauber-Gribov ones. In this way, the
|
||||
// total (elastic + inelastic) kaon cross sections
|
||||
@@ -257,7 +247,7 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
pname == "anti_triton" ||
|
||||
pname == "anti_He3" ) {
|
||||
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(anucxs);
|
||||
hel->RegisterMe(lhep2);
|
||||
hel->RegisterMe(anuc);
|
||||
@@ -266,15 +256,48 @@ void G4HadronElasticPhysics::ConstructProcess()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
G4HadronElastic* G4HadronElasticPhysics::GetNeutronModel()
|
||||
G4HadronicProcess*
|
||||
G4HadronElasticPhysics::GetElasticProcess(const G4ParticleDefinition* part) const
|
||||
{
|
||||
return neutronModel;
|
||||
G4HadronicProcess* hp = nullptr;
|
||||
G4ProcessVector* pv = part->GetProcessManager()->GetPostStepProcessVector();
|
||||
size_t n = pv->size();
|
||||
for(size_t i=0; i<n; ++i) {
|
||||
if((*pv)[i]->GetProcessSubType() == fHadronElastic) {
|
||||
hp = static_cast<G4HadronicProcess*>((*pv)[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return hp;
|
||||
}
|
||||
|
||||
G4HadronicProcess* G4HadronElasticPhysics::GetNeutronProcess()
|
||||
G4HadronElastic*
|
||||
G4HadronElasticPhysics::GetElasticModel(const G4ParticleDefinition* part) const
|
||||
{
|
||||
return neutronProcess;
|
||||
G4HadronElastic* mod = nullptr;
|
||||
G4HadronicProcess* hel = GetElasticProcess(part);
|
||||
if(hel) {
|
||||
std::vector<G4HadronicInteraction*>& hi = hel->GetHadronicInteractionList();
|
||||
if(hi.size() > 0) { mod = static_cast<G4HadronElastic*>(hi[0]); }
|
||||
}
|
||||
return mod;
|
||||
}
|
||||
|
||||
G4HadronicProcess* G4HadronElasticPhysics::GetNeutronProcess() const
|
||||
{
|
||||
return GetElasticProcess(G4Neutron::Neutron());
|
||||
}
|
||||
|
||||
G4HadronElastic* G4HadronElasticPhysics::GetNeutronModel() const
|
||||
{
|
||||
return GetElasticModel(G4Neutron::Neutron());
|
||||
}
|
||||
|
||||
void G4HadronElasticPhysics::AddXSection(const G4ParticleDefinition* part,
|
||||
G4VCrossSectionDataSet* cross) const
|
||||
{
|
||||
G4HadronicProcess* hel = GetElasticProcess(part);
|
||||
if(hel) { hel->AddDataSet(cross); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysicsHP.cc 93877 2015-11-03 08:17:08Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -41,7 +40,6 @@
|
||||
|
||||
#include "G4HadronElasticPhysicsHP.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
#include "G4HadronElastic.hh"
|
||||
@@ -53,44 +51,30 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronElasticPhysicsHP);
|
||||
|
||||
G4ThreadLocal G4bool G4HadronElasticPhysicsHP::wasActivated = false;
|
||||
G4ThreadLocal G4HadronElasticPhysics* G4HadronElasticPhysicsHP::mainElasticBuilder = 0;
|
||||
|
||||
G4HadronElasticPhysicsHP::G4HadronElasticPhysicsHP(G4int ver)
|
||||
: G4VPhysicsConstructor("hElasticWEL_CHIPS_HP"), verbose(ver)
|
||||
: G4HadronElasticPhysics(ver, "hElasticWEL_CHIPS_HP")
|
||||
{
|
||||
if(verbose > 1) {
|
||||
G4cout << "### G4HadronElasticPhysicsHP: " << GetPhysicsName()
|
||||
<< G4endl;
|
||||
}
|
||||
mainElasticBuilder = new G4HadronElasticPhysics(verbose);
|
||||
}
|
||||
|
||||
G4HadronElasticPhysicsHP::~G4HadronElasticPhysicsHP()
|
||||
{
|
||||
delete mainElasticBuilder;
|
||||
}
|
||||
|
||||
void G4HadronElasticPhysicsHP::ConstructParticle()
|
||||
{
|
||||
// G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl;
|
||||
mainElasticBuilder->ConstructParticle();
|
||||
}
|
||||
{}
|
||||
|
||||
void G4HadronElasticPhysicsHP::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();
|
||||
G4HadronElasticPhysics::ConstructProcess();
|
||||
|
||||
mainElasticBuilder->GetNeutronModel()->SetMinEnergy(19.5*MeV);
|
||||
|
||||
G4HadronicProcess* hel = mainElasticBuilder->GetNeutronProcess();
|
||||
G4ParticleHPElastic* hp = new G4ParticleHPElastic();
|
||||
hel->RegisterMe(hp);
|
||||
hel->AddDataSet(new G4ParticleHPElasticData());
|
||||
const G4ParticleDefinition* neutron = G4Neutron::Neutron();
|
||||
G4HadronElastic* he = GetElasticModel(neutron);
|
||||
G4HadronicProcess* hel = GetElasticProcess(neutron);
|
||||
if(he && hel) {
|
||||
he->SetMinEnergy(19.5*MeV);
|
||||
hel->RegisterMe(new G4ParticleHPElastic());
|
||||
hel->AddDataSet(new G4ParticleHPElasticData());
|
||||
}
|
||||
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronElasticPhysicsHP is constructed "
|
||||
|
||||
+23
-38
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysicsLEND.cc 107437 2017-11-13 07:37:11Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,7 +41,6 @@
|
||||
|
||||
#include "G4HadronElasticPhysicsLEND.hh"
|
||||
#include "G4SystemOfUnits.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
#include "G4HadronElastic.hh"
|
||||
@@ -55,54 +53,41 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronElasticPhysicsLEND);
|
||||
|
||||
G4ThreadLocal G4bool G4HadronElasticPhysicsLEND::wasActivated = false;
|
||||
G4ThreadLocal G4HadronElasticPhysics* G4HadronElasticPhysicsLEND::mainElasticBuilder = 0;
|
||||
|
||||
G4HadronElasticPhysicsLEND::G4HadronElasticPhysicsLEND(G4int ver,G4String eva)
|
||||
: G4VPhysicsConstructor("hElasticWEL_CHIPS_LEND"), verbose(ver),
|
||||
evaluation(eva)
|
||||
G4HadronElasticPhysicsLEND::G4HadronElasticPhysicsLEND(G4int ver, const G4String& eva)
|
||||
: G4HadronElasticPhysics(ver, "hElasticWEL_CHIPS_LEND"), evaluation(eva)
|
||||
{
|
||||
if(verbose > 1) {
|
||||
G4cout << "### G4HadronElasticPhysicsLEND: " << GetPhysicsName()
|
||||
<< G4endl;
|
||||
}
|
||||
mainElasticBuilder = new G4HadronElasticPhysics(verbose);
|
||||
}
|
||||
|
||||
G4HadronElasticPhysicsLEND::~G4HadronElasticPhysicsLEND()
|
||||
{
|
||||
delete mainElasticBuilder;
|
||||
}
|
||||
|
||||
void G4HadronElasticPhysicsLEND::ConstructParticle()
|
||||
{
|
||||
// G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl;
|
||||
mainElasticBuilder->ConstructParticle();
|
||||
}
|
||||
{}
|
||||
|
||||
void G4HadronElasticPhysicsLEND::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();
|
||||
G4HadronElasticPhysics::ConstructProcess();
|
||||
|
||||
mainElasticBuilder->GetNeutronModel()->SetMinEnergy(19.5*MeV);
|
||||
|
||||
G4HadronicProcess* hel = mainElasticBuilder->GetNeutronProcess();
|
||||
|
||||
G4LENDElastic* lend = new G4LENDElastic( G4Neutron::Neutron() );
|
||||
if ( evaluation.size() > 0 ) lend->ChangeDefaultEvaluation( evaluation );
|
||||
lend->AllowNaturalAbundanceTarget();
|
||||
//lend->AllowAnyCandidateTarget();
|
||||
lend->DumpLENDTargetInfo(true);
|
||||
hel->RegisterMe(lend);
|
||||
G4LENDElasticCrossSection* lend_XS = new G4LENDElasticCrossSection( G4Neutron::Neutron() );
|
||||
if ( evaluation.size() > 0 ) lend_XS->ChangeDefaultEvaluation( evaluation );
|
||||
lend_XS->AllowNaturalAbundanceTarget();
|
||||
//lend_XS->AllowAnyCandidateTarget();
|
||||
hel->AddDataSet( lend_XS );
|
||||
G4ParticleDefinition* neutron = G4Neutron::Neutron();
|
||||
G4HadronElastic* he = GetElasticModel(neutron);
|
||||
G4HadronicProcess* hel = GetElasticProcess(neutron);
|
||||
if(he && hel) {
|
||||
he->SetMinEnergy(19.5*MeV);
|
||||
G4LENDElastic* lend = new G4LENDElastic(neutron);
|
||||
G4LENDElasticCrossSection* lend_XS = new G4LENDElasticCrossSection(neutron);
|
||||
if ( evaluation.size() > 0 ) {
|
||||
lend->ChangeDefaultEvaluation( evaluation );
|
||||
lend_XS->ChangeDefaultEvaluation( evaluation );
|
||||
}
|
||||
lend->AllowNaturalAbundanceTarget();
|
||||
//lend->AllowAnyCandidateTarget();
|
||||
lend->DumpLENDTargetInfo(true);
|
||||
hel->RegisterMe(lend);
|
||||
lend_XS->AllowNaturalAbundanceTarget();
|
||||
//lend_XS->AllowAnyCandidateTarget();
|
||||
hel->AddDataSet( lend_XS );
|
||||
}
|
||||
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronElasticPhysicsLEND is constructed"
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
// particle HP model for n with E < 20 MeV
|
||||
|
||||
#include "G4HadronElasticPhysicsPHP.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
#include "G4HadronElastic.hh"
|
||||
@@ -47,44 +46,31 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronElasticPhysicsPHP);
|
||||
//
|
||||
G4ThreadLocal G4bool G4HadronElasticPhysicsPHP::wasActivated = false;
|
||||
G4ThreadLocal G4HadronElasticPhysics* G4HadronElasticPhysicsPHP::mainElasticBuilder = 0;
|
||||
|
||||
G4HadronElasticPhysicsPHP::G4HadronElasticPhysicsPHP(G4int ver)
|
||||
: G4VPhysicsConstructor("hElasticPhysics_PHP"), verbose(ver)
|
||||
: G4HadronElasticPhysics(ver, "hElasticPhysics_PHP")
|
||||
{
|
||||
if(verbose > 1) {
|
||||
G4cout << "### G4HadronElasticPhysicsPHP: " << GetPhysicsName()
|
||||
<< G4endl;
|
||||
}
|
||||
mainElasticBuilder = new G4HadronElasticPhysics(verbose);
|
||||
}
|
||||
|
||||
G4HadronElasticPhysicsPHP::~G4HadronElasticPhysicsPHP()
|
||||
{
|
||||
delete mainElasticBuilder; mainElasticBuilder = 0;
|
||||
}
|
||||
|
||||
void G4HadronElasticPhysicsPHP::ConstructParticle()
|
||||
{
|
||||
// G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl;
|
||||
mainElasticBuilder->ConstructParticle();
|
||||
}
|
||||
{}
|
||||
|
||||
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();
|
||||
G4HadronElasticPhysics::ConstructProcess();
|
||||
|
||||
mainElasticBuilder->GetNeutronModel()->SetMinEnergy(19.5*MeV);
|
||||
|
||||
G4HadronicProcess* hel = mainElasticBuilder->GetNeutronProcess();
|
||||
G4ParticleHPElastic* hp = new G4ParticleHPElastic();
|
||||
hel->RegisterMe(hp);
|
||||
hel->AddDataSet(new G4ParticleHPElasticData());
|
||||
const G4ParticleDefinition* neutron = G4Neutron::Neutron();
|
||||
G4HadronElastic* he = GetElasticModel(neutron);
|
||||
G4HadronicProcess* hel = GetElasticProcess(neutron);
|
||||
if(he && hel) {
|
||||
he->SetMinEnergy(19.5*MeV);
|
||||
hel->RegisterMe(new G4ParticleHPElastic());
|
||||
hel->AddDataSet(new G4ParticleHPElasticData());
|
||||
}
|
||||
|
||||
if(verbose > 1) {
|
||||
G4cout << "### HadronElasticPhysicsHP is constructed "
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticPhysicsXS.cc 83699 2014-09-10 07:18:25Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -40,10 +39,6 @@
|
||||
// XS cross sections for neutrons
|
||||
|
||||
#include "G4HadronElasticPhysicsXS.hh"
|
||||
#include "G4HadronElasticPhysics.hh"
|
||||
#include "G4HadronicProcessType.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4Proton.hh"
|
||||
@@ -53,78 +48,34 @@
|
||||
#include "G4BGGPionElasticXS.hh"
|
||||
#include "G4NeutronElasticXS.hh"
|
||||
|
||||
#include "G4CrossSectionDataSetRegistry.hh"
|
||||
// factory
|
||||
#include "G4PhysicsConstructorFactory.hh"
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4HadronElasticPhysicsXS);
|
||||
|
||||
G4ThreadLocal G4bool G4HadronElasticPhysicsXS::wasActivated = false;
|
||||
G4ThreadLocal G4HadronElasticPhysics* G4HadronElasticPhysicsXS::mainElasticBuilder = 0;
|
||||
|
||||
G4HadronElasticPhysicsXS::G4HadronElasticPhysicsXS(G4int ver)
|
||||
: G4VPhysicsConstructor("hElasticWEL_CHIPS_XS"), verbose(ver)
|
||||
: G4HadronElasticPhysics(ver, "hElasticWEL_CHIPS_XS")
|
||||
{
|
||||
if(verbose > 1) {
|
||||
G4cout << "### G4HadronElasticPhysicsHP: " << GetPhysicsName()
|
||||
<< G4endl;
|
||||
}
|
||||
mainElasticBuilder = new G4HadronElasticPhysics(verbose);
|
||||
}
|
||||
|
||||
G4HadronElasticPhysicsXS::~G4HadronElasticPhysicsXS()
|
||||
{
|
||||
delete mainElasticBuilder;
|
||||
}
|
||||
|
||||
void G4HadronElasticPhysicsXS::ConstructParticle()
|
||||
{
|
||||
// G4cout << "G4HadronElasticPhysics::ConstructParticle" << G4endl;
|
||||
mainElasticBuilder->ConstructParticle();
|
||||
}
|
||||
{}
|
||||
|
||||
void G4HadronElasticPhysicsXS::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->GetNeutronProcess()->
|
||||
AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4NeutronElasticXS::Default_Name()));
|
||||
|
||||
G4HadronElasticPhysics::ConstructProcess();
|
||||
/*
|
||||
const G4ParticleDefinition* part = G4Proton::Proton();
|
||||
AddXSection(part, new G4BGGNucleonElasticXS(part));
|
||||
/*
|
||||
part = G4PionPlus::PionPlus();
|
||||
AddXSection(part, new G4BGGPionElasticXS(part));
|
||||
|
||||
part = G4PionMinus::PionMinus();
|
||||
AddXSection(part, new G4BGGPionElasticXS(part));
|
||||
*/
|
||||
|
||||
if(verbose > 1) {
|
||||
G4cout << "### G4HadronElasticPhysicsXS is constructed "
|
||||
<< G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
G4HadronElasticPhysicsXS::AddXSection(const G4ParticleDefinition* part,
|
||||
G4VCrossSectionDataSet* cross)
|
||||
{
|
||||
G4ProcessVector* pv = part->GetProcessManager()->GetPostStepProcessVector();
|
||||
size_t n = pv->size();
|
||||
if(0 < n) {
|
||||
for(size_t i=0; i<n; ++i) {
|
||||
if((*pv)[i]->GetProcessSubType() == fHadronElastic) {
|
||||
G4HadronicProcess* hp = static_cast<G4HadronicProcess*>((*pv)[i]);
|
||||
hp->AddDataSet(cross);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronHElasticPhysics.cc 106721 2017-10-20 09:46:54Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -85,7 +84,7 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY( G4HadronHElasticPhysics );
|
||||
|
||||
G4ThreadLocal G4DiffElasticRatio* G4HadronHElasticPhysics::diffRatio = 0;
|
||||
G4ThreadLocal G4DiffElasticRatio* G4HadronHElasticPhysics::diffRatio = nullptr;
|
||||
|
||||
G4HadronHElasticPhysics::G4HadronHElasticPhysics( G4int ver, G4bool diffraction)
|
||||
: G4VPhysicsConstructor( "hElastic_BEST" ), verbose( ver ),
|
||||
@@ -156,12 +155,13 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
G4VCrossSectionDataSet* theComponentGGNuclNuclData =
|
||||
new G4CrossSectionElastic( new G4ComponentGGNuclNuclXsc() );
|
||||
|
||||
G4LMsdGenerator* diffGen = 0;
|
||||
G4LMsdGenerator* diffGen = nullptr;
|
||||
if(fDiffraction) {
|
||||
diffGen = new G4LMsdGenerator("LMsdDiffraction");
|
||||
diffRatio = new G4DiffElasticRatio();
|
||||
G4AutoDelete::Register(diffRatio);
|
||||
}
|
||||
G4HadronElasticProcess* hel = nullptr;
|
||||
|
||||
auto myParticleIterator=GetParticleIterator();
|
||||
myParticleIterator->reset();
|
||||
@@ -179,7 +179,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
pname == "anti_xi0" ||
|
||||
pname == "anti_omega-"
|
||||
) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet( G4ChipsAntiBaryonElasticXS::Default_Name() ) );
|
||||
hel->RegisterMe( chips1 );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
@@ -196,8 +196,8 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
pname == "xi0" ||
|
||||
pname == "omega-"
|
||||
) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet( G4ChipsHyperonElasticXS::Default_Name() ) );
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( theComponentGGHadronNucleusData );
|
||||
hel->RegisterMe( chips1 );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
if ( verbose > 1 ) {
|
||||
@@ -206,7 +206,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
}
|
||||
|
||||
} else if ( pname == "proton" ) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( new G4BGGNucleonElasticXS( particle ) );
|
||||
// To preserve reproducibility, a different instance of
|
||||
// G4DiffuseElastic must be used for each particle type.
|
||||
@@ -222,7 +222,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
}
|
||||
|
||||
} else if ( pname == "neutron" ) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4NeutronElasticXS::Default_Name()) );
|
||||
// To preserve reproducibility, a different instance of
|
||||
// G4DiffuseElastic must be used for each particle type.
|
||||
@@ -239,7 +239,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
}
|
||||
|
||||
} else if ( pname == "pi-" ) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( new G4BGGPionElasticXS( particle ) );
|
||||
// To preserve reproducibility, a different instance of
|
||||
// G4DiffuseElastic must be used for each particle type.
|
||||
@@ -255,7 +255,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
}
|
||||
|
||||
} else if ( pname == "pi+" ) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( new G4BGGPionElasticXS( particle ) );
|
||||
// To preserve reproducibility, a different instance of
|
||||
// G4DiffuseElastic must be used for each particle type.
|
||||
@@ -275,7 +275,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
pname == "kaon0S" ||
|
||||
pname == "kaon0L"
|
||||
) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
//AR-14Aug2017 : Replaced Chips elastic kaon cross sections with
|
||||
// Grichine's Glauber-Gribov ones. In this way, the
|
||||
// total (elastic + inelastic) kaon cross sections
|
||||
@@ -297,7 +297,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
pname == "He3" ||
|
||||
pname == "alpha"
|
||||
) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( theComponentGGNuclNuclData );
|
||||
hel->RegisterMe( diffuseNuclNuclElastic );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
@@ -307,7 +307,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
}
|
||||
|
||||
} else if ( pname == "anti_proton" || pname == "anti_neutron" ) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( anucxs );
|
||||
hel->RegisterMe( chips2 );
|
||||
hel->RegisterMe( anuc );
|
||||
@@ -322,7 +322,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
pname == "anti_He3" ||
|
||||
pname == "anti_alpha"
|
||||
) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( anucxs );
|
||||
hel->RegisterMe( lhep );
|
||||
hel->RegisterMe( anuc );
|
||||
@@ -333,7 +333,7 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
}
|
||||
|
||||
} else if ( pname == "GenericIon" ) {
|
||||
G4HadronElasticProcess* hel = new G4HadronElasticProcess();
|
||||
hel = new G4HadronElasticProcess();
|
||||
hel->AddDataSet( theComponentGGNuclNuclData );
|
||||
hel->RegisterMe( diffuseNuclNuclElastic );
|
||||
pmanager->AddDiscreteProcess( hel );
|
||||
@@ -341,9 +341,6 @@ void G4HadronHElasticPhysics::ConstructProcess() {
|
||||
G4cout << "### HadronElasticPhysics: " << hel->GetProcessName()
|
||||
<< " added for " << particle->GetParticleName() << G4endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4IonElasticPhysics.cc 73281 2013-08-23 08:21:37Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
@@ -42,9 +41,7 @@
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4ProcessManager.hh"
|
||||
|
||||
#include "G4MesonConstructor.hh"
|
||||
#include "G4BaryonConstructor.hh"
|
||||
#include "G4IonConstructor.hh"
|
||||
#include "G4GenericIon.hh"
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4NuclNuclDiffuseElastic.hh"
|
||||
@@ -56,7 +53,6 @@
|
||||
//
|
||||
G4_DECLARE_PHYSCONSTR_FACTORY(G4IonElasticPhysics);
|
||||
//
|
||||
G4ThreadLocal G4bool G4IonElasticPhysics::wasActivated = false;
|
||||
|
||||
G4IonElasticPhysics::G4IonElasticPhysics(G4int ver)
|
||||
: G4VPhysicsConstructor("IonElasticPhysics"), verbose(ver)
|
||||
@@ -72,41 +68,30 @@ G4IonElasticPhysics::~G4IonElasticPhysics()
|
||||
|
||||
void G4IonElasticPhysics::ConstructParticle()
|
||||
{
|
||||
// G4cout << "G4IonElasticPhysics::ConstructParticle" << G4endl;
|
||||
G4MesonConstructor pMesonConstructor;
|
||||
pMesonConstructor.ConstructParticle();
|
||||
|
||||
G4BaryonConstructor pBaryonConstructor;
|
||||
pBaryonConstructor.ConstructParticle();
|
||||
|
||||
G4IonConstructor pConstructor;
|
||||
pConstructor.ConstructParticle();
|
||||
G4GenericIon::GenericIon();
|
||||
}
|
||||
|
||||
void G4IonElasticPhysics::ConstructProcess()
|
||||
{
|
||||
if(wasActivated) { return; }
|
||||
wasActivated = true;
|
||||
// Elastic process for other ions
|
||||
G4HadronElasticProcess* ionElasticProcess = new G4HadronElasticProcess("ionElastic");
|
||||
|
||||
// Elastic process for other ions
|
||||
G4HadronElasticProcess* ionElasticProcess = new G4HadronElasticProcess("ionElastic");
|
||||
//Model
|
||||
G4NuclNuclDiffuseElastic* ionElastic = new G4NuclNuclDiffuseElastic;
|
||||
ionElastic->SetMinEnergy(0.0);
|
||||
ionElasticProcess->RegisterMe(ionElastic);
|
||||
|
||||
//Model
|
||||
G4NuclNuclDiffuseElastic* ionElastic = new G4NuclNuclDiffuseElastic;
|
||||
ionElastic->SetMinEnergy(0.0);
|
||||
ionElasticProcess->RegisterMe(ionElastic);
|
||||
//Cross Section
|
||||
G4ComponentGGNuclNuclXsc* ionElasticXS = new G4ComponentGGNuclNuclXsc;
|
||||
G4VCrossSectionDataSet* ionElasticXSDataSet = new G4CrossSectionElastic(ionElasticXS);
|
||||
ionElasticXSDataSet->SetMinKinEnergy(0.0);
|
||||
ionElasticProcess->AddDataSet(ionElasticXSDataSet);
|
||||
|
||||
//Cross Section
|
||||
G4ComponentGGNuclNuclXsc* ionElasticXS = new G4ComponentGGNuclNuclXsc;
|
||||
G4VCrossSectionDataSet* ionElasticXSDataSet = new G4CrossSectionElastic(ionElasticXS);
|
||||
ionElasticXSDataSet->SetMinKinEnergy(0.0);
|
||||
ionElasticProcess->AddDataSet(ionElasticXSDataSet);
|
||||
G4ProcessManager* ionManager = G4GenericIon::GenericIon()->GetProcessManager();
|
||||
ionManager->AddDiscreteProcess( ionElasticProcess );
|
||||
|
||||
G4ProcessManager* ionManager = G4GenericIon::GenericIon()->GetProcessManager();
|
||||
ionManager->AddDiscreteProcess( ionElasticProcess );
|
||||
|
||||
if ( verbose > 1 ) {
|
||||
G4cout << "### IonElasticPhysics: " << ionElasticProcess->GetProcessName()
|
||||
<< " added for " << G4GenericIon::GenericIon()->GetParticleName() << G4endl;
|
||||
}
|
||||
if ( verbose > 1 ) {
|
||||
G4cout << "### IonElasticPhysics: " << ionElasticProcess->GetProcessName()
|
||||
<< " added for " << G4GenericIon::GenericIon()->GetParticleName() << G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4ThermalNeutrons.cc 70995 2013-06-09 00:56:34Z adotti $
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user