Import Geant4 10.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2019-12-06 15:12:28 +01:00
parent b2a62ae692
commit 5baee230e9
2997 changed files with 141580 additions and 98673 deletions
+28
View File
@@ -13,6 +13,34 @@ introduced in the code and keeptrack of all tags.
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
22-October-2019 Alberto Ribon (phys-lists-V10-05-04)
- FTFP_BERT_HP, QGSP_BERT_HP, INCLXXPhysicsListHelper : added (consistently)
RadioactiveDecay to all physics lists which use NeutronHP (the rationale
is that precision is more valuable than speed for these physics lists;
note that, among the reference physics lists with NeutronHP, only
FTFP_BERT_HP, QGSP_BERT_HP, FTFP_INCLXX_HP and QGSP_INCLXX_HP did not have
RadioactiveDecay activated by default).
06-August-2019 Alberto Ribon (phys-lists-V10-05-03)
- FTF_BIC, QGS_BIC : use the newly introduced stopping physics constructor
G4StoppingPhysicsFritiofWithBinaryCascade (instead of the default
G4StoppingPhysics).
- Shielding : replacing explicit values for the energy transition region
with values from G4HadronicParameters.
31-July-2019 Gunter Folger (phys-lists-V10-05-02)
- Code clean-up
- remove template mechanism
- except for G4GenericPhysicsList, G4PhysListStamper,
and INCLXXPhysicsListHelper
- delete copy ctor and assigmnet operator
- for empty dtor, use =default
- move include/x.icc to src/x.cc for lists without template
- remove SetCuts() implementation where not specialised
- remove version number from lists
- remove G4DataQuestionaire
25-June-2019 Dennis Wright (phys-lists-V10-05-01)
- replace G4RadioactiveDecay with G4RadioactiveDecayBase in LBE.icc
@@ -35,31 +35,24 @@
//
//----------------------------------------------------------------------------
//
#ifndef TFTFP_BERT_h
#define TFTFP_BERT_h 1
#ifndef FTFP_BERT_h
#define FTFP_BERT_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TFTFP_BERT: public T
class FTFP_BERT: public G4VModularPhysicsList
{
public:
TFTFP_BERT(G4int ver = 1);
virtual ~TFTFP_BERT();
public:
// SetCuts()
virtual void SetCuts();
FTFP_BERT(G4int ver = 1);
virtual ~FTFP_BERT()=default;
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
FTFP_BERT(const FTFP_BERT &) = delete;
FTFP_BERT & operator=(const FTFP_BERT &)=delete;
};
#include "FTFP_BERT.icc"
typedef TFTFP_BERT<G4VModularPhysicsList> FTFP_BERT;
#endif
@@ -35,31 +35,25 @@
// energy region [9, 12] GeV (instead of [4, 5] GeV as in FTFP_BERT).
//----------------------------------------------------------------------------
//
#ifndef TFTFP_BERT_ATL_h
#define TFTFP_BERT_ATL_h 1
#ifndef FTFP_BERT_ATL_h
#define FTFP_BERT_ATL_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TFTFP_BERT_ATL: public T
class FTFP_BERT_ATL: public G4VModularPhysicsList
{
public:
TFTFP_BERT_ATL(G4int ver = 1);
virtual ~TFTFP_BERT_ATL();
public:
// SetCuts()
virtual void SetCuts();
FTFP_BERT_ATL(G4int ver = 1);
virtual ~FTFP_BERT_ATL()=default;
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
FTFP_BERT_ATL(const FTFP_BERT_ATL &) = delete;
FTFP_BERT_ATL & operator=(const FTFP_BERT_ATL &)=delete;
};
#include "FTFP_BERT_ATL.icc"
typedef TFTFP_BERT_ATL<G4VModularPhysicsList> FTFP_BERT_ATL;
#endif
@@ -36,30 +36,27 @@
//
//----------------------------------------------------------------------------
//
#ifndef TFTFP_BERT_HP_h
#define TFTFP_BERT_HP_h 1
#ifndef FTFP_BERT_HP_h
#define FTFP_BERT_HP_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TFTFP_BERT_HP: public T
class FTFP_BERT_HP: public G4VModularPhysicsList
{
public:
TFTFP_BERT_HP(G4int ver = 1);
virtual ~TFTFP_BERT_HP();
FTFP_BERT_HP(G4int ver = 1);
virtual ~FTFP_BERT_HP()=default;
public:
FTFP_BERT_HP(const FTFP_BERT_HP &) = delete;
FTFP_BERT_HP & operator=(const FTFP_BERT_HP &)=delete;
// SetCuts()
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
};
#include "FTFP_BERT_HP.icc"
typedef TFTFP_BERT_HP<G4VModularPhysicsList> FTFP_BERT_HP;
#endif
@@ -35,31 +35,24 @@
//
//----------------------------------------------------------------------------
//
#ifndef TFTFP_BERT_TRV_h
#define TFTFP_BERT_TRV_h 1
#ifndef FTFP_BERT_TRV_h
#define FTFP_BERT_TRV_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TFTFP_BERT_TRV: public T
class FTFP_BERT_TRV: public G4VModularPhysicsList
{
public:
TFTFP_BERT_TRV(G4int ver = 1);
virtual ~TFTFP_BERT_TRV();
FTFP_BERT_TRV(G4int ver = 1);
virtual ~FTFP_BERT_TRV()=default;
public:
// SetCuts()
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
FTFP_BERT_TRV(const FTFP_BERT_TRV &) = delete;
FTFP_BERT_TRV & operator=(const FTFP_BERT_TRV &)=delete;
};
#include "FTFP_BERT_TRV.icc"
typedef TFTFP_BERT_TRV<G4VModularPhysicsList> FTFP_BERT_TRV;
#endif
@@ -36,31 +36,26 @@
//
//----------------------------------------------------------------------------
//
#ifndef TFTFQGSP_BERT_h
#define TFTFQGSP_BERT_h 1
#ifndef FTFQGSP_BERT_h
#define FTFQGSP_BERT_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TFTFQGSP_BERT: public T
class FTFQGSP_BERT: public G4VModularPhysicsList
{
public:
TFTFQGSP_BERT(G4int ver = 1);
virtual ~TFTFQGSP_BERT();
public:
// SetCuts()
virtual void SetCuts();
FTFQGSP_BERT(G4int ver = 1);
virtual ~FTFQGSP_BERT()=default;
FTFQGSP_BERT(const FTFQGSP_BERT &) = delete;
FTFQGSP_BERT & operator=(const FTFQGSP_BERT &)=delete;
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
};
#include "FTFQGSP_BERT.icc"
typedef TFTFQGSP_BERT<G4VModularPhysicsList> FTFQGSP_BERT;
#endif
+9 -15
View File
@@ -34,31 +34,25 @@
//
//----------------------------------------------------------------------------
//
#ifndef TFTF_BIC_h
#define TFTF_BIC_h 1
#ifndef FTF_BIC_h
#define FTF_BIC_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TFTF_BIC: public T
class FTF_BIC: public G4VModularPhysicsList
{
public:
TFTF_BIC(G4int ver = 1);
virtual ~TFTF_BIC();
FTF_BIC(G4int ver = 1);
virtual ~FTF_BIC()=default;
FTF_BIC(const FTF_BIC &) = delete;
FTF_BIC & operator=(const FTF_BIC &)=delete;
public:
// SetCuts()
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
};
#include "FTF_BIC.icc"
typedef TFTF_BIC<G4VModularPhysicsList> FTF_BIC;
#endif
@@ -45,15 +45,11 @@
#include "G4ios.hh"
#include <iomanip>
#include "G4DataQuestionaire.hh"
template<class T> TG4GenericPhysicsList<T>::TG4GenericPhysicsList(G4int ver): T(), messenger(this, "/PhysicsList/")
{
DeclareProperties();
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: G4GenericPhysicsList"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
@@ -64,7 +60,6 @@ template<class T> TG4GenericPhysicsList<T>::TG4GenericPhysicsList(std::vector<G4
{
DeclareProperties();
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: G4GenericPhysicsList"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
@@ -47,6 +47,7 @@
#include "G4MaterialTable.hh"
#include "G4DecayPhysics.hh"
#include "G4RadioactiveDecayPhysics.hh"
#include "G4EmStandardPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonINCLXXPhysics.hh"
@@ -55,7 +56,6 @@
#include "G4HadronElasticPhysicsHP.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsINCLXX.hh"
#include "G4WarnPLStatus.hh"
@@ -70,8 +70,7 @@ template<class T, bool withNeutronHP, bool withFTFP> TINCLXXPhysicsListHelper<T,
if(withNeutronHP)
name += "_HP";
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: " << name << " 1.0 (based on INCLXXPhysicsListHelper)"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: " << name << " (based on INCLXXPhysicsListHelper)"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
@@ -88,6 +87,7 @@ template<class T, bool withNeutronHP, bool withFTFP> TINCLXXPhysicsListHelper<T,
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
if(withNeutronHP) this->RegisterPhysics( new G4RadioactiveDecayPhysics(ver) );
// Hadron Elastic scattering
if(withNeutronHP)
+13 -18
View File
@@ -43,36 +43,32 @@
// PhysicsList header
// --------------------------------------------------------------
#ifndef TLBE_h
#define TLBE_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#ifndef LBE_h
#define LBE_h 1
#include "globals.hh"
#include "G4VUserPhysicsList.hh"
#include "CompileTimeConstraints.hh"
#include "G4VModularPhysicsList.hh"
class G4StoppingPhysics; // This builder encapsulate stopping processes
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
template<class T>
class TLBE: public T
class LBE: public G4VModularPhysicsList
{
public:
TLBE(G4int ver = 1);
~TLBE();
// virtual ~TLBE();
LBE(G4int ver = 1);
virtual ~LBE();
//delete copy constructor and assignment operator
LBE(const LBE &)=delete;
LBE& operator=(const LBE &right)=delete;
public:
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
protected:
// Construct particle and physics
virtual void ConstructParticle();
@@ -104,9 +100,10 @@ private:
G4double cutForGamma;
G4double cutForElectron;
G4double cutForPositron;
G4double cutForProton;
G4double cutForAlpha;
G4double cutForGenericIon;
// uncomment if the code if corresponding code in LBE.cc is un-commented
// G4double cutForProton;
// G4double cutForAlpha;
// G4double cutForGenericIon;
G4StoppingPhysics* stoppingPhysics;
@@ -119,7 +116,5 @@ private:
void ConstructMyShortLiveds();
};
#include "LBE.icc"
typedef TLBE<G4VModularPhysicsList> LBE;
#endif
+8 -19
View File
@@ -32,36 +32,25 @@
//
//----------------------------------------------------------------------------
//
#ifndef TNuBeam_h
#define TNuBeam_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#ifndef NuBeam_h
#define NuBeam_h 1
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TNuBeam : public T
class NuBeam : public G4VModularPhysicsList
{
public:
TNuBeam(G4int ver = 1);
virtual ~TNuBeam();
NuBeam(G4int ver = 1);
virtual ~NuBeam()=default;
public:
// SetCuts()
virtual void SetCuts();
private:
enum { ok = CompileTimeConstraints::IsA< T, G4VModularPhysicsList >::ok };
NuBeam(const NuBeam &) = delete;
NuBeam & operator=(const NuBeam &)=delete;
};
#include "NuBeam.icc"
typedef TNuBeam<G4VModularPhysicsList> NuBeam;
#endif
+3 -5
View File
@@ -46,13 +46,11 @@ public:
explicit QBBC(G4int ver = 1, const G4String& type = "QBBC");
virtual ~QBBC();
private:
virtual ~QBBC()=default;
// copy constructor and hide assignment operator
QBBC(QBBC &);
QBBC & operator=(const QBBC &right);
QBBC(const QBBC &)=delete;
QBBC & operator=(const QBBC &right)=delete;
};
@@ -34,35 +34,23 @@
//
//----------------------------------------------------------------------------
//
#ifndef TQGSP_BERT_h
#define TQGSP_BERT_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#ifndef QGSP_BERT_h
#define QGSP_BERT_h 1
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TQGSP_BERT: public T
class QGSP_BERT: public G4VModularPhysicsList
{
public:
TQGSP_BERT(G4int ver = 1);
virtual ~TQGSP_BERT();
QGSP_BERT(G4int ver = 1);
virtual ~QGSP_BERT()=default;
QGSP_BERT(const QGSP_BERT &) = delete;
QGSP_BERT & operator=(const QGSP_BERT &)=delete;
public:
// SetCuts()
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
};
#include "QGSP_BERT.icc"
typedef TQGSP_BERT<G4VModularPhysicsList> QGSP_BERT;
// 2002 by J.P. Wellisch
#endif
@@ -34,33 +34,25 @@
//
//----------------------------------------------------------------------------
//
#ifndef TQGSP_BERT_HP_h
#define TQGSP_BERT_HP_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#ifndef QGSP_BERT_HP_h
#define QGSP_BERT_HP_h 1
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TQGSP_BERT_HP: public T
class QGSP_BERT_HP: public G4VModularPhysicsList
{
public:
TQGSP_BERT_HP(G4int ver=1);
virtual ~TQGSP_BERT_HP();
public:
QGSP_BERT_HP(G4int ver=1);
virtual ~QGSP_BERT_HP()=default;
QGSP_BERT_HP(const QGSP_BERT_HP &) = delete;
QGSP_BERT_HP & operator=(const QGSP_BERT_HP &)=delete;
// SetCuts()
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
};
#include "QGSP_BERT_HP.icc"
typedef TQGSP_BERT_HP<G4VModularPhysicsList> QGSP_BERT_HP;
// 2002 by J.P. Wellisch
#endif
@@ -44,13 +44,10 @@ class QGSP_BIC : public G4VModularPhysicsList
{
public:
QGSP_BIC(G4int ver = 1);
virtual ~QGSP_BIC();
virtual ~QGSP_BIC()=default;
private:
// copy constructor and hide assignment operator
QGSP_BIC(QGSP_BIC &);
QGSP_BIC & operator=(const QGSP_BIC &right);
QGSP_BIC(const QGSP_BIC &)=delete;
QGSP_BIC & operator=(const QGSP_BIC &right)=delete;
};
@@ -43,13 +43,11 @@ class QGSP_BIC_AllHP : public G4VModularPhysicsList
{
public:
QGSP_BIC_AllHP(G4int ver = 1);
virtual ~QGSP_BIC_AllHP();
virtual ~QGSP_BIC_AllHP()=default;
private:
// copy constructor and hide assignment operator
QGSP_BIC_AllHP(QGSP_BIC_AllHP &);
QGSP_BIC_AllHP& operator=(const QGSP_BIC_AllHP &right);
//delete copy constructor and assignment operator
QGSP_BIC_AllHP(const QGSP_BIC_AllHP &)=delete;
QGSP_BIC_AllHP& operator=(const QGSP_BIC_AllHP &right)=delete;
};
@@ -45,13 +45,11 @@ class QGSP_BIC_HP : public G4VModularPhysicsList
{
public:
QGSP_BIC_HP(G4int ver = 1);
virtual ~QGSP_BIC_HP();
virtual ~QGSP_BIC_HP()=default;
private:
// copy constructor and hide assignment operator
QGSP_BIC_HP(QGSP_BIC_HP &);
QGSP_BIC_HP & operator=(const QGSP_BIC_HP &right);
// delete copy constructor and assignment operator
QGSP_BIC_HP(const QGSP_BIC_HP &)=delete;
QGSP_BIC_HP & operator=(const QGSP_BIC_HP &right)=delete;
};
@@ -34,35 +34,23 @@
//
//----------------------------------------------------------------------------
//
#ifndef TQGSP_FTFP_BERT_h
#define TQGSP_FTFP_BERT_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#ifndef QGSP_FTFP_BERT_h
#define QGSP_FTFP_BERT_h 1
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TQGSP_FTFP_BERT: public T
class QGSP_FTFP_BERT: public G4VModularPhysicsList
{
public:
TQGSP_FTFP_BERT(G4int ver = 1);
virtual ~TQGSP_FTFP_BERT();
QGSP_FTFP_BERT(G4int ver = 1);
virtual ~QGSP_FTFP_BERT()=default;
QGSP_FTFP_BERT(const QGSP_FTFP_BERT &) = delete;
QGSP_FTFP_BERT & operator=(const QGSP_FTFP_BERT &)=delete;
public:
// SetCuts()
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
};
#include "QGSP_FTFP_BERT.icc"
typedef TQGSP_FTFP_BERT<G4VModularPhysicsList> QGSP_FTFP_BERT;
// 2002 by J.P. Wellisch
#endif
+9 -17
View File
@@ -35,31 +35,23 @@
//
//----------------------------------------------------------------------------
//
#ifndef TQGS_BIC_h
#define TQGS_BIC_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#ifndef QGS_BIC_h
#define QGS_BIC_h 1
#include "globals.hh"
#include "G4VModularPhysicsList.hh"
#include "CompileTimeConstraints.hh"
template<class T>
class TQGS_BIC: public T
class QGS_BIC: public G4VModularPhysicsList
{
public:
TQGS_BIC(G4int ver = 1);
virtual ~TQGS_BIC();
QGS_BIC(G4int ver = 1);
virtual ~QGS_BIC()=default;
QGS_BIC(const QGS_BIC &) = delete;
QGS_BIC & operator=(const QGS_BIC &)=delete;
public:
// SetCuts()
virtual void SetCuts();
private:
enum {ok = CompileTimeConstraints::IsA<T, G4VModularPhysicsList>::ok };
};
#include "QGS_BIC.icc"
typedef TQGS_BIC<G4VModularPhysicsList> QGS_BIC;
#endif
@@ -48,13 +48,11 @@ class Shielding : public G4VModularPhysicsList
public:
explicit Shielding(G4int verb = 1 , const G4String& n_model = "HP",
const G4String& HadrPhysVariant = "");
virtual ~Shielding();
virtual ~Shielding()=default;
private:
// copy constructor and hide assignment operator
Shielding(Shielding &);
Shielding & operator=(const Shielding &right);
//delete copy constructor and assignment operator
Shielding(const Shielding &)=delete;
Shielding & operator=(const Shielding &right)=delete;
};
#endif
@@ -45,13 +45,11 @@ class ShieldingLEND : public Shielding
{
public:
explicit ShieldingLEND(G4int ver = 1) : Shielding(ver,"LEND","") {};
virtual ~ShieldingLEND() {};
private:
virtual ~ShieldingLEND()=default;
// copy constructor and hide assignment operator
ShieldingLEND(ShieldingLEND &);
ShieldingLEND & operator=(const ShieldingLEND &right);
ShieldingLEND(const ShieldingLEND &)=delete;
ShieldingLEND & operator=(const ShieldingLEND &right)=delete;
};
#endif
+15 -15
View File
@@ -106,37 +106,25 @@ include(Geant4MacroDefineModule)
GEANT4_DEFINE_MODULE(NAME G4phys_lists
HEADERS
FTF_BIC.hh
FTF_BIC.icc
FTFP_BERT.hh
FTFP_BERT_HP.hh
FTFP_BERT_HP.icc
FTFP_BERT.icc
FTFP_BERT_TRV.hh
FTFP_BERT_TRV.icc
FTFP_BERT_ATL.hh
FTFP_BERT_ATL.icc
FTFQGSP_BERT.hh
FTFQGSP_BERT.icc
G4GenericPhysicsList.hh
G4GenericPhysicsList.icc
G4PhysListFactory.hh
G4PhysListFactoryMessenger.hh
LBE.hh
LBE.icc
NuBeam.hh
NuBeam.icc
QBBC.hh
QGS_BIC.hh
QGS_BIC.icc
QGSP_BERT.hh
QGSP_BERT_HP.hh
QGSP_BERT_HP.icc
QGSP_BERT.icc
QGSP_BIC.hh
QGSP_BIC_HP.hh
QGSP_BIC_AllHP.hh
QGSP_FTFP_BERT.hh
QGSP_FTFP_BERT.icc
INCLXXPhysicsListHelper.hh
INCLXXPhysicsListHelper.icc
QGSP_INCLXX.hh
@@ -150,15 +138,27 @@ GEANT4_DEFINE_MODULE(NAME G4phys_lists
G4PhysListFactoryAlt.hh
G4RegisterPhysLists.icc
SOURCES
FTF_BIC.cc
FTFP_BERT_ATL.cc
FTFP_BERT.cc
FTFP_BERT_HP.cc
FTFP_BERT_TRV.cc
FTFQGSP_BERT.cc
G4PhysListFactoryAlt.cc
G4PhysListFactory.cc
G4PhysListFactoryMessenger.cc
G4PhysListRegistry.cc
LBE.cc
NuBeam.cc
QBBC.cc
QGS_BIC.cc
QGSP_BERT.cc
QGSP_BERT_HP.cc
QGSP_BIC_AllHP.cc
QGSP_BIC.cc
QGSP_BIC_HP.cc
QGSP_BIC_AllHP.cc
QGSP_FTFP_BERT.cc
Shielding.cc
G4PhysListRegistry.cc
G4PhysListFactoryAlt.cc
GRANULAR_DEPENDENCIES
G4baryons
G4bosons
@@ -63,58 +63,40 @@
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsFTFP_BERT.hh"
#include "FTFP_BERT.hh"
template<class T> TFTFP_BERT<T>::TFTFP_BERT(G4int ver): T()
FTFP_BERT::FTFP_BERT(G4int ver)
{
// default cut value (1.0mm)
// defaultCutValue = 1.0*CLHEP::mm;
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT 2.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver));
RegisterPhysics( new G4EmStandardPhysics(ver));
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsFTFP_BERT(ver));
RegisterPhysics( new G4HadronPhysicsFTFP_BERT(ver));
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
RegisterPhysics( new G4NeutronTrackingCut(ver));
}
template<class T> TFTFP_BERT<T>::~TFTFP_BERT()
{
}
template<class T> void TFTFP_BERT<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "FTFP_BERT::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel > 0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
@@ -55,64 +55,46 @@
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "FTFP_BERT_ATL.hh"
#include "G4HadronPhysicsFTFP_BERT_ATL.hh"
#include "G4WarnPLStatus.hh"
template<class T> TFTFP_BERT_ATL<T>::TFTFP_BERT_ATL(G4int ver): T()
FTFP_BERT_ATL::FTFP_BERT_ATL(G4int ver)
{
// default cut value (1.0mm)
// defaultCutValue = 1.0*CLHEP::mm;
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_ATL 2.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_ATL"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
G4WarnPLStatus exp;
exp.Experimental("FTFP_BERT_ATL");
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver));
RegisterPhysics( new G4EmStandardPhysics(ver));
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsFTFP_BERT_ATL(ver) );
RegisterPhysics( new G4HadronPhysicsFTFP_BERT_ATL(ver) );
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
RegisterPhysics( new G4NeutronTrackingCut(ver));
}
template<class T> TFTFP_BERT_ATL<T>::~TFTFP_BERT_ATL()
{
}
template<class T> void TFTFP_BERT_ATL<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "FTFP_BERT_ATL::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel > 0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
@@ -42,64 +42,60 @@
#include "G4MaterialTable.hh"
#include "G4DecayPhysics.hh"
#include "G4RadioactiveDecayPhysics.hh"
#include "G4EmStandardPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh"
#include "G4DataQuestionaire.hh"
#include "FTFP_BERT_HP.hh"
#include "G4HadronPhysicsFTFP_BERT_HP.hh"
template<class T> TFTFP_BERT_HP<T>::TFTFP_BERT_HP(G4int ver): T()
FTFP_BERT_HP::FTFP_BERT_HP(G4int ver)
{
// default cut value (1.0mm)
// defaultCutValue = 1.0*CLHEP::mm;
G4DataQuestionaire it(photon, neutron);
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_HP 2.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_HP"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver) );
RegisterPhysics( new G4EmStandardPhysics(ver) );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4RadioactiveDecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysicsHP(ver) );
RegisterPhysics( new G4HadronElasticPhysicsHP(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsFTFP_BERT_HP(ver) );
RegisterPhysics( new G4HadronPhysicsFTFP_BERT_HP(ver) );
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver) );
RegisterPhysics( new G4IonPhysics(ver) );
}
template<class T> TFTFP_BERT_HP<T>::~TFTFP_BERT_HP()
void FTFP_BERT_HP::SetCuts()
{
}
template<class T> void TFTFP_BERT_HP<T>::SetCuts()
{
if (this->verboseLevel >1){
if (verboseLevel >1){
G4cout << "FTFP_BERT_HP::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
this->SetCutValue(0.0, "proton");
SetCutsWithDefault();
//Set proton cut value to 0 for producing low energy recoil nucleus
SetCutValue(0.0, "proton");
// if (this->verboseLevel > 0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
@@ -64,23 +64,22 @@
#include "G4HadronHElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsFTFP_BERT_TRV.hh"
#include "FTFP_BERT_TRV.hh"
#include "G4WarnPLStatus.hh"
#include "G4EmParameters.hh"
template<class T> TFTFP_BERT_TRV<T>::TFTFP_BERT_TRV(G4int ver): T()
FTFP_BERT_TRV::FTFP_BERT_TRV(G4int ver)
{
// default cut value (1.0mm)
// defaultCutValue = 1.0*CLHEP::mm;
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_TRV 2.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: FTFP_BERT_TRV "<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
G4WarnPLStatus exp;
exp.Experimental("FTFP_BERT_TRV");
@@ -88,45 +87,28 @@ template<class T> TFTFP_BERT_TRV<T>::TFTFP_BERT_TRV(G4int ver): T()
// EM Physics
G4EmStandardPhysicsGS* gsPhysics = new G4EmStandardPhysicsGS( ver );
G4EmParameters::Instance()->SetMscStepLimitType( fUseSafety );
this->RegisterPhysics( gsPhysics );
RegisterPhysics( gsPhysics );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronHElasticPhysics(ver, true) );
RegisterPhysics( new G4HadronHElasticPhysics(ver, true) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsFTFP_BERT_TRV(ver));
RegisterPhysics( new G4HadronPhysicsFTFP_BERT_TRV(ver));
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
RegisterPhysics( new G4NeutronTrackingCut(ver));
}
template<class T> TFTFP_BERT_TRV<T>::~TFTFP_BERT_TRV()
{
}
template<class T> void TFTFP_BERT_TRV<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "FTFP_BERT_TRV::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel > 0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
@@ -56,63 +56,47 @@
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsFTFQGSP_BERT.hh"
#include "FTFQGSP_BERT.hh"
#include "G4WarnPLStatus.hh"
template<class T> TFTFQGSP_BERT<T>::TFTFQGSP_BERT(G4int ver): T()
FTFQGSP_BERT::FTFQGSP_BERT(G4int ver)
{
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: FTFQGSP_BERT 1.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: FTFQGSP_BERT"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
G4WarnPLStatus exp;
exp.Experimental("FTFQGSP_BERT");
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver) );
RegisterPhysics( new G4EmStandardPhysics(ver) );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsFTFQGSP_BERT(ver) );
RegisterPhysics( new G4HadronPhysicsFTFQGSP_BERT(ver) );
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver) );
RegisterPhysics( new G4IonPhysics(ver) );
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver) );
RegisterPhysics( new G4NeutronTrackingCut(ver) );
}
template<class T> TFTFQGSP_BERT<T>::~TFTFQGSP_BERT()
{
}
template<class T> void TFTFQGSP_BERT<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "FTFQGSP_BERT::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel > 0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
@@ -35,6 +35,7 @@
// 04.06.2010 G.Folger: Use new ctor for builders
// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts
// 16.10.2012 A.Ribon: Use new default stopping and ion physics
// 06.08.2019 A.Ribon: Use the new G4StoppingPhysicsFritiofWithBinaryCascade
//
//----------------------------------------------------------------------------
//
@@ -54,76 +55,56 @@
#include "G4EmStandardPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4StoppingPhysicsFritiofWithBinaryCascade.hh"
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
//AR-31Oct2012 #include "G4NeutronCrossSectionXS.hh"
#include "G4DataQuestionaire.hh"
#include "FTF_BIC.hh"
#include "G4HadronPhysicsFTF_BIC.hh"
#include "G4WarnPLStatus.hh"
template<class T> TFTF_BIC<T>::TFTF_BIC(G4int ver): T()
FTF_BIC::FTF_BIC(G4int ver)
{
// default cut value (1.0mm)
// defaultCutValue = 1.0*CLHEP::mm;
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: FTF_BIC 2.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: FTF_BIC"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
G4WarnPLStatus exp;
exp.Experimental("FTF_BIC");
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver) );
RegisterPhysics( new G4EmStandardPhysics(ver) );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this-> RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsFTF_BIC(ver));
RegisterPhysics( new G4HadronPhysicsFTF_BIC(ver));
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysicsFritiofWithBinaryCascade(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
RegisterPhysics( new G4NeutronTrackingCut(ver));
// Neutron cross sections
//AR-31Oct2012 this->RegisterPhysics( new G4NeutronCrossSectionXS(ver) );
//AR-31Oct2012 RegisterPhysics( new G4NeutronCrossSectionXS(ver) );
}
template<class T> TFTF_BIC<T>::~TFTF_BIC()
{
}
template<class T> void TFTF_BIC<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "FTF_BIC::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel >0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
@@ -108,7 +108,7 @@ G4PhysListFactory::ReferencePhysList()
{
// instantiate PhysList by environment variable "PHYSLIST"
G4String name = "";
char* path = getenv("PHYSLIST");
char* path = std::getenv("PHYSLIST");
if (path) {
name = G4String(path);
} else {
@@ -204,7 +204,7 @@ G4PhysListRegistry::GetModularPhysicsListFromEnv()
// instantiate PhysList by environment variable "PHYSLIST"
// if not set use default
G4String name = "";
char* path = getenv("PHYSLIST");
char* path = std::getenv("PHYSLIST");
if (path) {
name = G4String(path);
} else {
@@ -53,6 +53,7 @@
#include <iomanip>
#include "globals.hh"
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4ios.hh"
#include "G4ProcessManager.hh"
#include "G4ProcessVector.hh"
@@ -62,7 +63,6 @@
#include "G4ProductionCutsTable.hh"
#include "G4UserLimits.hh"
#include "G4DataQuestionaire.hh"
#include "G4WarnPLStatus.hh"
// Builder for all stopping processes
@@ -70,20 +70,21 @@
#include "G4HadronicParameters.hh"
#include "LBE.hh"
// Constructor /////////////////////////////////////////////////////////////
template<class T> TLBE<T>::TLBE(G4int ver) :T()
LBE::LBE(G4int ver)
{
G4DataQuestionaire it(photon, lowenergy, neutron, radioactive);
G4cout << "You are using the simulation engine: LBE 5.3"<<G4endl;
G4cout << "You are using the simulation engine: LBE"<<G4endl;
G4cout <<G4endl<<G4endl;
this->defaultCutValue = 1.0*CLHEP::micrometer; //
cutForGamma = this->defaultCutValue;
defaultCutValue = 1.0*CLHEP::micrometer; //
cutForGamma = defaultCutValue;
// cutForElectron = 1.0*CLHEP::nanometer;
cutForElectron = 1.0*CLHEP::micrometer;
cutForPositron = this->defaultCutValue;
cutForPositron = defaultCutValue;
//not used:
// cutForProton = this->defaultCutValue;
// cutForProton = defaultCutValue;
// cutForAlpha = 1.0*CLHEP::nanometer;
// cutForGenericIon = 1.0*CLHEP::nanometer;
@@ -92,19 +93,19 @@ template<class T> TLBE<T>::TLBE(G4int ver) :T()
VerboseLevel = ver;
OpVerbLevel = 0;
this->SetVerboseLevel(VerboseLevel);
SetVerboseLevel(VerboseLevel);
}
// Destructor //////////////////////////////////////////////////////////////
template<class T> TLBE<T>::~TLBE()
LBE::~LBE()
{
delete stoppingPhysics;
}
// Construct Particles /////////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructParticle()
void LBE::ConstructParticle()
{
// In this method, static member functions should be called
@@ -123,7 +124,7 @@ template<class T> TLBE<T>::~TLBE()
// construct Bosons://///////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructMyBosons()
void LBE::ConstructMyBosons()
{
// pseudo-particles
G4Geantino::GeantinoDefinition();
@@ -138,7 +139,7 @@ template<class T> TLBE<T>::~TLBE()
// construct Leptons://///////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructMyLeptons()
void LBE::ConstructMyLeptons()
{
// leptons
G4Electron::ElectronDefinition();
@@ -158,7 +159,7 @@ template<class T> TLBE<T>::~TLBE()
// construct Mesons://///////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructMyMesons()
void LBE::ConstructMyMesons()
{
// mesons
G4MesonConstructor mConstructor;
@@ -168,7 +169,7 @@ template<class T> TLBE<T>::~TLBE()
// construct Baryons://///////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructMyBaryons()
void LBE::ConstructMyBaryons()
{
// baryons
G4BaryonConstructor bConstructor;
@@ -178,7 +179,7 @@ template<class T> TLBE<T>::~TLBE()
// construct Ions://///////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructMyIons()
void LBE::ConstructMyIons()
{
// ions
G4IonConstructor iConstructor;
@@ -187,7 +188,7 @@ template<class T> TLBE<T>::~TLBE()
}
// construct Shortliveds://///////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructMyShortLiveds()
void LBE::ConstructMyShortLiveds()
{
// ShortLiveds
;
@@ -197,7 +198,7 @@ template<class T> TLBE<T>::~TLBE()
// Construct Processes //////////////////////////////////////////////////////
template<class T> void TLBE<T>::ConstructProcess()
void LBE::ConstructProcess()
{
AddTransportation();
ConstructEM();
@@ -211,7 +212,7 @@ template<class T> TLBE<T>::~TLBE()
#include "G4MaxTimeCuts.hh"
#include "G4MinEkineCuts.hh"
template<class T> void TLBE<T>::AddTransportation() {
void LBE::AddTransportation() {
G4VUserPhysicsList::AddTransportation();
@@ -281,7 +282,7 @@ template<class T> TLBE<T>::~TLBE()
//OTHERS:
//#include "G4hIonisation.hh" // standard hadron ionisation
template<class T> void TLBE<T>::ConstructEM() {
void LBE::ConstructEM() {
// models & processes:
// Use Livermore models up to 20 MeV, and standard
@@ -432,7 +433,7 @@ template<class T> TLBE<T>::~TLBE()
//#include "G4OpRayleigh.hh"
#include "G4OpBoundaryProcess.hh"
template<class T> void TLBE<T>::ConstructOp()
void LBE::ConstructOp()
{
// default scintillation process
//Coverity report: check that the process is actually used, if not must delete
@@ -588,7 +589,7 @@ template<class T> TLBE<T>::~TLBE()
// to those particles with GHEISHA interactions (INTRC > 0).
// The processes are: Elastic scattering and Inelastic scattering.
// F.W.Jones 09-JUL-1998
template<class T> void TLBE<T>::ConstructHad()
void LBE::ConstructHad()
{
// Elastic scattering
const G4double elastic_elimitPi = 1.0*CLHEP::GeV;
@@ -893,7 +894,7 @@ template<class T> TLBE<T>::~TLBE()
#include "G4NuclearLevelData.hh"
#include "G4NuclideTable.hh"
template<class T> void TLBE<T>::ConstructGeneral() {
void LBE::ConstructGeneral() {
// Add Decay Process
G4Decay* theDecayProcess = new G4Decay();
@@ -959,16 +960,16 @@ template<class T> TLBE<T>::~TLBE()
}
// Cuts /////////////////////////////////////////////////////////////////////
template<class T> void TLBE<T>::SetCuts()
void LBE::SetCuts()
{
if (this->verboseLevel >1)
if (verboseLevel >1)
G4cout << "LBE::SetCuts:";
if (this->verboseLevel>0){
if (verboseLevel>0){
G4cout << "LBE::SetCuts:";
G4cout << "CutLength : "
<< G4BestUnit(this->defaultCutValue,"Length") << G4endl;
<< G4BestUnit(defaultCutValue,"Length") << G4endl;
}
//special for low energy physics
@@ -978,17 +979,17 @@ template<class T> void TLBE<T>::SetCuts()
// set cut values for gamma at first and for e- second and next for e+,
// because some processes for e+/e- need cut values for gamma
this->SetCutValue(cutForGamma, "gamma");
this->SetCutValue(cutForElectron, "e-");
this->SetCutValue(cutForPositron, "e+");
SetCutValue(cutForGamma, "gamma");
SetCutValue(cutForElectron, "e-");
SetCutValue(cutForPositron, "e+");
// this->SetCutValue(cutForProton, "proton");
// this->SetCutValue(cutForProton, "anti_proton");
// this->SetCutValue(cutForAlpha, "alpha");
// this->SetCutValue(cutForGenericIon, "GenericIon");
// SetCutValue(cutForProton, "proton");
// SetCutValue(cutForProton, "anti_proton");
// SetCutValue(cutForAlpha, "alpha");
// SetCutValue(cutForGenericIon, "GenericIon");
// this->SetCutValueForOthers(this->defaultCutValue);
// SetCutValueForOthers(defaultCutValue);
if (this->verboseLevel>0) this->DumpCutValuesTable();
if (verboseLevel>0) DumpCutValuesTable();
}
@@ -36,6 +36,7 @@
//----------------------------------------------------------------------------
//
#include <iomanip>
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4ios.hh"
@@ -55,62 +56,40 @@
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "NuBeam.hh"
#include "G4HadronPhysicsNuBeam.hh"
template<class T> TNuBeam<T>::TNuBeam(G4int ver): T()
NuBeam::NuBeam(G4int ver)
{
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: NuBeam v0.0" << G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: NuBeam" << G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver));
RegisterPhysics( new G4EmStandardPhysics(ver));
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsNuBeam(ver));
RegisterPhysics( new G4HadronPhysicsNuBeam(ver));
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
}
template<class T> TNuBeam<T>::~TNuBeam()
{
}
template<class T> void TNuBeam<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "TNuBeam::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel > 0)
// G4VUserPhysicsList::DumpCutValuesTable();
RegisterPhysics( new G4NeutronTrackingCut(ver));
}
-5
View File
@@ -52,7 +52,6 @@
#include "G4EmExtraPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4DataQuestionaire.hh"
#include "G4HadronInelasticQBBC.hh"
#include "G4HadronElasticPhysics.hh"
#include "G4HadronElasticPhysicsXS.hh"
@@ -64,7 +63,6 @@
QBBC::QBBC( G4int ver, const G4String&)
{
G4DataQuestionaire it(photon, neutronxs);
G4cout << "<<< Reference Physics List QBBC " <<G4endl;
defaultCutValue = 0.7*mm;
@@ -94,6 +92,3 @@ QBBC::QBBC( G4int ver, const G4String&)
RegisterPhysics( new G4NeutronTrackingCut(ver) );
}
QBBC::~QBBC()
{}
@@ -47,6 +47,7 @@
//
#include <iomanip>
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4ios.hh"
@@ -66,63 +67,40 @@
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "QGSP_BERT.hh"
#include "G4HadronPhysicsQGSP_BERT.hh"
template<class T> TQGSP_BERT<T>::TQGSP_BERT(G4int ver): T()
QGSP_BERT::QGSP_BERT(G4int ver)
{
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT 4.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver) );
RegisterPhysics( new G4EmStandardPhysics(ver) );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsQGSP_BERT(ver));
RegisterPhysics( new G4HadronPhysicsQGSP_BERT(ver));
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
RegisterPhysics( new G4NeutronTrackingCut(ver));
}
template<class T> TQGSP_BERT<T>::~TQGSP_BERT()
{
}
template<class T> void TQGSP_BERT<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "QGSP_BERT::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel >0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
// 2002 by J.P. Wellisch
@@ -46,6 +46,8 @@
#include <iomanip>
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4ios.hh"
#include "G4ProcessManager.hh"
@@ -57,71 +59,60 @@
#include "G4MaterialTable.hh"
#include "G4DecayPhysics.hh"
#include "G4RadioactiveDecayPhysics.hh"
#include "G4EmStandardPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh"
#include "G4DataQuestionaire.hh"
#include "QGSP_BERT_HP.hh"
#include "G4HadronPhysicsQGSP_BERT_HP.hh"
template<class T> TQGSP_BERT_HP<T>::TQGSP_BERT_HP(G4int ver): T()
QGSP_BERT_HP::QGSP_BERT_HP(G4int ver)
{
G4DataQuestionaire it(photon, neutron);
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BERT_HP"<<G4endl;
G4cout <<G4endl<<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver) );
RegisterPhysics( new G4EmStandardPhysics(ver) );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4RadioactiveDecayPhysics(ver) );
// Hadron Elastic scattering
this-> RegisterPhysics( new G4HadronElasticPhysicsHP(ver) );
RegisterPhysics( new G4HadronElasticPhysicsHP(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsQGSP_BERT_HP(ver));
RegisterPhysics( new G4HadronPhysicsQGSP_BERT_HP(ver));
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver));
RegisterPhysics( new G4StoppingPhysics(ver));
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
}
template<class T> TQGSP_BERT_HP<T>::~TQGSP_BERT_HP()
void QGSP_BERT_HP::SetCuts()
{
}
template<class T> void TQGSP_BERT_HP<T>::SetCuts()
{
if (this->verboseLevel >1){
if (verboseLevel >1){
G4cout << "QGSP_BERT_HP::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
SetCutsWithDefault();
//Set proton cut value to 0 for producing low energy recoil nucleus
this->SetCutValue(0, "proton");
// if (this->verboseLevel >0)
// G4VUserPhysicsList::DumpCutValuesTable();
SetCutValue(0, "proton");
}
// 2002 by J.P. Wellisch
+1 -6
View File
@@ -46,7 +46,6 @@
//
//----------------------------------------------------------------------------
//
#include "QGSP_BIC.hh"
#include "globals.hh"
#include "G4ios.hh"
@@ -59,12 +58,11 @@
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "QGSP_BIC.hh"
#include "G4HadronPhysicsQGSP_BIC.hh"
QGSP_BIC::QGSP_BIC(G4int ver)
{
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BIC"<<G4endl;
G4cout <<G4endl;
@@ -98,6 +96,3 @@ QGSP_BIC::QGSP_BIC(G4int ver)
}
QGSP_BIC::~QGSP_BIC()
{}
@@ -33,7 +33,6 @@
//
//----------------------------------------------------------------------------
//
#include "QGSP_BIC_AllHP.hh"
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4DecayPhysics.hh"
#include "G4RadioactiveDecayPhysics.hh"
@@ -45,12 +44,11 @@
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsPHP.hh"
#include "G4DataQuestionaire.hh"
#include "QGSP_BIC_AllHP.hh"
#include "G4HadronPhysicsQGSP_BIC_AllHP.hh"
QGSP_BIC_AllHP::QGSP_BIC_AllHP(G4int ver)
{
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BIC_AllHP"<<G4endl;
G4cout <<G4endl;
@@ -82,6 +80,3 @@ QGSP_BIC_AllHP::QGSP_BIC_AllHP(G4int ver)
RegisterPhysics( new G4IonPhysicsPHP(ver));
}
QGSP_BIC_AllHP::~QGSP_BIC_AllHP()
{}
@@ -40,7 +40,6 @@
//
//----------------------------------------------------------------------------
//
#include "QGSP_BIC_HP.hh"
#include "G4DecayPhysics.hh"
#include "G4RadioactiveDecayPhysics.hh"
@@ -51,12 +50,11 @@
#include "G4StoppingPhysics.hh"
#include "G4HadronElasticPhysicsHP.hh"
#include "G4DataQuestionaire.hh"
#include "QGSP_BIC_HP.hh"
#include "G4HadronPhysicsQGSP_BIC_HP.hh"
QGSP_BIC_HP::QGSP_BIC_HP(G4int ver)
{
G4DataQuestionaire it(photon, neutron);
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BIC_HP"<<G4endl;
G4cout <<G4endl;
@@ -88,7 +86,3 @@ QGSP_BIC_HP::QGSP_BIC_HP(G4int ver)
RegisterPhysics( new G4IonPhysics(ver));
}
QGSP_BIC_HP::~QGSP_BIC_HP()
{}
@@ -42,6 +42,8 @@
#include <iomanip>
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4ios.hh"
#include "G4ProcessManager.hh"
@@ -60,63 +62,40 @@
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
#include "G4DataQuestionaire.hh"
#include "QGSP_FTFP_BERT.hh"
#include "G4HadronPhysicsQGSP_FTFP_BERT.hh"
template<class T> TQGSP_FTFP_BERT<T>::TQGSP_FTFP_BERT(G4int ver): T()
QGSP_FTFP_BERT::QGSP_FTFP_BERT(G4int ver)
{
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_FTFP_BERT 4.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: QGSP_FTFP_BERT"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver) );
RegisterPhysics( new G4EmStandardPhysics(ver) );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsQGSP_FTFP_BERT(ver));
RegisterPhysics( new G4HadronPhysicsQGSP_FTFP_BERT(ver));
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysics(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver));
RegisterPhysics( new G4IonPhysics(ver));
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver));
RegisterPhysics( new G4NeutronTrackingCut(ver));
}
template<class T> TQGSP_FTFP_BERT<T>::~TQGSP_FTFP_BERT()
{
}
template<class T> void TQGSP_FTFP_BERT<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "QGSP_FTFP_BERT::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel >0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
// 2002 by J.P. Wellisch
@@ -35,11 +35,14 @@
// 04.06.2010 G.Folger: Use new ctor for builders
// 16.08.2010 H.Kurashige: Remove inclusion of G4ParticleWithCuts
// 16.10.2012 A.Ribon: Use new default stopping and ion physics
// 06.08.2019 A.Ribon: Use the new G4StoppingPhysicsFritiofWithBinaryCascade
//
//----------------------------------------------------------------------------
//
#include <iomanip>
#include <CLHEP/Units/SystemOfUnits.h>
#include "globals.hh"
#include "G4ios.hh"
#include "G4ProcessManager.hh"
@@ -54,76 +57,56 @@
#include "G4EmStandardPhysics.hh"
#include "G4EmExtraPhysics.hh"
#include "G4IonPhysics.hh"
#include "G4StoppingPhysics.hh"
#include "G4StoppingPhysicsFritiofWithBinaryCascade.hh"
#include "G4HadronElasticPhysics.hh"
#include "G4NeutronTrackingCut.hh"
//AR-31Oct2012 #include "G4NeutronCrossSectionXS.hh"
#include "G4DataQuestionaire.hh"
#include "QGS_BIC.hh"
#include "G4HadronPhysicsQGS_BIC.hh"
#include "G4WarnPLStatus.hh"
template<class T> TQGS_BIC<T>::TQGS_BIC(G4int ver): T()
QGS_BIC::QGS_BIC(G4int ver)
{
// default cut value (1.0mm)
// defaultCutValue = 1.0*CLHEP::mm;
G4DataQuestionaire it(photon);
G4cout << "<<< Geant4 Physics List simulation engine: QGS_BIC 2.0"<<G4endl;
G4cout << "<<< Geant4 Physics List simulation engine: QGS_BIC"<<G4endl;
G4cout <<G4endl;
this->defaultCutValue = 0.7*CLHEP::mm;
this->SetVerboseLevel(ver);
defaultCutValue = 0.7*CLHEP::mm;
SetVerboseLevel(ver);
G4WarnPLStatus exp;
exp.Experimental("QGS_BIC");
// EM Physics
this->RegisterPhysics( new G4EmStandardPhysics(ver) );
RegisterPhysics( new G4EmStandardPhysics(ver) );
// Synchroton Radiation & GN Physics
this->RegisterPhysics( new G4EmExtraPhysics(ver) );
RegisterPhysics( new G4EmExtraPhysics(ver) );
// Decays
this->RegisterPhysics( new G4DecayPhysics(ver) );
RegisterPhysics( new G4DecayPhysics(ver) );
// Hadron Elastic scattering
this->RegisterPhysics( new G4HadronElasticPhysics(ver) );
RegisterPhysics( new G4HadronElasticPhysics(ver) );
// Hadron Physics
this->RegisterPhysics( new G4HadronPhysicsQGS_BIC(ver) );
RegisterPhysics( new G4HadronPhysicsQGS_BIC(ver) );
// Stopping Physics
this->RegisterPhysics( new G4StoppingPhysics(ver) );
RegisterPhysics( new G4StoppingPhysicsFritiofWithBinaryCascade(ver) );
// Ion Physics
this->RegisterPhysics( new G4IonPhysics(ver) );
RegisterPhysics( new G4IonPhysics(ver) );
// Neutron tracking cut
this->RegisterPhysics( new G4NeutronTrackingCut(ver) );
RegisterPhysics( new G4NeutronTrackingCut(ver) );
// Neutron cross sections
//AR-31Oct2012 this->RegisterPhysics( new G4NeutronCrossSectionXS(ver) );
//AR-31Oct2012 RegisterPhysics( new G4NeutronCrossSectionXS(ver) );
}
template<class T> TQGS_BIC<T>::~TQGS_BIC()
{
}
template<class T> void TQGS_BIC<T>::SetCuts()
{
if (this->verboseLevel >1){
G4cout << "QGS_BIC::SetCuts:";
}
// " G4VUserPhysicsList::SetCutsWithDefault" method sets
// the default cut value for all particle types
this->SetCutsWithDefault();
// if (this->verboseLevel >0)
// G4VUserPhysicsList::DumpCutValuesTable();
}
+20 -15
View File
@@ -40,6 +40,8 @@
// 07.11.2013 T.Koi: Add IonElasticPhysics, Set proton cut to 0 to generate
// low energy recoils and activate production of fission
// fragments
// 06.08.2019 A.Ribon: Replacing explicit values for the energy transition
// region with values from G4HadronicParameters
//
//----------------------------------------------------------------------------
//
@@ -60,9 +62,9 @@
#include "G4HadronElasticPhysicsLEND.hh"
#include "G4ParticleHPManager.hh"
#include "G4DataQuestionaire.hh"
#include "G4HadronPhysicsShielding.hh"
#include "G4HadronPhysicsShieldingLEND.hh"
#include "G4HadronicParameters.hh"
#include <CLHEP/Units/SystemOfUnits.h>
Shielding::Shielding(G4int verbose, const G4String& n_model,
@@ -78,7 +80,6 @@ Shielding::Shielding(G4int verbose, const G4String& n_model,
LEN_model="LEND";
}
G4DataQuestionaire it(photon, neutron, radioactive);
G4cout << "<<< Geant4 Physics List simulation engine: Shielding"
<< HadrPhysVariant << G4endl;
if ( LEN_model=="LEND" ) G4cout <<
@@ -112,13 +113,12 @@ Shielding::Shielding(G4int verbose, const G4String& n_model,
else if ( LEN_model == "LEND" )
{
RegisterPhysics( new G4HadronElasticPhysicsLEND(verbose,evaluation));
G4DataQuestionaire itt(lend);
}
else
{
G4cout << "Shielding Physics List: Warning!" <<G4endl;
G4cout << "\"" << LEN_model
<< "\" is not valid for the low energy neutorn model." <<G4endl;
<< "\" is not valid for the low energy neutron model." <<G4endl;
G4cout << "Neutron HP package will be used." <<G4endl;
RegisterPhysics( new G4HadronElasticPhysicsHP(verbose) );
}
@@ -126,21 +126,29 @@ Shielding::Shielding(G4int verbose, const G4String& n_model,
G4VPhysicsConstructor* hpc;
// Hadron Physics HP or LEND
if (HadrPhysVariant == "M") {
// The variant "M" has a special, dedicated energy transition region
// between the string model and cascade model, therefore the recommended
// values from G4HadronicParameters are intentionally not used.
hpc = new G4HadronPhysicsShielding("hInelastic Shielding", verbose,
9.5*CLHEP::GeV, 9.9*CLHEP::GeV);
} else {
hpc = new G4HadronPhysicsShielding("hInelastic Shielding", verbose,
4.0*CLHEP::GeV, 5.0*CLHEP::GeV);
hpc = new G4HadronPhysicsShielding("hInelastic Shielding", verbose,
G4HadronicParameters::Instance()->GetMinEnergyTransitionFTF_Cascade(),
G4HadronicParameters::Instance()->GetMaxEnergyTransitionFTF_Cascade());
}
if ( LEN_model == "LEND" ) {
delete hpc;
if (HadrPhysVariant == "M") {
hpc = new G4HadronPhysicsShieldingLEND("hInelastic ShieldingLEND",
verbose, 9.5*CLHEP::GeV, 9.9*CLHEP::GeV);
// The variant "M" has a special, dedicated energy transition region
// between the string model and cascade model, therefore the recommended
// values from G4HadronicParameters are intentionally not used.
hpc = new G4HadronPhysicsShieldingLEND("hInelastic ShieldingLEND", verbose,
9.5*CLHEP::GeV, 9.9*CLHEP::GeV);
} else {
hpc = new G4HadronPhysicsShieldingLEND("hInelastic ShieldingLEND",
verbose, 4.0*CLHEP::GeV, 5.0*CLHEP::GeV);
hpc = new G4HadronPhysicsShieldingLEND("hInelastic ShieldingLEND", verbose,
G4HadronicParameters::Instance()->GetMinEnergyTransitionFTF_Cascade(),
G4HadronicParameters::Instance()->GetMaxEnergyTransitionFTF_Cascade());
}
} else {
//G4cout << "Shielding Physics List: Warning." <<G4endl;
@@ -159,9 +167,6 @@ Shielding::Shielding(G4int verbose, const G4String& n_model,
RegisterPhysics( new G4StoppingPhysics(verbose) );
// Ion Physics
RegisterPhysics( new G4IonElasticPhysics(verbose));
RegisterPhysics( new G4IonQMDPhysics(verbose));
RegisterPhysics( new G4IonElasticPhysics(verbose) );
RegisterPhysics( new G4IonQMDPhysics(verbose) );
}
Shielding::~Shielding()
{}