Geant4  10.02.p03
NeutronHPphysics Class Reference

#include <NeutronHPphysics.hh>

Inheritance diagram for NeutronHPphysics:
Collaboration diagram for NeutronHPphysics:

Public Member Functions

 NeutronHPphysics (const G4String &name="neutron")
 
 ~NeutronHPphysics ()
 
virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
void SetThermalPhysics (G4bool flag)
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Private Attributes

G4bool fThermal
 
NeutronHPMessengerfNeutronMessenger
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 44 of file NeutronHPphysics.hh.

Constructor & Destructor Documentation

◆ NeutronHPphysics()

NeutronHPphysics::NeutronHPphysics ( const G4String name = "neutron")

Definition at line 66 of file NeutronHPphysics.cc.

◆ ~NeutronHPphysics()

NeutronHPphysics::~NeutronHPphysics ( )

Definition at line 74 of file NeutronHPphysics.cc.

75 {
76  delete fNeutronMessenger;
77 }
NeutronHPMessenger * fNeutronMessenger

Member Function Documentation

◆ ConstructParticle()

virtual void NeutronHPphysics::ConstructParticle ( void  )
inlinevirtual

Implements G4VPhysicsConstructor.

Definition at line 51 of file NeutronHPphysics.hh.

51 { };
Here is the call graph for this function:

◆ ConstructProcess()

void NeutronHPphysics::ConstructProcess ( void  )
virtual

Implements G4VPhysicsConstructor.

Definition at line 81 of file NeutronHPphysics.cc.

82 {
84  G4ProcessManager* pManager = neutron->GetProcessManager();
85 
86  // delete all neutron processes if already registered
87  //
89  G4VProcess* process = 0;
90  process = processTable->FindProcess("hadElastic", neutron);
91  if (process) pManager->RemoveProcess(process);
92  //
93  process = processTable->FindProcess("neutronInelastic", neutron);
94  if (process) pManager->RemoveProcess(process);
95  //
96  process = processTable->FindProcess("nCapture", neutron);
97  if (process) pManager->RemoveProcess(process);
98  //
99  process = processTable->FindProcess("nFission", neutron);
100  if (process) pManager->RemoveProcess(process);
101 
102  // (re) create process: elastic
103  //
105  pManager->AddDiscreteProcess(process1);
106  //
107  // model1a
108  G4ParticleHPElastic* model1a = new G4ParticleHPElastic();
109  process1->RegisterMe(model1a);
110  process1->AddDataSet(new G4ParticleHPElasticData());
111  //
112  // model1b
113  if (fThermal) {
114  model1a->SetMinEnergy(4*eV);
116  process1->RegisterMe(model1b);
118  }
119 
120  // (re) create process: inelastic
121  //
123  pManager->AddDiscreteProcess(process2);
124  //
125  // cross section data set
127  process2->AddDataSet(dataSet2);
128  //
129  // models
131  process2->RegisterMe(model2);
132 
133  // (re) create process: nCapture
134  //
136  pManager->AddDiscreteProcess(process3);
137  //
138  // cross section data set
140  process3->AddDataSet(dataSet3);
141  //
142  // models
144  process3->RegisterMe(model3);
145 
146  // (re) create process: nFission
147  //
149  pManager->AddDiscreteProcess(process4);
150  //
151  // cross section data set
153  process4->AddDataSet(dataSet4);
154  //
155  // models
157  process4->RegisterMe(model4);
158 }
G4VProcess * FindProcess(const G4String &processName, const G4String &particleName) const
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
G4ProcessManager * GetProcessManager() const
void RegisterMe(G4HadronicInteraction *a)
void SetMinEnergy(G4double anEnergy)
void AddDataSet(G4VCrossSectionDataSet *aDataSet)
static G4Neutron * Neutron()
Definition: G4Neutron.cc:104
static const double eV
Definition: G4SIunits.hh:212
G4VProcess * RemoveProcess(G4VProcess *aProcess)
static G4ProcessTable * GetProcessTable()
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetThermalPhysics()

void NeutronHPphysics::SetThermalPhysics ( G4bool  flag)
inline

Definition at line 55 of file NeutronHPphysics.hh.

55 {fThermal = flag;};
Here is the caller graph for this function:

Member Data Documentation

◆ fNeutronMessenger

NeutronHPMessenger* NeutronHPphysics::fNeutronMessenger
private

Definition at line 59 of file NeutronHPphysics.hh.

◆ fThermal

G4bool NeutronHPphysics::fThermal
private

Definition at line 55 of file NeutronHPphysics.hh.


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