Import Geant4 11.3.0.beta source tree
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPCaptureDataPT.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class for utilization of cross-sections from
|
||||
// probability tables in the unresolved resonance region
|
||||
// for capture channel.
|
||||
// Cross-section data set for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron Capture scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPCaptureDataPT_h
|
||||
#define G4ParticleHPCaptureDataPT_h 1
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4DynamicParticle;
|
||||
class G4ParticleDefinition;
|
||||
class G4Element;
|
||||
|
||||
|
||||
class G4ParticleHPCaptureDataPT : public G4VCrossSectionDataSet {
|
||||
public:
|
||||
G4ParticleHPCaptureDataPT();
|
||||
~G4ParticleHPCaptureDataPT();
|
||||
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
G4bool IsIsoApplicable( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
G4double GetIsoCrossSection( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Isotope* /*iso*/ , const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
|
||||
void SetVerboseLevel( G4int );
|
||||
G4int GetVerboseLevel() const;
|
||||
virtual void CrossSectionDescription( std::ostream& ) const;
|
||||
|
||||
private:
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,79 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPCaptureURR.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Final state production model for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron Capture scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPCaptureURR_h
|
||||
#define G4ParticleHPCaptureURR_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4NeutronHPCapture;
|
||||
|
||||
|
||||
class G4ParticleHPCaptureURR : public G4HadronicInteraction {
|
||||
public:
|
||||
G4ParticleHPCaptureURR();
|
||||
~G4ParticleHPCaptureURR();
|
||||
|
||||
G4HadFinalState* ApplyYourself( const G4HadProjectile& aTrack, G4Nucleus& aTargetNucleus );
|
||||
|
||||
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const;
|
||||
G4int GetVerboseLevel() const;
|
||||
void SetVerboseLevel( G4int );
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
virtual void ModelDescription( std::ostream& outFile ) const;
|
||||
|
||||
private:
|
||||
G4NeutronHPCapture* neutronHPcapture;
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits{ nullptr };
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -127,6 +127,9 @@ public:
|
||||
|
||||
G4ParticleHPFinalState** GetFinalStates() const { return theFinalStates; }
|
||||
|
||||
// method added by M.Zmeskal 02/2024 - to be used in G4ParticleHPFissionURR
|
||||
G4WendtFissionFragmentGenerator* GetWendtFissionGenerator();
|
||||
|
||||
G4ParticleHPChannel(G4ParticleHPChannel &) = delete;
|
||||
G4ParticleHPChannel & operator=
|
||||
(const G4ParticleHPChannel &right) = delete;
|
||||
|
||||
@@ -55,6 +55,9 @@ class G4ParticleHPChannelList
|
||||
G4HadFinalState* ApplyYourself(const G4Element* theElement,
|
||||
const G4HadProjectile& aTrack);
|
||||
|
||||
// method added by M.Zmeskal 02/2024 - to be used in G4ParticleHPInelasticURR
|
||||
G4HadFinalState * ApplyYourself(G4int, G4int, G4int, const G4HadProjectile & aTrack);
|
||||
|
||||
void Init(G4Element* anElement, const G4String& dirName,
|
||||
G4ParticleDefinition* projectile);
|
||||
|
||||
@@ -69,6 +72,18 @@ class G4ParticleHPChannelList
|
||||
return result;
|
||||
}
|
||||
|
||||
// method added by M.Zmeskal 02/2024 - to be used in G4ParticleHPIsoProbabilityTable
|
||||
inline G4double GetWeightedXsec( G4double anEnergy, G4int isotopeJ ) {
|
||||
G4double result = 0.0;
|
||||
G4int i;
|
||||
for ( i = 0; i < nChannels; i++ ) {
|
||||
if ( theChannels[i]->HasAnyData( isotopeJ ) ) {
|
||||
result += std::max( 0.0, theChannels[i]->GetWeightedXsec( anEnergy, isotopeJ ) );
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
G4int GetNumberOfChannels() { return nChannels; }
|
||||
|
||||
G4bool HasDataInAnyFinalState()
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPElasticDataPT.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class for utilization of cross-sections from
|
||||
// probability tables in the unresolved resonance region
|
||||
// for elastic channel.
|
||||
// Cross-section data set for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron elastic scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPElasticDataPT_h
|
||||
#define G4ParticleHPElasticDataPT_h 1
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4DynamicParticle;
|
||||
class G4ParticleDefinition;
|
||||
class G4Element;
|
||||
|
||||
|
||||
class G4ParticleHPElasticDataPT : public G4VCrossSectionDataSet {
|
||||
public:
|
||||
G4ParticleHPElasticDataPT();
|
||||
~G4ParticleHPElasticDataPT();
|
||||
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
G4bool IsIsoApplicable( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
G4double GetIsoCrossSection( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Isotope* /*iso*/ , const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
|
||||
void SetVerboseLevel( G4int );
|
||||
G4int GetVerboseLevel() const;
|
||||
virtual void CrossSectionDescription( std::ostream& ) const;
|
||||
|
||||
private:
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,79 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPElasticURR.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Final state production model for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron elastic scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPElasticURR_h
|
||||
#define G4ParticleHPElasticURR_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4ParticleHPElastic;
|
||||
|
||||
|
||||
class G4ParticleHPElasticURR : public G4HadronicInteraction {
|
||||
public:
|
||||
G4ParticleHPElasticURR();
|
||||
~G4ParticleHPElasticURR();
|
||||
|
||||
G4HadFinalState* ApplyYourself( const G4HadProjectile& aTrack, G4Nucleus& aTargetNucleus );
|
||||
|
||||
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const;
|
||||
G4int GetVerboseLevel() const;
|
||||
void SetVerboseLevel( G4int );
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
virtual void ModelDescription( std::ostream& outFile ) const;
|
||||
|
||||
private:
|
||||
G4ParticleHPElastic* particleHPelastic;
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits{ nullptr };
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPFissionDataPT.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class for utilization of cross-sections from
|
||||
// probability tables in the unresolved resonance region
|
||||
// for fission channel.
|
||||
// Cross-section data set for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron Fission scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPFissionDataPT_h
|
||||
#define G4ParticleHPFissionDataPT_h 1
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4DynamicParticle;
|
||||
class G4ParticleDefinition;
|
||||
class G4Element;
|
||||
|
||||
|
||||
class G4ParticleHPFissionDataPT : public G4VCrossSectionDataSet {
|
||||
public:
|
||||
G4ParticleHPFissionDataPT();
|
||||
~G4ParticleHPFissionDataPT();
|
||||
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
G4bool IsIsoApplicable( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
G4double GetIsoCrossSection( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Isotope* /*iso*/ , const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
|
||||
void SetVerboseLevel( G4int );
|
||||
G4int GetVerboseLevel() const;
|
||||
virtual void CrossSectionDescription( std::ostream& ) const;
|
||||
|
||||
private:
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPFissionURR.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Final state production model for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron Fission scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPFissionURR_h
|
||||
#define G4ParticleHPFissionURR_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4ParticleHPFission;
|
||||
|
||||
|
||||
class G4ParticleHPFissionURR : public G4HadronicInteraction {
|
||||
public:
|
||||
G4ParticleHPFissionURR();
|
||||
~G4ParticleHPFissionURR();
|
||||
G4HadFinalState* ApplyYourself( const G4HadProjectile& aTrack, G4Nucleus& aTargetNucleus );
|
||||
|
||||
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const;
|
||||
G4int GetVerboseLevel() const;
|
||||
void SetVerboseLevel( G4int );
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
virtual void ModelDescription( std::ostream& outFile ) const;
|
||||
|
||||
private:
|
||||
G4ParticleHPFission* particleHPfission;
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits{ nullptr };
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPInelasticDataPT.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class for utilization of cross-sections from
|
||||
// probability tables in the unresolved resonance region
|
||||
// for inelastic channel.
|
||||
// Cross-section data set for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron Inelastic scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPInelasticDataPT_h
|
||||
#define G4ParticleHPInelasticDataPT_h 1
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4DynamicParticle;
|
||||
class G4ParticleDefinition;
|
||||
class G4Element;
|
||||
|
||||
|
||||
class G4ParticleHPInelasticDataPT : public G4VCrossSectionDataSet {
|
||||
public:
|
||||
G4ParticleHPInelasticDataPT();
|
||||
~G4ParticleHPInelasticDataPT();
|
||||
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
G4bool IsIsoApplicable( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
G4double GetIsoCrossSection( const G4DynamicParticle* , G4int /*Z*/ , G4int /*A*/ ,
|
||||
const G4Isotope* /*iso*/ , const G4Element* /*elm*/ , const G4Material* /*mat*/ );
|
||||
|
||||
void SetVerboseLevel( G4int );
|
||||
G4int GetVerboseLevel() const;
|
||||
virtual void CrossSectionDescription( std::ostream& ) const;
|
||||
|
||||
private:
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,80 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPInelasticURR.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Final state production model for a high precision
|
||||
// (based on evaluated data libraries) description of
|
||||
// neutron Inelastic scattering below 20 MeV.
|
||||
// To be used in your physics list in case you need
|
||||
// this physics.
|
||||
// In this case you want to register an object of this
|
||||
// class with the corresponding process.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPInelasticURR_h
|
||||
#define G4ParticleHPInelasticURR_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4ParticleHPInelastic;
|
||||
|
||||
|
||||
class G4ParticleHPInelasticURR : public G4HadronicInteraction {
|
||||
public:
|
||||
G4ParticleHPInelasticURR();
|
||||
~G4ParticleHPInelasticURR();
|
||||
|
||||
G4HadFinalState* ApplyYourself( const G4HadProjectile& aTrack, G4Nucleus& aTargetNucleus );
|
||||
|
||||
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const;
|
||||
G4int GetVerboseLevel() const;
|
||||
void SetVerboseLevel( G4int );
|
||||
void BuildPhysicsTable( const G4ParticleDefinition& );
|
||||
virtual void ModelDescription( std::ostream& outFile ) const;
|
||||
|
||||
private:
|
||||
G4ParticleHPInelastic* particleHPinelastic;
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits{ nullptr };
|
||||
G4bool doNOTusePTforInelastic{ true };
|
||||
};
|
||||
|
||||
#endif
|
||||
+101
@@ -0,0 +1,101 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPIsoProbabilityTable.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class for the probability table of the given isotope
|
||||
// and for the given temperature.
|
||||
// It reads the files with probability tables and
|
||||
// finds the correct cross-section.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPIsoProbabilityTable_h
|
||||
#define G4ParticleHPIsoProbabilityTable_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include <vector>
|
||||
#include <thread>
|
||||
#include <map>
|
||||
|
||||
class G4ParticleHPVector;
|
||||
class G4DynamicParticle;
|
||||
class G4Element;
|
||||
|
||||
|
||||
class G4ParticleHPIsoProbabilityTable {
|
||||
public:
|
||||
G4ParticleHPIsoProbabilityTable();
|
||||
virtual ~G4ParticleHPIsoProbabilityTable();
|
||||
virtual void Init( G4int, G4int, G4int, G4double, G4String );
|
||||
virtual G4double GetCorrelatedIsoCrossSectionPT( const G4DynamicParticle*, G4int, const G4Element*,
|
||||
G4double&, G4double&, std::thread::id& );
|
||||
virtual G4double GetIsoCrossSectionPT( const G4DynamicParticle*, G4int, const G4Element*, G4double&,
|
||||
std::map< std::thread::id, G4double >&, std::thread::id& );
|
||||
|
||||
protected:
|
||||
G4double GetDopplerBroadenedElasticXS( const G4DynamicParticle*, G4int, G4int );
|
||||
G4double GetDopplerBroadenedCaptureXS( const G4DynamicParticle*, G4int, G4int );
|
||||
G4double GetDopplerBroadenedFissionXS( const G4DynamicParticle*, G4int, G4int );
|
||||
G4double GetDopplerBroadenedInelasticXS( const G4DynamicParticle*, G4int, G4int );
|
||||
|
||||
G4int Z;
|
||||
G4int A;
|
||||
G4int m;
|
||||
G4double T;
|
||||
|
||||
G4double Emin;
|
||||
G4double Emax;
|
||||
G4int nEnergies;
|
||||
|
||||
std::map< std::thread::id, G4double > energy_cache;
|
||||
std::map< std::thread::id, G4double > xsela_cache;
|
||||
std::map< std::thread::id, G4double > xscap_cache;
|
||||
std::map< std::thread::id, G4double > xsfiss_cache;
|
||||
|
||||
G4ParticleHPVector* theEnergies;
|
||||
std::vector< std::vector< G4double >* >* theProbabilities;
|
||||
std::vector< std::vector< G4double >* >* theElasticData;
|
||||
std::vector< std::vector< G4double >* >* theCaptureData;
|
||||
std::vector< std::vector< G4double >* >* theFissionData;
|
||||
std::vector< std::vector< G4double >* >* theInelasticData;
|
||||
|
||||
G4String filename;
|
||||
};
|
||||
|
||||
#endif
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPIsoProbabilityTable_CALENDF.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class for the probability table of the given isotope
|
||||
// and for the given temperature generated with CALENDF.
|
||||
// It reads the files with probability tables and
|
||||
// finds the correct cross-section.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPIsoProbabilityTable_CALENDF_h
|
||||
#define G4ParticleHPIsoProbabilityTable_CALENDF_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleHPIsoProbabilityTable.hh"
|
||||
#include <vector>
|
||||
#include <thread>
|
||||
#include <map>
|
||||
|
||||
class G4DynamicParticle;
|
||||
class G4Element;
|
||||
|
||||
|
||||
class G4ParticleHPIsoProbabilityTable_CALENDF : public G4ParticleHPIsoProbabilityTable {
|
||||
public:
|
||||
G4ParticleHPIsoProbabilityTable_CALENDF();
|
||||
~G4ParticleHPIsoProbabilityTable_CALENDF();
|
||||
void Init( G4int, G4int, G4int, G4double, G4String ) override;
|
||||
G4double GetCorrelatedIsoCrossSectionPT( const G4DynamicParticle*, G4int, const G4Element*, G4double&, G4double&,
|
||||
std::thread::id& ) override;
|
||||
G4double GetIsoCrossSectionPT( const G4DynamicParticle*, G4int, const G4Element*, G4double&,
|
||||
std::map< std::thread::id, G4double >&, std::thread::id& ) override;
|
||||
private:
|
||||
std::map< std::thread::id, G4double > xsinela_cache;
|
||||
std::vector< std::vector< G4double >* >* theInelasticData;
|
||||
};
|
||||
|
||||
#endif
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPIsoProbabilityTable_NJOY.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class for the probability table of the given isotope
|
||||
// and for the given temperature generated with NJOY.
|
||||
// It reads the files with probability tables and
|
||||
// finds the correct cross-section.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPIsoProbabilityTable_NJOY_h
|
||||
#define G4ParticleHPIsoProbabilityTable_NJOY_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4ParticleHPInterpolator.hh"
|
||||
#include "G4ParticleHPIsoProbabilityTable.hh"
|
||||
#include <vector>
|
||||
#include <thread>
|
||||
#include <map>
|
||||
|
||||
class G4DynamicParticle;
|
||||
class G4Element;
|
||||
|
||||
|
||||
class G4ParticleHPIsoProbabilityTable_NJOY : public G4ParticleHPIsoProbabilityTable {
|
||||
public:
|
||||
G4ParticleHPIsoProbabilityTable_NJOY();
|
||||
~G4ParticleHPIsoProbabilityTable_NJOY();
|
||||
void Init( G4int, G4int, G4int, G4double, G4String ) override;
|
||||
G4double GetCorrelatedIsoCrossSectionPT( const G4DynamicParticle*, G4int, const G4Element*, G4double&, G4double&,
|
||||
std::thread::id& ) override;
|
||||
G4double GetIsoCrossSectionPT( const G4DynamicParticle*, G4int, const G4Element*, G4double&,
|
||||
std::map< std::thread::id, G4double >&, std::thread::id& ) override;
|
||||
private:
|
||||
G4int tableOrder;
|
||||
G4int lssf_flag;
|
||||
G4ParticleHPInterpolator theInt;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -42,6 +42,7 @@ class G4ParticleHPChannel;
|
||||
class G4ParticleHPChannelList;
|
||||
class G4ParticleHPMessenger;
|
||||
class G4ParticleHPVector;
|
||||
class G4ParticleHPIsoProbabilityTable;
|
||||
class G4PhysicsTable;
|
||||
struct E_isoAng;
|
||||
struct E_P_E_isoAng;
|
||||
@@ -205,6 +206,17 @@ class G4ParticleHPManager
|
||||
theTSInelasticFinalStates = val;
|
||||
};
|
||||
|
||||
std::vector< std::map< G4int, G4ParticleHPIsoProbabilityTable* > >* GetProbabilityTables()
|
||||
{ return theProbabilityTables; };
|
||||
void RegisterProbabilityTables( std::vector< std::map< G4int, G4ParticleHPIsoProbabilityTable* > >* val )
|
||||
{ theProbabilityTables = val; };
|
||||
|
||||
std::vector< std::pair< G4double, G4double > >* GetURRlimits() { return theURRlimits; };
|
||||
void RegisterURRlimits( std::vector< std::pair< G4double, G4double > >* val ) { theURRlimits = val; };
|
||||
|
||||
G4String GetUsedPTformat() { return USE_PROBABILITY_TABLE_FROM; };
|
||||
void SetUsedPTformat( G4String val ) { USE_PROBABILITY_TABLE_FROM = val; };
|
||||
|
||||
G4double GetMinADBRC() const { return theMinADBRC; };
|
||||
G4double GetMinEnergyDBRC() const { return theMinEnergyDBRC; };
|
||||
G4double GetMaxEnergyDBRC() const { return theMaxEnergyDBRC; };
|
||||
@@ -271,5 +283,10 @@ class G4ParticleHPManager
|
||||
G4double theMaxEnergyDoppler;
|
||||
|
||||
G4String fDataPath[6]{""};
|
||||
|
||||
std::vector< std::map< G4int, G4ParticleHPIsoProbabilityTable* > >* theProbabilityTables{ nullptr };
|
||||
std::vector< std::pair< G4double, G4double > >* theURRlimits{ nullptr };
|
||||
|
||||
G4String USE_PROBABILITY_TABLE_FROM{ "njoy" };
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -62,6 +62,7 @@ class G4ParticleHPMessenger : public G4UImessenger
|
||||
G4UIcmdWithADouble* MinADBRCCmd;
|
||||
G4UIcmdWithADoubleAndUnit* MinEnergyDBRCCmd;
|
||||
G4UIcmdWithADoubleAndUnit* MaxEnergyDBRCCmd;
|
||||
G4UIcmdWithAString* PTformatCmd;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * License and Disclaimer *
|
||||
// * *
|
||||
// * The Geant4 software is copyright of the Copyright Holders of *
|
||||
// * the Geant4 Collaboration. It is provided under the terms and *
|
||||
// * conditions of the Geant4 Software License, included in the file *
|
||||
// * LICENSE and available at http://cern.ch/geant4/license . These *
|
||||
// * include a list of copyright holders. *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. Please see the license in the file LICENSE and URL above *
|
||||
// * for the full disclaimer and the limitation of liability. *
|
||||
// * *
|
||||
// * This code implementation is the result of the scientific and *
|
||||
// * technical work of the GEANT4 collaboration. *
|
||||
// * By using, copying, modifying or distributing the software (or *
|
||||
// * any work based on the software) you agree to acknowledge its *
|
||||
// * use in resulting scientific publications, and indicate your *
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Geant4 header file
|
||||
//
|
||||
// File name: G4ParticleHPProbabilityTablesStore.hh
|
||||
//
|
||||
// Authors: Marek Zmeskal (CTU, Czech Technical University in Prague, Czech Republic)
|
||||
// Loic Thulliez (CEA France)
|
||||
//
|
||||
// Creation date: 4 June 2024
|
||||
//
|
||||
// Description: Class to store all probability tables for different isotopes
|
||||
// and in future also for different temperatures.
|
||||
//
|
||||
// Modifications:
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
#ifndef G4ParticleHPProbabilityTablesStore_h
|
||||
#define G4ParticleHPProbabilityTablesStore_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <thread>
|
||||
|
||||
class G4Material;
|
||||
class G4Element;
|
||||
class G4Isotope;
|
||||
class G4DynamicParticle;
|
||||
class G4ParticleHPIsoProbabilityTable;
|
||||
|
||||
|
||||
class G4ParticleHPProbabilityTablesStore {
|
||||
public:
|
||||
static G4ParticleHPProbabilityTablesStore * GetInstance();
|
||||
|
||||
void Init();
|
||||
void InitURRlimits();
|
||||
|
||||
std::vector< std::map< G4int, G4ParticleHPIsoProbabilityTable* > >* GetProbabilityTables() { return ProbabilityTables; };
|
||||
std::vector< std::pair< G4double, G4double > >* GetURRlimits(){ return URRlimits; };
|
||||
G4double GetIsoCrossSectionPT( const G4DynamicParticle*, G4int, const G4Isotope*, const G4Element*, const G4Material* );
|
||||
|
||||
std::vector< std::map< std::thread::id, G4double > > random_number_cache;
|
||||
|
||||
private:
|
||||
static G4ParticleHPProbabilityTablesStore* instance;
|
||||
|
||||
G4ParticleHPProbabilityTablesStore();
|
||||
G4ParticleHPProbabilityTablesStore( const G4ParticleHPProbabilityTablesStore& ){};
|
||||
~G4ParticleHPProbabilityTablesStore();
|
||||
|
||||
std::vector< std::vector< G4int > >* Temperatures;
|
||||
std::vector< std::map< G4int, G4ParticleHPIsoProbabilityTable* > >* ProbabilityTables;
|
||||
std::vector< std::pair< G4double, G4double > >* URRlimits;
|
||||
std::vector< std::map< std::thread::id, G4double > > energy_cache;
|
||||
G4String dirName;
|
||||
G4String filename;
|
||||
G4int numIso;
|
||||
G4bool usedNjoy;
|
||||
G4bool usedCalendf;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -145,6 +145,9 @@ class G4ParticleHPVector
|
||||
}
|
||||
|
||||
G4double GetXsec(G4double e);
|
||||
|
||||
G4int GetEnergyIndex(G4double &e); // method added by M. Zmeskal 02/2024
|
||||
|
||||
G4double GetXsec(G4double e, G4int min)
|
||||
{
|
||||
G4int i;
|
||||
|
||||
Reference in New Issue
Block a user