Import Geant4 10.5.0 source tree
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#
|
||||
# Generated on : 24/9/2010
|
||||
#
|
||||
# $Id: CMakeLists.txt 66499 2012-12-19 09:16:35Z gcosmo $
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# $Id: GNUmakefile 82048 2014-06-10 08:21:31Z gcosmo $
|
||||
# -----------------------------------------------------------
|
||||
# GNUmakefile for hadronic processes library. G.Folger 10-Dec-97
|
||||
# --------------------------------------------------------------
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
-------------------------------------------------------------------
|
||||
$Id: History 110545 2018-05-29 13:40:55Z gcosmo $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
==========================================================
|
||||
@@ -16,6 +15,14 @@ code and to keep track of all tags.
|
||||
* Please list in reverse chronological order (last date on top)
|
||||
---------------------------------------------------------------
|
||||
|
||||
03 October 2018 Vladimir Ivanchenko (hadr-proc-V10-04-09)
|
||||
-----------------------------------------------------
|
||||
- G4NeutrinoElectronProcess : V.Grichine added cross section biasing
|
||||
|
||||
18 July 2018 Vladimir Ivanchenko (hadr-proc-V10-04-08)
|
||||
-----------------------------------------------------
|
||||
- G4HadronCaptureProcess : revised description, added C++11 keywards
|
||||
|
||||
29 May 2018 Vladimir Ivanchenko (hadr-proc-V10-04-07)
|
||||
-----------------------------------------------------
|
||||
- G4HadronElasticProcess, G4NeutrinoElectronProcess : use const pointers
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ElectronNuclearProcess.hh 69176 2013-04-22 06:51:19Z gcosmo $
|
||||
//
|
||||
// Class Description:
|
||||
//
|
||||
|
||||
@@ -53,12 +53,12 @@ class G4HadronCaptureProcess : public G4HadronicProcess
|
||||
{
|
||||
public:
|
||||
|
||||
G4HadronCaptureProcess(const G4String& processName ="nCapture");
|
||||
explicit G4HadronCaptureProcess(const G4String& processName ="nCapture");
|
||||
|
||||
virtual ~G4HadronCaptureProcess();
|
||||
|
||||
virtual G4bool IsApplicable(const G4ParticleDefinition& aParticleType);
|
||||
G4bool IsApplicable(const G4ParticleDefinition& aParticleType) final;
|
||||
|
||||
virtual void ProcessDescription(std::ostream& outFile) const;
|
||||
void ProcessDescription(std::ostream& outFile) const final;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4HadronElasticProcess.hh 90262 2015-05-22 09:03:22Z gcosmo $
|
||||
//
|
||||
// Geant4 Hadron Elastic Scattering Process -- header file
|
||||
//
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: $
|
||||
//
|
||||
// Author: D.H. Wright
|
||||
// Date: 2 February 2011
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4NeutrinoElectronProcess.hh 90262 2015-05-22 09:03:22Z gcosmo $
|
||||
//
|
||||
// Geant4 Neutrino Electron Scattering Process -- header file
|
||||
//
|
||||
@@ -70,7 +69,8 @@ public:
|
||||
virtual void ProcessDescription(std::ostream& outFile) const;
|
||||
|
||||
void SetBiasingFactors(G4double bfCc, G4double bfNc);
|
||||
|
||||
void SetBiasingFactor(G4double bf);
|
||||
G4double GetMeanFreePath(const G4Track &aTrack, G4double, G4ForceCondition *);
|
||||
private:
|
||||
|
||||
// hide assignment operator as private
|
||||
@@ -82,7 +82,7 @@ private:
|
||||
G4LogicalVolume* fEnvelope;
|
||||
G4String fEnvelopeName;
|
||||
G4NeutrinoElectronTotXsc* fTotXsc;
|
||||
G4double fNuEleCcBias, fNuEleNcBias;
|
||||
G4double fNuEleCcBias, fNuEleNcBias, fNuEleTotXscBias;
|
||||
G4SafetyHelper* safetyHelper;
|
||||
};
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PhotoCaptureProcess.hh 69176 2013-04-22 06:51:19Z gcosmo $
|
||||
//
|
||||
// Class Description
|
||||
// Process for photon nuclear inelastic scattering;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PhotoFissionProcess.hh 69176 2013-04-22 06:51:19Z gcosmo $
|
||||
//
|
||||
// Class Description
|
||||
// Process for photon nuclear inelastic scattering;
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PhotoNuclearProcess.hh 69176 2013-04-22 06:51:19Z gcosmo $
|
||||
//
|
||||
// Class Description
|
||||
// Process for photon nuclear inelastic scattering;
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UCNAbsorption.hh 71487 2013-06-17 08:19:40Z gcosmo $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UCNBoundaryProcess.hh 71487 2013-06-17 08:19:40Z gcosmo $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UCNBoundaryProcessMessenger 71487 2013-06-17 08:19:40Z gcosmo $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UCNLoss.hh 71487 2013-06-17 08:19:40Z gcosmo $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UCNMultiScattering.hh 71487 2013-06-17 08:19:40Z gcosmo $
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4UCNProcessSubType.hh 69576 2013-05-08 13:48:13Z gcosmo $
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
#
|
||||
# Generated on : 24/9/2010
|
||||
#
|
||||
# $Id: sources.cmake 107975 2017-12-14 13:31:03Z gcosmo $
|
||||
#
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4ElectronNuclearProcess.cc 105287 2017-07-19 08:45:40Z gcosmo $
|
||||
//
|
||||
|
||||
#include "G4ElectronNuclearProcess.hh"
|
||||
|
||||
@@ -43,19 +43,18 @@
|
||||
|
||||
#include "G4HadronCaptureProcess.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4NeutronCaptureXS.hh"
|
||||
#include "G4HadronCaptureDataSet.hh"
|
||||
|
||||
G4HadronCaptureProcess::G4HadronCaptureProcess(const G4String& processName) :
|
||||
G4HadronicProcess(processName, fCapture)
|
||||
{
|
||||
G4HadronicProcess::AddDataSet(new G4HadronCaptureDataSet());
|
||||
AddDataSet(new G4NeutronCaptureXS());
|
||||
}
|
||||
|
||||
|
||||
G4HadronCaptureProcess::~G4HadronCaptureProcess()
|
||||
{}
|
||||
|
||||
|
||||
G4bool
|
||||
G4HadronCaptureProcess::IsApplicable(const G4ParticleDefinition& aParticleType)
|
||||
{
|
||||
@@ -65,7 +64,7 @@ G4HadronCaptureProcess::IsApplicable(const G4ParticleDefinition& aParticleType)
|
||||
void G4HadronCaptureProcess::ProcessDescription(std::ostream& outFile) const
|
||||
{
|
||||
outFile << "G4HadronCaptureProcess handles the capture of neutrons by nuclei\n"
|
||||
<< "by invoking one or more hadronic models and one or more hadronic\n"
|
||||
<< "cross section sets.\n";
|
||||
<< "following by gamma/electron de-excitation cascade. One or more\n"
|
||||
<< "hadronic models and hadronic cross section sets may be invoked.\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4HadronElasticProcess.cc 110545 2018-05-29 13:40:55Z gcosmo $
|
||||
//
|
||||
// Geant4 Hadron Elastic Scattering Process
|
||||
//
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: $
|
||||
//
|
||||
// Author: D.H. Wright
|
||||
// Date: 2 February 2011
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4NeutrinoElectronProcess.cc 92396 2015-08-31 14:12:40Z gcosmo $
|
||||
//
|
||||
// Geant4 Hadron Elastic Scattering Process
|
||||
//
|
||||
@@ -32,7 +31,7 @@
|
||||
// Modified:
|
||||
//
|
||||
// 2.2.18 V.Grichine - PostStepDoIt implementation
|
||||
|
||||
// 03.10.18 V. Grichine - G4Region name and optionally total cross section biased in the region only.
|
||||
#include <iostream>
|
||||
#include <typeinfo>
|
||||
|
||||
@@ -76,6 +75,7 @@ G4NeutrinoElectronProcess::G4NeutrinoElectronProcess( G4String anEnvelopeName, c
|
||||
fTotXsc = nullptr; // new G4NeutrinoElectronTotXsc();
|
||||
fNuEleCcBias=1.;
|
||||
fNuEleNcBias=1.;
|
||||
fNuEleTotXscBias=1.;
|
||||
safetyHelper = G4TransportationManager::GetTransportationManager()->GetSafetyHelper();
|
||||
safetyHelper->InitialiseHelper();
|
||||
}
|
||||
@@ -84,7 +84,20 @@ G4NeutrinoElectronProcess::~G4NeutrinoElectronProcess()
|
||||
{
|
||||
// if( fTotXsc ) delete fTotXsc;
|
||||
}
|
||||
void G4NeutrinoElectronProcess::SetBiasingFactors(G4double bfCc, G4double bfNc)
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
void G4NeutrinoElectronProcess::SetBiasingFactor(G4double bf)
|
||||
{
|
||||
fNuEleTotXscBias = bf;
|
||||
|
||||
fTotXsc = new G4NeutrinoElectronTotXsc();
|
||||
// fTotXsc->SetBiasingFactor(bf);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////
|
||||
|
||||
void G4NeutrinoElectronProcess::SetBiasingFactors(G4double bfCc, G4double bfNc)
|
||||
{
|
||||
fNuEleCcBias=bfCc;
|
||||
fNuEleNcBias=bfNc;
|
||||
@@ -93,6 +106,43 @@ G4NeutrinoElectronProcess::~G4NeutrinoElectronProcess()
|
||||
fTotXsc->SetBiasingFactors(bfCc, bfNc);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
G4double G4NeutrinoElectronProcess::
|
||||
GetMeanFreePath(const G4Track &aTrack, G4double, G4ForceCondition *)
|
||||
{
|
||||
//G4cout << "GetMeanFreePath " << aTrack.GetDefinition()->GetParticleName()
|
||||
// << " Ekin= " << aTrack.GetKineticEnergy() << G4endl;
|
||||
G4String rName = aTrack.GetStep()->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetRegion()->GetName();
|
||||
G4double totxsc(0.);
|
||||
try
|
||||
{
|
||||
if( rName == fEnvelopeName && fNuEleTotXscBias > 1.)
|
||||
{
|
||||
totxsc = fNuEleTotXscBias*
|
||||
GetCrossSectionDataStore()->ComputeCrossSection(aTrack.GetDynamicParticle(),
|
||||
aTrack.GetMaterial());
|
||||
}
|
||||
else
|
||||
{
|
||||
totxsc = GetCrossSectionDataStore()->ComputeCrossSection(aTrack.GetDynamicParticle(),
|
||||
aTrack.GetMaterial());
|
||||
}
|
||||
}
|
||||
catch(G4HadronicException & aR)
|
||||
{
|
||||
G4ExceptionDescription ed;
|
||||
aR.Report(ed);
|
||||
DumpState(aTrack,"GetMeanFreePath",ed);
|
||||
ed << " Cross section is not available" << G4endl;
|
||||
G4Exception("G4NeutrinoElectronProcess::GetMeanFreePath", "had002", FatalException,
|
||||
ed);
|
||||
}
|
||||
G4double res = (totxsc>0.0) ? 1.0/totxsc : DBL_MAX;
|
||||
//G4cout << " xsection= " << totxsc << G4endl;
|
||||
return res;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
void G4NeutrinoElectronProcess::ProcessDescription(std::ostream& outFile) const
|
||||
@@ -109,8 +159,12 @@ void G4NeutrinoElectronProcess::ProcessDescription(std::ostream& outFile) const
|
||||
G4VParticleChange*
|
||||
G4NeutrinoElectronProcess::PostStepDoIt(const G4Track& track, const G4Step& step)
|
||||
{
|
||||
// if( track.GetVolume()->GetLogicalVolume() != fEnvelope )
|
||||
if( track.GetVolume()->GetLogicalVolume()->GetName() != fEnvelopeName )
|
||||
// track.GetVolume()->GetLogicalVolume()->GetName()
|
||||
// if( track.GetVolume()->GetLogicalVolume() != fEnvelope )
|
||||
|
||||
G4String rName = track.GetStep()->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetRegion()->GetName();
|
||||
|
||||
if( rName != fEnvelopeName )
|
||||
{
|
||||
if( verboseLevel > 0 )
|
||||
{
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PhotoCaptureProcess.cc 66499 2012-12-19 09:16:35Z gcosmo $
|
||||
//
|
||||
|
||||
#include "G4PhotoCaptureProcess.hh"
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PhotoFissionProcess.cc 66499 2012-12-19 09:16:35Z gcosmo $
|
||||
//
|
||||
|
||||
#include "G4PhotoFissionProcess.hh"
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4PhotoNuclearProcess.cc 105287 2017-07-19 08:45:40Z gcosmo $
|
||||
//
|
||||
|
||||
#include "G4PhotoNuclearProcess.hh"
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PositronNuclearProcess.cc 105287 2017-07-19 08:45:40Z gcosmo $
|
||||
//
|
||||
|
||||
#include "G4PositronNuclearProcess.hh"
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4UCNAbsorption.cc 69576 2013-05-08 13:48:13Z gcosmo $
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// UCN Absorption Class Implementation
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4UCNBoundaryPrcess.cc 69576 2013-05-08 13:48:13Z gcosmo $
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// UCN BoundaryProcess Class Implementation
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4UCNBoundaryProcessMessenger.cc 69576 2013-05-08 13:48:13Z gcosmo $
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// UCN BoundaryProcess Messenger Class Implementation
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4UCNLoss.cc 69576 2013-05-08 13:48:13Z gcosmo $
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Ultra Cold Neutron Loss Class Implementation
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4UCNMultiScattering.cc 69576 2013-05-08 13:48:13Z gcosmo $
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// UCN Multiple Scattering Class Implementation
|
||||
|
||||
Reference in New Issue
Block a user