Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4HadronPhysicsNuBeam Class Reference

#include <G4HadronPhysicsNuBeam.hh>

+ Inheritance diagram for G4HadronPhysicsNuBeam:

Public Member Functions

 G4HadronPhysicsNuBeam (G4int verbose=1)
 
 G4HadronPhysicsNuBeam (const G4String &name, G4bool quasiElastic=false)
 
virtual ~G4HadronPhysicsNuBeam ()
 
void ConstructProcess () override
 
 G4HadronPhysicsNuBeam (G4HadronPhysicsNuBeam &)=delete
 
G4HadronPhysicsNuBeamoperator= (const G4HadronPhysicsNuBeam &right)=delete
 
- Public Member Functions inherited from G4HadronPhysicsFTFP_BERT
 G4HadronPhysicsFTFP_BERT (G4int verbose=1)
 
 G4HadronPhysicsFTFP_BERT (const G4String &name, G4bool quasiElastic=false)
 
virtual ~G4HadronPhysicsFTFP_BERT ()
 
void ConstructParticle () override
 
void ConstructProcess () override
 
 G4HadronPhysicsFTFP_BERT (G4HadronPhysicsFTFP_BERT &)=delete
 
G4HadronPhysicsFTFP_BERToperator= (const G4HadronPhysicsFTFP_BERT &right)=delete
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
virtual void ConstructParticle ()=0
 
virtual void ConstructProcess ()=0
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 

Protected Member Functions

virtual void Proton () override
 
- Protected Member Functions inherited from G4HadronPhysicsFTFP_BERT
void CreateModels ()
 
virtual void Neutron ()
 
virtual void Proton ()
 
virtual void Pion ()
 
virtual void Kaon ()
 
virtual void Others ()
 
virtual void DumpBanner ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
PhysicsBuilder_V GetBuilders () const
 
void AddBuilder (G4PhysicsBuilderInterface *bld)
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 
- Protected Attributes inherited from G4HadronPhysicsFTFP_BERT
G4double minFTFP_pion
 
G4double maxBERT_pion
 
G4double minFTFP_kaon
 
G4double maxBERT_kaon
 
G4double minFTFP_proton
 
G4double maxBERT_proton
 
G4double minFTFP_neutron
 
G4double maxBERT_neutron
 
G4double minBERT_proton
 
G4double minBERT_neutron
 
G4bool QuasiElastic
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel = 0
 
G4String namePhysics = ""
 
G4int typePhysics = 0
 
G4ParticleTabletheParticleTable = nullptr
 
G4int g4vpcInstanceID = 0
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 45 of file G4HadronPhysicsNuBeam.hh.

Constructor & Destructor Documentation

◆ G4HadronPhysicsNuBeam() [1/3]

G4HadronPhysicsNuBeam::G4HadronPhysicsNuBeam ( G4int  verbose = 1)

Definition at line 58 of file G4HadronPhysicsNuBeam.cc.

58 :
59 G4HadronPhysicsNuBeam("hInelasticNuBeam",false)
60{
62}
static G4HadronicParameters * Instance()
void SetVerboseLevel(const G4int val)

◆ G4HadronPhysicsNuBeam() [2/3]

G4HadronPhysicsNuBeam::G4HadronPhysicsNuBeam ( const G4String name,
G4bool  quasiElastic = false 
)

Definition at line 64 of file G4HadronPhysicsNuBeam.cc.

65 : G4HadronPhysicsFTFP_BERT(name,quasiElastic)
66{
67 // specific transition energies should be defined here
68
69 //minFTFP_neutron = 4.0*GeV;
70 //maxBERT_neutron = 5.0*GeV;
71 minFTFP_proton = 3.0*GeV;
72 maxFTFP_proton = 101.0*GeV;
73 //maxBERT_proton = 3.5*GeV;
74 //minFTFP_pion = minFTFP_kaon = 3.0*GeV;
75 //maxBERT_pion = maxBERT_kaon = 3.5*GeV;
76}

◆ ~G4HadronPhysicsNuBeam()

virtual G4HadronPhysicsNuBeam::~G4HadronPhysicsNuBeam ( )
inlinevirtual

Definition at line 51 of file G4HadronPhysicsNuBeam.hh.

51{}

◆ G4HadronPhysicsNuBeam() [3/3]

G4HadronPhysicsNuBeam::G4HadronPhysicsNuBeam ( G4HadronPhysicsNuBeam )
delete

Member Function Documentation

◆ ConstructProcess()

void G4HadronPhysicsNuBeam::ConstructProcess ( )
overridevirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 120 of file G4HadronPhysicsNuBeam.cc.

◆ operator=()

G4HadronPhysicsNuBeam & G4HadronPhysicsNuBeam::operator= ( const G4HadronPhysicsNuBeam right)
delete

◆ Proton()

void G4HadronPhysicsNuBeam::Proton ( )
overrideprotectedvirtual

Reimplemented from G4HadronPhysicsFTFP_BERT.

Definition at line 78 of file G4HadronPhysicsNuBeam.cc.

79{
81 G4bool useFactorXS = param->ApplyFactorXS();
82
83 auto pro = new G4ProtonBuilder;
84 AddBuilder(pro);
85 // this is the new "custom" proton builder, tentatively for NuBeam
86 //
87 // no need to set the min energy because it's set in the ProBuilder
88 // ... and theMax will be set via Build()
89 //
90 // also explicitly set quasi-elastic key ON for QGS
91 // (it should be OFF for FTF, controlled by QuasiElastic)
92 //
93 auto qgsppro = new G4QGSPLundStrFragmProtonBuilder( true );
94 AddBuilder(qgsppro);
95 pro->RegisterMe(qgsppro);
96 //
97 // standard FTFP builder, but energy range is adjusted
98 //
99 auto ftfppro = new G4FTFPProtonBuilder(QuasiElastic);
100 AddBuilder(ftfppro);
101 pro->RegisterMe(ftfppro);
102 ftfppro->SetMinEnergy(minFTFP_proton);
103 ftfppro->SetMaxEnergy(maxFTFP_proton);
104 //
105 // standard Bertini builder
106 //
107 auto bertpro = new G4BertiniProtonBuilder;
108 AddBuilder(bertpro);
109 pro->RegisterMe(bertpro);
110 bertpro->SetMaxEnergy(maxBERT_proton);
111 pro->Build();
112
115 if(nullptr != inel) {
116 if( useFactorXS ) inel->MultiplyCrossSectionBy( param->XSFactorNucleonInelastic() );
117 }
118}
bool G4bool
Definition: G4Types.hh:86
G4double XSFactorNucleonInelastic() const
void MultiplyCrossSectionBy(G4double factor)
static G4HadronicProcess * FindInelasticProcess(const G4ParticleDefinition *)
static G4Proton * Proton()
Definition: G4Proton.cc:92
void AddBuilder(G4PhysicsBuilderInterface *bld)

The documentation for this class was generated from the following files: