Import Geant4 9.2.0 source tree
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
-------------------------------------------------------------------
|
||||
$Id: History,v 1.2 2007/01/07 04:57:36 dennis Exp $
|
||||
$Id: History,v 1.5 2008/10/02 20:40:16 dennis Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
==========================================================
|
||||
@@ -16,6 +16,23 @@ code and to keep track of all tags.
|
||||
* Please list in reverse chronological order (last date on top)
|
||||
---------------------------------------------------------------
|
||||
|
||||
2 Oct 2008 Dennis Wright (hadr-proc-V09-01-02)
|
||||
----------------------------------------------
|
||||
- G4HadronCaptureProcess.cc - change subtype from 13 to fCapture
|
||||
- G4HadronFissionProcess.cc - change subtype from 14 to fFission
|
||||
- G4HadronElasticProcess.cc - change subtype from 11 to fHadronElastic
|
||||
|
||||
1 Sep 2008 Vladimir Ivanchenko (hadr-proc-V09-01-01)
|
||||
----------------------------------------------------
|
||||
- G4HadronElasticProcess, G4HadronCaptureProcess,
|
||||
G4HadronFissionProcess - used PostStepDoIt, DumpPhysicsTable from
|
||||
the base class G4HadronicProcess
|
||||
|
||||
8 Jul 2008 Dennis Wright (hadr-proc-V09-01-00)
|
||||
----------------------------------------------
|
||||
- set process sub-type to 11 for G4HadronElasticProcess,
|
||||
13 for G4HadronCaptureProcess, and 14 for G4HadronFissionProcess
|
||||
|
||||
6 Jan 2007 Dennis Wright (hadr-proc-V08-02-00)
|
||||
----------------------------------------------
|
||||
- added process names to G4HadronElasticProcess, G4HadronCaptureProcess,
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ElectronNuclearProcess.hh,v 1.5 2006/06/29 21:02:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
// 19-MAY-98 FWJ: variant G4HadronCapture process for
|
||||
// G4CrossSectionDataSet/DataStore class design.
|
||||
// 29-JUN-98 FWJ: default data set G4HadronCrossSections
|
||||
// 01-SEP-2008 V.Ivanchenko: use methods from the base class
|
||||
//
|
||||
|
||||
// Class Description
|
||||
@@ -48,41 +49,17 @@
|
||||
#define G4HadronCaptureProcess_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Element.hh"
|
||||
#include "G4ElementVector.hh"
|
||||
#include "G4VDiscreteProcess.hh"
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4Gamma.hh"
|
||||
#include "G4Step.hh"
|
||||
#include "G4TrackStatus.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
#include "G4CrossSectionDataStore.hh"
|
||||
#include "G4HadronCaptureDataSet.hh"
|
||||
|
||||
|
||||
class G4HadronCaptureProcess : public G4HadronicProcess
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronCaptureProcess(const G4String& processName ="HadronCapture");
|
||||
|
||||
~G4HadronCaptureProcess();
|
||||
G4HadronCaptureProcess(const G4String& processName ="nCapture");
|
||||
|
||||
virtual ~G4HadronCaptureProcess();
|
||||
|
||||
G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep)
|
||||
{
|
||||
SetDispatch(this);
|
||||
return G4HadronicProcess::GeneralPostStepDoIt(aTrack, aStep);
|
||||
}
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
void DumpPhysicsTable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
private:
|
||||
|
||||
G4double GetMicroscopicCrossSection(const G4DynamicParticle* aParticle,
|
||||
const G4Element* anElement,
|
||||
G4double aTemp);
|
||||
virtual G4bool IsApplicable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
// 14-APR-98 FWJ: variant G4HadronElastic process for
|
||||
// G4CrossSectionDataSet/DataStore class design.
|
||||
// 29-JUN-98 FWJ: default data set G4HadronCrossSections
|
||||
// 01-SEP-2008 V.Ivanchenko: use methods from the base class
|
||||
//
|
||||
|
||||
// Class Description
|
||||
@@ -55,15 +56,7 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
#include "G4CrossSectionDataStore.hh"
|
||||
#include "G4HadronElasticDataSet.hh"
|
||||
#include "G4Element.hh"
|
||||
#include "G4ElementVector.hh"
|
||||
#include "G4VDiscreteProcess.hh"
|
||||
#include "G4LightMedia.hh"
|
||||
#include "G4Step.hh"
|
||||
#include "G4TrackStatus.hh"
|
||||
|
||||
|
||||
class G4HadronElasticProcess : public G4HadronicProcess
|
||||
{
|
||||
@@ -71,27 +64,9 @@ public:
|
||||
|
||||
G4HadronElasticProcess(const G4String& processName = "HadronElastic");
|
||||
|
||||
~G4HadronElasticProcess();
|
||||
virtual ~G4HadronElasticProcess();
|
||||
|
||||
inline
|
||||
|
||||
G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep)
|
||||
{
|
||||
SetDispatch(this);
|
||||
return G4HadronicProcess::GeneralPostStepDoIt(aTrack, aStep);
|
||||
}
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
void DumpPhysicsTable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
private:
|
||||
|
||||
G4double GetMicroscopicCrossSection(const G4DynamicParticle* aParticle,
|
||||
const G4Element* anElement,
|
||||
G4double aTemp);
|
||||
virtual G4bool IsApplicable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
// 19-MAY-98 FWJ: variant G4HadronFission process for
|
||||
// G4CrossSectionDataSet/DataStore class design.
|
||||
// 29-JUN-98 FWJ: default data set G4HadronCrossSections
|
||||
// 01-SEP-2008 V.Ivanchenko: use methods from the base class
|
||||
//
|
||||
|
||||
|
||||
@@ -46,47 +47,18 @@
|
||||
#define G4HadronFissionProcess_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Element.hh"
|
||||
#include "G4ElementVector.hh"
|
||||
#include "G4VDiscreteProcess.hh"
|
||||
#include "G4Proton.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4Electron.hh"
|
||||
#include "G4Gamma.hh"
|
||||
#include "G4Step.hh"
|
||||
#include "G4TrackStatus.hh"
|
||||
#include "G4HadronicProcess.hh"
|
||||
#include "G4CrossSectionDataStore.hh"
|
||||
#include "G4HadronFissionDataSet.hh"
|
||||
|
||||
|
||||
class G4HadronFissionProcess : public G4HadronicProcess
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronFissionProcess(const G4String& processName ="HadronFission");
|
||||
G4HadronFissionProcess(const G4String& processName ="nFission");
|
||||
|
||||
~G4HadronFissionProcess();
|
||||
virtual ~G4HadronFissionProcess();
|
||||
|
||||
G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep)
|
||||
{
|
||||
SetDispatch(this);
|
||||
return G4HadronicProcess::GeneralPostStepDoIt(aTrack, aStep);
|
||||
}
|
||||
virtual G4bool IsApplicable(const G4ParticleDefinition& p);
|
||||
|
||||
G4bool IsApplicable(const G4ParticleDefinition& )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void BuildThePhysicsTable(G4ParticleDefinition& aParticleType);
|
||||
|
||||
void DumpPhysicsTable(const G4ParticleDefinition& aParticleType);
|
||||
|
||||
private:
|
||||
|
||||
G4double GetMicroscopicCrossSection(const G4DynamicParticle* aParticle,
|
||||
const G4Element* anElement,
|
||||
G4double aTemp);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PhotoNuclearProcess.hh,v 1.8 2007/01/07 04:56:01 dennis Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
//
|
||||
// Class Description
|
||||
// Process for photon nuclear inelastic scattering;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ElectronNuclearProcess.cc,v 1.2 2006/06/29 21:03:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
//
|
||||
|
||||
#include "G4ElectronNuclearProcess.hh"
|
||||
|
||||
@@ -39,49 +39,26 @@
|
||||
// G4CrossSectionDataSet/DataStore class design.
|
||||
// 29-JUN-98 FWJ: default data set G4HadronCrossSections
|
||||
// design re-done removing most of the original parts: JPW 2003.
|
||||
// 01-SEP-2008 V.Ivanchenko: use methods from the base class
|
||||
|
||||
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4HadronCaptureDataSet.hh"
|
||||
|
||||
G4HadronCaptureProcess::G4HadronCaptureProcess(const G4String& processName) :
|
||||
G4HadronicProcess(processName)
|
||||
{
|
||||
G4HadronicProcess::AddDataSet(new G4HadronCaptureDataSet);
|
||||
SetProcessSubType(fCapture);
|
||||
G4HadronicProcess::AddDataSet(new G4HadronCaptureDataSet());
|
||||
}
|
||||
|
||||
G4HadronCaptureProcess::~G4HadronCaptureProcess()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
G4double G4HadronCaptureProcess::
|
||||
GetMicroscopicCrossSection(const G4DynamicParticle* aParticle,
|
||||
const G4Element* anElement, G4double aTemp)
|
||||
{
|
||||
// gives the microscopic cross section in GEANT4 internal units
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
G4Exception("G4HadronCaptureProcess", "007", FatalException,
|
||||
"G4HadronCaptureProcess: no cross section data Store");
|
||||
return DBL_MIN;
|
||||
}
|
||||
return G4HadronicProcess::GetCrossSectionDataStore()
|
||||
->GetCrossSection(aParticle, anElement, aTemp);
|
||||
}
|
||||
G4bool
|
||||
G4HadronCaptureProcess::IsApplicable(const G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
return (aParticleType == *(G4Neutron::Neutron()));
|
||||
}
|
||||
|
||||
|
||||
void G4HadronCaptureProcess::
|
||||
DumpPhysicsTable(const G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
G4Exception("G4HadronCaptureProcess", "007", FatalException,
|
||||
"G4HadronCaptureProcess: no cross section data set");
|
||||
return;
|
||||
}
|
||||
G4HadronicProcess::GetCrossSectionDataStore()
|
||||
->DumpPhysicsTable(aParticleType);
|
||||
return (&aParticleType == G4Neutron::Neutron());
|
||||
}
|
||||
|
||||
@@ -45,50 +45,25 @@
|
||||
// G4CrossSectionDataSet/DataStore class design.
|
||||
// 29-JUN-98 FWJ: default data set G4HadronCrossSections
|
||||
// design re-done JPW 2003.
|
||||
// 01-SEP-2008 V.Ivanchenko: use methods from the base class
|
||||
|
||||
|
||||
#include "G4HadronElasticProcess.hh"
|
||||
#include "G4HadronElasticDataSet.hh"
|
||||
|
||||
G4HadronElasticProcess::
|
||||
G4HadronElasticProcess(const G4String& processName) :
|
||||
G4HadronicProcess(processName)
|
||||
G4HadronElasticProcess::G4HadronElasticProcess(const G4String& processName) :
|
||||
G4HadronicProcess(processName)
|
||||
{
|
||||
AddDataSet(new G4HadronElasticDataSet);
|
||||
SetProcessSubType(fHadronElastic);
|
||||
AddDataSet(new G4HadronElasticDataSet());
|
||||
}
|
||||
|
||||
G4HadronElasticProcess::~G4HadronElasticProcess()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void G4HadronElasticProcess::
|
||||
BuildPhysicsTable(const G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
return;
|
||||
}
|
||||
G4HadronicProcess::GetCrossSectionDataStore()->BuildPhysicsTable(aParticleType);
|
||||
}
|
||||
|
||||
|
||||
G4double G4HadronElasticProcess::
|
||||
GetMicroscopicCrossSection(
|
||||
const G4DynamicParticle* aParticle, const G4Element* anElement, G4double aTemp)
|
||||
{
|
||||
// gives the microscopic cross section in GEANT4 internal units
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
G4Exception("G4HadronElasticProcess", "007", FatalException,
|
||||
"no cross section data Store");
|
||||
return DBL_MIN;
|
||||
}
|
||||
return G4HadronicProcess::GetCrossSectionDataStore()
|
||||
->GetCrossSection(aParticle, anElement, aTemp);
|
||||
}
|
||||
|
||||
|
||||
G4bool
|
||||
G4HadronElasticProcess::
|
||||
IsApplicable(const G4ParticleDefinition& aParticleType)
|
||||
G4bool
|
||||
G4HadronElasticProcess::IsApplicable(const G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
return (aParticleType == *(G4PionPlus::PionPlus()) ||
|
||||
aParticleType == *(G4PionZero::PionZero()) ||
|
||||
@@ -120,15 +95,3 @@ IsApplicable(const G4ParticleDefinition& aParticleType)
|
||||
aParticleType == *(G4AntiOmegaMinus::AntiOmegaMinus()));
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
G4HadronElasticProcess::
|
||||
DumpPhysicsTable(const G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
G4Exception("G4HadronElasticProcess", "111", JustWarning, "G4HadronElasticProcess: no cross section data set");
|
||||
return;
|
||||
}
|
||||
|
||||
G4HadronicProcess::GetCrossSectionDataStore()->DumpPhysicsTable(aParticleType);
|
||||
}
|
||||
|
||||
@@ -38,62 +38,25 @@
|
||||
// 19-MAY-98 FWJ: variant G4HadronFission process for
|
||||
// G4CrossSectionDataSet/DataStore class design.
|
||||
// 29-JUN-98 FWJ: default data set G4HadronCrossSections
|
||||
// 01-SEP-2008 V.Ivanchenko: use methods from the base class
|
||||
//
|
||||
|
||||
|
||||
#include "G4HadronFissionProcess.hh"
|
||||
#include "G4HadronFissionDataSet.hh"
|
||||
#include "G4Neutron.hh"
|
||||
|
||||
//unsigned
|
||||
//G4HadronicFissionProcessHashFun(const G4ParticleDefinition& aParticleDefinition)
|
||||
//{
|
||||
// return aParticleDefinition.GetParticleName().hash();
|
||||
//}
|
||||
|
||||
G4HadronFissionProcess::
|
||||
G4HadronFissionProcess(const G4String& processName) :
|
||||
G4HadronicProcess(processName)
|
||||
G4HadronFissionProcess::G4HadronFissionProcess(const G4String& processName) :
|
||||
G4HadronicProcess(processName)
|
||||
{
|
||||
AddDataSet(new G4HadronFissionDataSet);
|
||||
SetProcessSubType(fFission);
|
||||
AddDataSet(new G4HadronFissionDataSet());
|
||||
}
|
||||
|
||||
G4HadronFissionProcess::~G4HadronFissionProcess()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
G4HadronFissionProcess::BuildThePhysicsTable(G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
G4Exception("G4HadronFissionProcess", "007", FatalException,
|
||||
"no cross section data set");
|
||||
return;
|
||||
}
|
||||
G4HadronicProcess::GetCrossSectionDataStore()->BuildPhysicsTable(aParticleType);
|
||||
}
|
||||
|
||||
|
||||
G4double
|
||||
G4HadronFissionProcess::GetMicroscopicCrossSection(const G4DynamicParticle* aParticle,
|
||||
const G4Element* anElement, G4double aTemp)
|
||||
{
|
||||
// gives the microscopic cross section in GEANT4 internal units
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
G4Exception("G4HadronFissionProcess", "007", FatalException,
|
||||
"no cross section data Store");
|
||||
return DBL_MIN;
|
||||
}
|
||||
return G4HadronicProcess::GetCrossSectionDataStore()->GetCrossSection(aParticle, anElement, aTemp);
|
||||
}
|
||||
|
||||
void
|
||||
G4HadronFissionProcess::
|
||||
DumpPhysicsTable(const G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
if (!G4HadronicProcess::GetCrossSectionDataStore()) {
|
||||
G4Exception("G4HadronFissionProcess", "111", JustWarning,
|
||||
"no cross section data set");
|
||||
return;
|
||||
}
|
||||
G4HadronicProcess::GetCrossSectionDataStore()->DumpPhysicsTable(aParticleType);
|
||||
G4bool G4HadronFissionProcess::IsApplicable(const G4ParticleDefinition& p)
|
||||
{
|
||||
return (&p == G4Neutron::Neutron());
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4PhotoNuclearProcess.cc,v 1.2 2006/06/29 21:03:54 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-09-01 $
|
||||
// GEANT4 tag $Name: geant4-09-02 $
|
||||
//
|
||||
|
||||
#include "G4PhotoNuclearProcess.hh"
|
||||
|
||||
Reference in New Issue
Block a user