Import Geant4 11.2.0 source tree
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// V. Ivanchenko September 2023
|
||||
//
|
||||
// G4CrossSectionHP is a generic class implementing
|
||||
// cross sections for neutrons, protons and light ions
|
||||
// It is an alternative to code developed by J.P. Wellisch & T.Koi
|
||||
//
|
||||
|
||||
#ifndef G4CrossSectionHP_h
|
||||
#define G4CrossSectionHP_h 1
|
||||
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4ElementData.hh"
|
||||
#include "G4PhysicsVector.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include <vector>
|
||||
|
||||
class G4DynamicParticle;
|
||||
class G4ParticleDefinition;
|
||||
class G4ParticleHPManager;
|
||||
class G4Element;
|
||||
class G4Material;
|
||||
|
||||
class G4CrossSectionHP : public G4VCrossSectionDataSet
|
||||
{
|
||||
public:
|
||||
explicit G4CrossSectionHP(const G4ParticleDefinition*,
|
||||
const G4String& nameData,
|
||||
const G4String& nameDir, G4double emaxHP,
|
||||
G4int zmin, G4int zmax);
|
||||
|
||||
~G4CrossSectionHP() override = default;
|
||||
|
||||
G4bool IsIsoApplicable(const G4DynamicParticle*, G4int Z, G4int A,
|
||||
const G4Element*, const G4Material*) override;
|
||||
|
||||
G4double GetIsoCrossSection(const G4DynamicParticle*, G4int Z, G4int A,
|
||||
const G4Isotope*, const G4Element*,
|
||||
const G4Material*) override;
|
||||
|
||||
G4double ComputeIsoCrossSection(G4double kinEnergy, G4double loge,
|
||||
const G4ParticleDefinition*,
|
||||
G4int Z, G4int A,
|
||||
const G4Isotope* iso,
|
||||
const G4Element* elm,
|
||||
const G4Material* mat) override;
|
||||
|
||||
const G4Isotope* SelectIsotope(const G4Element*, G4double kinEnergy,
|
||||
G4double logE) override;
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
void DumpPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
G4CrossSectionHP & operator=(const G4CrossSectionHP &right) = delete;
|
||||
G4CrossSectionHP(const G4CrossSectionHP&) = delete;
|
||||
|
||||
protected:
|
||||
|
||||
inline G4double GetMaxHPEnergy() const;
|
||||
|
||||
private:
|
||||
|
||||
void Initialise(const G4int Z);
|
||||
|
||||
void InitialiseOnFly(const G4int Z);
|
||||
|
||||
void PrepareCache(const G4Material*);
|
||||
|
||||
G4double IsoCrossSection(const G4double kinE, const G4double loge,
|
||||
const G4int Z, const G4int A,
|
||||
const G4double temperature);
|
||||
|
||||
inline G4double GetCrossSection(const G4int Z, const G4int A);
|
||||
|
||||
inline G4bool CheckCache(const G4int Z);
|
||||
|
||||
const G4ParticleDefinition* fParticle;
|
||||
G4ParticleHPManager* fManagerHP;
|
||||
|
||||
const G4double emax;
|
||||
const G4double emaxT;
|
||||
const G4double elimit;
|
||||
const G4double logElimit;
|
||||
G4LorentzVector fLV;
|
||||
G4ThreeVector fBoost;
|
||||
|
||||
const G4int minZ;
|
||||
const G4int maxZ;
|
||||
std::size_t index{0};
|
||||
G4bool fPrinted{false};
|
||||
|
||||
// cache
|
||||
const G4Material* fCurrentMat{nullptr};
|
||||
std::vector<std::pair<G4int, G4int> > fZA;
|
||||
std::vector<G4double> fIsoXS;
|
||||
std::vector<G4double> fTemp;
|
||||
|
||||
const G4String fDataName;
|
||||
const G4String fDataDirectory;
|
||||
G4ElementData* fData{nullptr};
|
||||
};
|
||||
|
||||
inline G4double
|
||||
G4CrossSectionHP::GetCrossSection(const G4int Z, const G4int A)
|
||||
{
|
||||
G4double res = 0.0;
|
||||
for (std::size_t i=0; i<fZA.size(); ++i) {
|
||||
if (Z == fZA[i].first && A == fZA[i].second) {
|
||||
res = fIsoXS[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
inline G4bool G4CrossSectionHP::CheckCache(const G4int Z)
|
||||
{
|
||||
G4bool res = false;
|
||||
for (auto const & p : fZA) {
|
||||
if (Z == p.first) {
|
||||
res = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
inline G4double G4CrossSectionHP::GetMaxHPEnergy() const
|
||||
{
|
||||
return emax;
|
||||
}
|
||||
|
||||
#endif
|
||||
+55
-4
@@ -23,10 +23,61 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP2NDInelasticFS_h
|
||||
#define G4NeutronHP2NDInelasticFS_h
|
||||
//
|
||||
//
|
||||
// Geant4 header : G4NeutronFissionVI
|
||||
// Created: 03 October 2023
|
||||
// Author V.Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
// Class Description
|
||||
// Sampling of neutron induced fission using de-excitation module
|
||||
// Class Description - End
|
||||
//
|
||||
|
||||
#include "G4ParticleHP2NDInelasticFS.hh"
|
||||
using G4NeutronHP2NDInelasticFS = G4ParticleHP2NDInelasticFS;
|
||||
#ifndef G4NeutronFissionVI_h
|
||||
#define G4NeutronFissionVI_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "G4HadProjectile.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4VEvaporationChannel;
|
||||
class G4IonTable;
|
||||
class G4ExcitationHandler;
|
||||
class G4ParticleHPManager;
|
||||
|
||||
class G4NeutronFissionVI : public G4HadronicInteraction
|
||||
{
|
||||
public:
|
||||
|
||||
G4NeutronFissionVI();
|
||||
|
||||
~G4NeutronFissionVI() override;
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile & aTrack,
|
||||
G4Nucleus & targetNucleus) override;
|
||||
|
||||
void InitialiseModel() override;
|
||||
|
||||
G4NeutronFissionVI & operator=(const G4NeutronFissionVI &right) = delete;
|
||||
G4NeutronFissionVI(const G4NeutronFissionVI&) = delete;
|
||||
|
||||
private:
|
||||
|
||||
G4int secID{-1}; // creator model ID for secondaries produced by this model
|
||||
G4ParticleHPManager* fManagerHP;
|
||||
G4ExcitationHandler* fHandler{nullptr};
|
||||
G4VEvaporationChannel* fFission{nullptr};
|
||||
G4IonTable* theTableOfIons;
|
||||
|
||||
G4double minExcitation;
|
||||
G4double emaxT;
|
||||
G4LorentzVector lab4mom;
|
||||
G4bool fLocalHandler{false};
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP2NInelasticFS_h
|
||||
#define G4NeutronHP2NInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP2NInelasticFS.hh"
|
||||
using G4NeutronHP2NInelasticFS = G4ParticleHP2NInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP2NPInelasticFS_h
|
||||
#define G4NeutronHP2NPInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP2NPInelasticFS.hh"
|
||||
using G4NeutronHP2NPInelasticFS = G4ParticleHP2NPInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP2PInelasticFS_h
|
||||
#define G4NeutronHP2PInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP2PInelasticFS.hh"
|
||||
using G4NeutronHP2PInelasticFS = G4ParticleHP2PInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP3AInelasticFS_h
|
||||
#define G4NeutronHP3AInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP3AInelasticFS.hh"
|
||||
using G4NeutronHP3AInelasticFS = G4ParticleHP3AInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP3NAInelasticFS_h
|
||||
#define G4NeutronHP3NAInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP3NAInelasticFS.hh"
|
||||
using G4NeutronHP3NAInelasticFS = G4ParticleHP3NAInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP3NInelasticFS_h
|
||||
#define G4NeutronHP3NInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP3NInelasticFS.hh"
|
||||
using G4NeutronHP3NInelasticFS = G4ParticleHP3NInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP3NPInelasticFS_h
|
||||
#define G4NeutronHP3NPInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP3NPInelasticFS.hh"
|
||||
using G4NeutronHP3NPInelasticFS = G4ParticleHP3NPInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP4NInelasticFS_h
|
||||
#define G4NeutronHP4NInelasticFS_h
|
||||
|
||||
#include "G4ParticleHP4NInelasticFS.hh"
|
||||
using G4NeutronHP4NInelasticFS = G4ParticleHP4NInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPAInelasticFS_h
|
||||
#define G4NeutronHPAInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPAInelasticFS.hh"
|
||||
using G4NeutronHPAInelasticFS = G4ParticleHPAInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPAngular_h
|
||||
#define G4NeutronHPAngular_h
|
||||
|
||||
#include "G4ParticleHPAngular.hh"
|
||||
using G4NeutronHPAngular = G4ParticleHPAngular;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPAngularP_h
|
||||
#define G4NeutronHPAngularP_h
|
||||
|
||||
#include "G4ParticleHPAngularP.hh"
|
||||
using G4NeutronHPAngularP = G4ParticleHPAngularP;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPArbitaryTab_h
|
||||
#define G4NeutronHPArbitaryTab_h
|
||||
|
||||
#include "G4ParticleHPArbitaryTab.hh"
|
||||
using G4NeutronHPArbitaryTab = G4ParticleHPArbitaryTab;
|
||||
|
||||
#endif
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPBGGNucleonInelasticXS_h
|
||||
#define G4NeutronHPBGGNucleonInelasticXS_h
|
||||
|
||||
#include "G4ParticleHPBGGNucleonInelasticXS.hh"
|
||||
using G4NeutronHPBGGNucleonInelasticXS = G4ParticleHPBGGNucleonInelasticXS;
|
||||
|
||||
#endif
|
||||
@@ -23,10 +23,49 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPCapture_h
|
||||
#define G4NeutronHPCapture_h
|
||||
// Hadronic Process: Very Low Energy Neutron X-Sections
|
||||
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
|
||||
// Builds and has the Cross-section data for one material.
|
||||
|
||||
#include "G4ParticleHPCapture.hh"
|
||||
using G4NeutronHPCapture = G4ParticleHPCapture;
|
||||
// Class Description
|
||||
// Final state production model for a high precision (based on evaluated data
|
||||
// libraries) description of neutron capture 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.
|
||||
// Class Description - End
|
||||
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko July-2023 converted back
|
||||
//
|
||||
#ifndef G4NeutronHPCapture_h
|
||||
#define G4NeutronHPCapture_h 1
|
||||
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "G4ParticleHPChannel.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4NeutronHPCapture : public G4HadronicInteraction
|
||||
{
|
||||
public:
|
||||
G4NeutronHPCapture();
|
||||
~G4NeutronHPCapture() override;
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack,
|
||||
G4Nucleus& aTargetNucleus) override;
|
||||
|
||||
const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const override;
|
||||
G4int GetVerboseLevel() const;
|
||||
void SetVerboseLevel(G4int);
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
void ModelDescription(std::ostream& outFile) const override;
|
||||
|
||||
private:
|
||||
std::vector<G4ParticleHPChannel*>* theCapture{nullptr};
|
||||
G4String dirName;
|
||||
G4int numEle{0};
|
||||
|
||||
G4HadFinalState theResult;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,10 +23,68 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// 080417 Add IsZAApplicable method (return false) by T. Koi
|
||||
// 080428 Add bool onFlightDB by T. Koi
|
||||
// 091118 Add Ignore and Enable On Flight Doppler Broadening methods by T. Koi
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko July-2023 converted back
|
||||
//
|
||||
#ifndef G4NeutronHPCaptureData_h
|
||||
#define G4NeutronHPCaptureData_h
|
||||
#define G4NeutronHPCaptureData_h 1
|
||||
|
||||
#include "G4ParticleHPCaptureData.hh"
|
||||
using G4NeutronHPCaptureData = G4ParticleHPCaptureData;
|
||||
// Class Description
|
||||
// Cross-section data set for a high precision (based on evaluated data
|
||||
// libraries) description of neutron capture 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.
|
||||
// Class Description - End
|
||||
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
|
||||
class G4ParticleHPManager;
|
||||
class G4ParticleDefinition;
|
||||
class G4PhysicsTable;
|
||||
class G4Element;
|
||||
class G4Material;
|
||||
|
||||
class G4NeutronHPCaptureData : public G4VCrossSectionDataSet
|
||||
{
|
||||
public:
|
||||
G4NeutronHPCaptureData();
|
||||
~G4NeutronHPCaptureData() override;
|
||||
|
||||
G4bool IsIsoApplicable(const G4DynamicParticle*, G4int Z, G4int A,
|
||||
const G4Element*, const G4Material*) override;
|
||||
|
||||
G4double GetIsoCrossSection(const G4DynamicParticle*, G4int Z, G4int A,
|
||||
const G4Isotope*, const G4Element*,
|
||||
const G4Material*) override;
|
||||
|
||||
G4double GetCrossSection(const G4DynamicParticle*, const G4Element*, G4double aT);
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
void DumpPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
void CrossSectionDescription(std::ostream&) const override;
|
||||
|
||||
private:
|
||||
static G4PhysicsTable* theCrossSections;
|
||||
G4ParticleHPManager* fManager;
|
||||
G4double emax;
|
||||
|
||||
G4double ke_cache{0.0};
|
||||
G4double xs_cache{0.0};
|
||||
const G4Element* element_cache{nullptr};
|
||||
const G4Material* material_cache{nullptr};
|
||||
|
||||
G4bool isFirst{false};
|
||||
static G4bool fLock;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,10 +23,48 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko July-2023 converted back
|
||||
//
|
||||
#ifndef G4NeutronHPCaptureFS_h
|
||||
#define G4NeutronHPCaptureFS_h
|
||||
#define G4NeutronHPCaptureFS_h 1
|
||||
|
||||
#include "G4ParticleHPCaptureFS.hh"
|
||||
using G4NeutronHPCaptureFS = G4ParticleHPCaptureFS;
|
||||
#include "G4HadFinalState.hh"
|
||||
#include "G4HadProjectile.hh"
|
||||
#include "G4ParticleHPEnAngCorrelation.hh"
|
||||
#include "G4ParticleHPFinalState.hh"
|
||||
#include "G4ParticleHPNames.hh"
|
||||
#include "G4ParticleHPPhotonDist.hh"
|
||||
#include "G4ReactionProductVector.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4NeutronHPCaptureFS : public G4ParticleHPFinalState
|
||||
{
|
||||
public:
|
||||
G4NeutronHPCaptureFS();
|
||||
~G4NeutronHPCaptureFS() override = default;
|
||||
|
||||
void Init(G4double A, G4double Z, G4int M, G4String& dirName,
|
||||
G4String& aFSType, G4ParticleDefinition*) override;
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& theTrack) override;
|
||||
G4ParticleHPFinalState* New() override
|
||||
{
|
||||
auto theNew = new G4NeutronHPCaptureFS;
|
||||
return theNew;
|
||||
}
|
||||
|
||||
G4NeutronHPCaptureFS(G4NeutronHPCaptureFS&) = delete;
|
||||
G4NeutronHPCaptureFS& operator=
|
||||
(const G4NeutronHPCaptureFS &right) = delete;
|
||||
|
||||
private:
|
||||
G4double targetMass;
|
||||
G4bool hasExactMF6;
|
||||
|
||||
G4ParticleHPPhotonDist theFinalStatePhotons;
|
||||
G4ParticleHPEnAngCorrelation theMF6FinalState;
|
||||
G4ParticleHPNames theNames;
|
||||
};
|
||||
#endif
|
||||
|
||||
+29
-4
@@ -23,10 +23,35 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPEnAngCorrelation_h
|
||||
#define G4NeutronHPEnAngCorrelation_h
|
||||
// V. Ivanchenko 23 September 2023
|
||||
//
|
||||
// Cross-section data set for a high precision (based on evaluated data
|
||||
// libraries) description of neutron radiative capture below 20 MeV.
|
||||
//
|
||||
|
||||
#include "G4ParticleHPEnAngCorrelation.hh"
|
||||
using G4NeutronHPEnAngCorrelation = G4ParticleHPEnAngCorrelation;
|
||||
#ifndef G4NeutronHPCaptureXS_h
|
||||
#define G4NeutronHPCaptureXS_h 1
|
||||
|
||||
#include "G4CrossSectionHP.hh"
|
||||
#include <fstream>
|
||||
|
||||
class G4NeutronHPCaptureXS final : public G4CrossSectionHP
|
||||
{
|
||||
public:
|
||||
G4NeutronHPCaptureXS();
|
||||
|
||||
~G4NeutronHPCaptureXS() override = default;
|
||||
|
||||
void CrossSectionDescription(std::ostream&) const final;
|
||||
|
||||
G4bool IsElementApplicable(const G4DynamicParticle*,
|
||||
G4int Z, const G4Material*) final;
|
||||
|
||||
G4double GetElementCrossSection(const G4DynamicParticle*,
|
||||
G4int Z, const G4Material*) final;
|
||||
|
||||
G4NeutronHPCaptureXS & operator=(const G4NeutronHPCaptureXS &right) = delete;
|
||||
G4NeutronHPCaptureXS(const G4NeutronHPCaptureXS&) = delete;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPChannel_h
|
||||
#define G4NeutronHPChannel_h
|
||||
|
||||
#include "G4ParticleHPChannel.hh"
|
||||
using G4NeutronHPChannel = G4ParticleHPChannel;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPContAngularPar_h
|
||||
#define G4NeutronHPContAngularPar_h
|
||||
|
||||
#include "G4ParticleHPContAngularPar.hh"
|
||||
using G4NeutronHPContAngularPar = G4ParticleHPContAngularPar;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPContEnergyAngular_h
|
||||
#define G4NeutronHPContEnergyAngular_h
|
||||
|
||||
#include "G4ParticleHPContEnergyAngular.hh"
|
||||
using G4NeutronHPContEnergyAngular = G4ParticleHPContEnergyAngular;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPD2AInelasticFS_h
|
||||
#define G4NeutronHPD2AInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPD2AInelasticFS.hh"
|
||||
using G4NeutronHPD2AInelasticFS = G4ParticleHPD2AInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPDAInelasticFS_h
|
||||
#define G4NeutronHPDAInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPDAInelasticFS.hh"
|
||||
using G4NeutronHPDAInelasticFS = G4ParticleHPDAInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPDInelasticFS_h
|
||||
#define G4NeutronHPDInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPDInelasticFS.hh"
|
||||
using G4NeutronHPDInelasticFS = G4ParticleHPDInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPData_h
|
||||
#define G4NeutronHPData_h
|
||||
|
||||
#include "G4ParticleHPData.hh"
|
||||
using G4NeutronHPData = G4ParticleHPData;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPDataPoint_h
|
||||
#define G4NeutronHPDataPoint_h
|
||||
|
||||
#include "G4ParticleHPDataPoint.hh"
|
||||
using G4NeutronHPDataPoint = G4ParticleHPDataPoint;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPDataUsed_h
|
||||
#define G4NeutronHPDataUsed_h
|
||||
|
||||
#include "G4ParticleHPDataUsed.hh"
|
||||
using G4NeutronHPDataUsed = G4ParticleHPDataUsed;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPDeExGammas_h
|
||||
#define G4NeutronHPDeExGammas_h
|
||||
|
||||
#include "G4ParticleHPDeExGammas.hh"
|
||||
using G4NeutronHPDeExGammas = G4ParticleHPDeExGammas;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPDiscreteTwoBody_h
|
||||
#define G4NeutronHPDiscreteTwoBody_h
|
||||
|
||||
#include "G4ParticleHPDiscreteTwoBody.hh"
|
||||
using G4NeutronHPDiscreteTwoBody = G4ParticleHPDiscreteTwoBody;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPElasticFS_h
|
||||
#define G4NeutronHPElasticFS_h
|
||||
|
||||
#include "G4ParticleHPElasticFS.hh"
|
||||
using G4NeutronHPElasticFS = G4ParticleHPElasticFS;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,87 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 : G4NeutronHPElasticVI
|
||||
//
|
||||
// Created: 15 October 2023
|
||||
// Author V.Ivanchenko
|
||||
//
|
||||
// Class Description:
|
||||
// Neutron HP elastic scattering model below 20 MeV
|
||||
//
|
||||
|
||||
#ifndef G4NeutronHPElasticVI_h
|
||||
#define G4NeutronHPElasticVI_h 1
|
||||
|
||||
// Class 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.
|
||||
// Class Description - End
|
||||
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleHPChannel;
|
||||
class G4ParticleHPManager;
|
||||
|
||||
class G4NeutronHPElasticVI : public G4HadronicInteraction
|
||||
{
|
||||
public:
|
||||
G4NeutronHPElasticVI();
|
||||
|
||||
~G4NeutronHPElasticVI() override;
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack,
|
||||
G4Nucleus& aTargetNucleus) override;
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const override;
|
||||
|
||||
void ModelDescription(std::ostream& outFile) const override;
|
||||
|
||||
G4NeutronHPElasticVI(G4NeutronHPElasticVI &) = delete;
|
||||
G4NeutronHPElasticVI & operator=
|
||||
(const G4NeutronHPElasticVI &right) = delete;
|
||||
|
||||
private:
|
||||
|
||||
void InitialiseOnFly();
|
||||
|
||||
void Initialise();
|
||||
|
||||
G4ParticleHPManager* fManagerHP;
|
||||
G4bool fInitializer{false};
|
||||
|
||||
static G4bool fLock;
|
||||
static constexpr G4int ZMAXHPE{101}; // 101 because Z range is 1-100
|
||||
static G4ParticleHPChannel* theElastic[ZMAXHPE];
|
||||
};
|
||||
|
||||
#endif
|
||||
+25
-4
@@ -23,10 +23,31 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP2N2AInelasticFS_h
|
||||
#define G4NeutronHP2N2AInelasticFS_h
|
||||
// V. Ivanchenko 23 September 2023
|
||||
//
|
||||
// Cross-section data set for a high precision (based on evaluated data
|
||||
// libraries) description of neutron elastic process below 20 MeV.
|
||||
// Only nuclear scattering is considered, thermal scattering on molecules
|
||||
// is not considered in this cross section.
|
||||
//
|
||||
|
||||
#include "G4ParticleHP2N2AInelasticFS.hh"
|
||||
using G4NeutronHP2N2AInelasticFS = G4ParticleHP2N2AInelasticFS;
|
||||
#ifndef G4NeutronHPElasticXS_h
|
||||
#define G4NeutronHPElasticXS_h 1
|
||||
|
||||
#include "G4CrossSectionHP.hh"
|
||||
#include <fstream>
|
||||
|
||||
class G4NeutronHPElasticXS final : public G4CrossSectionHP
|
||||
{
|
||||
public:
|
||||
G4NeutronHPElasticXS();
|
||||
|
||||
~G4NeutronHPElasticXS() override = default;
|
||||
|
||||
void CrossSectionDescription(std::ostream&) const final;
|
||||
|
||||
G4NeutronHPElasticXS & operator=(const G4NeutronHPElasticXS &right) = delete;
|
||||
G4NeutronHPElasticXS(const G4NeutronHPElasticXS&) = delete;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPElementData_h
|
||||
#define G4NeutronHPElementData_h
|
||||
|
||||
#include "G4ParticleHPElementData.hh"
|
||||
using G4NeutronHPElementData = G4ParticleHPElementData;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPEnergyDistribution_h
|
||||
#define G4NeutronHPEnergyDistribution_h
|
||||
|
||||
#include "G4ParticleHPEnergyDistribution.hh"
|
||||
using G4NeutronHPEnergyDistribution = G4ParticleHPEnergyDistribution;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPEvapSpectrum_h
|
||||
#define G4NeutronHPEvapSpectrum_h
|
||||
|
||||
#include "G4ParticleHPEvapSpectrum.hh"
|
||||
using G4NeutronHPEvapSpectrum = G4ParticleHPEvapSpectrum;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPFastLegendre_h
|
||||
#define G4NeutronHPFastLegendre_h
|
||||
|
||||
#include "G4ParticleHPFastLegendre.hh"
|
||||
using G4NeutronHPFastLegendre = G4ParticleHPFastLegendre;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPField_h
|
||||
#define G4NeutronHPField_h
|
||||
|
||||
#include "G4ParticleHPField.hh"
|
||||
using G4NeutronHPField = G4ParticleHPField;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPFieldPoint_h
|
||||
#define G4NeutronHPFieldPoint_h
|
||||
|
||||
#include "G4ParticleHPFieldPoint.hh"
|
||||
using G4NeutronHPFieldPoint = G4ParticleHPFieldPoint;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPFinalState_h
|
||||
#define G4NeutronHPFinalState_h
|
||||
|
||||
#include "G4ParticleHPFinalState.hh"
|
||||
using G4NeutronHPFinalState = G4ParticleHPFinalState;
|
||||
|
||||
#endif
|
||||
+30
-4
@@ -23,10 +23,36 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPKallbachMannSyst_h
|
||||
#define G4NeutronHPKallbachMannSyst_h
|
||||
// V. Ivanchenko 23 September 2023
|
||||
//
|
||||
// Cross-section data set for a high precision (based on evaluated data
|
||||
// libraries) description of neutron induced fission below 20 MeV
|
||||
// for nucleus with 87 < Z < 101.
|
||||
//
|
||||
|
||||
#include "G4ParticleHPKallbachMannSyst.hh"
|
||||
using G4NeutronHPKallbachMannSyst = G4ParticleHPKallbachMannSyst;
|
||||
#ifndef G4NeutronHPFissionXS_h
|
||||
#define G4NeutronHPFissionXS_h 1
|
||||
|
||||
#include "G4CrossSectionHP.hh"
|
||||
#include <fstream>
|
||||
|
||||
class G4NeutronHPFissionXS final : public G4CrossSectionHP
|
||||
{
|
||||
public:
|
||||
G4NeutronHPFissionXS();
|
||||
|
||||
~G4NeutronHPFissionXS() override = default;
|
||||
|
||||
void CrossSectionDescription(std::ostream&) const final;
|
||||
|
||||
G4bool IsElementApplicable(const G4DynamicParticle*,
|
||||
G4int Z, const G4Material*) final;
|
||||
|
||||
G4double GetElementCrossSection(const G4DynamicParticle*,
|
||||
G4int Z, const G4Material*) final;
|
||||
|
||||
G4NeutronHPFissionXS & operator=(const G4NeutronHPFissionXS &right) = delete;
|
||||
G4NeutronHPFissionXS(const G4NeutronHPFissionXS&) = delete;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPHash_h
|
||||
#define G4NeutronHPHash_h
|
||||
|
||||
#include "G4ParticleHPHash.hh"
|
||||
using G4NeutronHPHash = G4ParticleHPHash;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPHe3InelasticFS_h
|
||||
#define G4NeutronHPHe3InelasticFS_h
|
||||
|
||||
#include "G4ParticleHPHe3InelasticFS.hh"
|
||||
using G4NeutronHPHe3InelasticFS = G4ParticleHPHe3InelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPInelasticBaseFS_h
|
||||
#define G4NeutronHPInelasticBaseFS_h
|
||||
|
||||
#include "G4ParticleHPInelasticBaseFS.hh"
|
||||
using G4NeutronHPInelasticBaseFS = G4ParticleHPInelasticBaseFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPInelasticCompFS_h
|
||||
#define G4NeutronHPInelasticCompFS_h
|
||||
|
||||
#include "G4ParticleHPInelasticCompFS.hh"
|
||||
using G4NeutronHPInelasticCompFS = G4ParticleHPInelasticCompFS;
|
||||
|
||||
#endif
|
||||
+53
-3
@@ -23,10 +23,60 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPChannelList_h
|
||||
#define G4NeutronHPChannelList_h
|
||||
// Geant4 header : G4NeutronHPInelasticVI
|
||||
// Created: 15 October 2023
|
||||
//
|
||||
// Author V.Ivanchenko
|
||||
//
|
||||
// Class Description:
|
||||
// Neutron HP inelastic scattering model below 20 MeV
|
||||
//
|
||||
|
||||
#ifndef G4NeutronHPInelasticVI_h
|
||||
#define G4NeutronHPInelasticVI_h 1
|
||||
|
||||
// Final state production model for a high precision (based on evaluated data
|
||||
// libraries) description of neutron inelastic scattering below 20 MeV or
|
||||
// light ion inelastic interaction below 100 MeV.
|
||||
// 36 exclusive final states are consideded.
|
||||
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "G4ParticleHPChannelList.hh"
|
||||
using G4NeutronHPChannelList = G4ParticleHPChannelList;
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4NeutronHPInelasticVI : public G4HadronicInteraction
|
||||
{
|
||||
public:
|
||||
G4NeutronHPInelasticVI();
|
||||
|
||||
~G4NeutronHPInelasticVI() override;
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack,
|
||||
G4Nucleus& aTargetNucleus) override;
|
||||
|
||||
const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const override;
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
void ModelDescription(std::ostream& outFile) const override;
|
||||
|
||||
G4NeutronHPInelasticVI(G4NeutronHPInelasticVI &) = delete;
|
||||
G4NeutronHPInelasticVI & operator=
|
||||
(const G4NeutronHPInelasticVI &right) = delete;
|
||||
|
||||
private:
|
||||
|
||||
void InitialiseOnFly();
|
||||
|
||||
void Initialise();
|
||||
|
||||
G4ParticleHPManager* fManagerHP;
|
||||
G4bool fInitializer{false};
|
||||
|
||||
static G4bool fLock;
|
||||
static constexpr G4int ZMAXHPI{101}; // 101 because Z range is 1-100
|
||||
static G4ParticleHPChannelList* theChannels[ZMAXHPI];
|
||||
};
|
||||
|
||||
#endif
|
||||
+23
-4
@@ -23,10 +23,29 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHP2AInelasticFS_h
|
||||
#define G4NeutronHP2AInelasticFS_h
|
||||
// V. Ivanchenko 23 September 2023
|
||||
//
|
||||
// Cross-section data set for a high precision (based on evaluated data
|
||||
// libraries) description of neutron inelastic interactions below 20 MeV.
|
||||
//
|
||||
|
||||
#include "G4ParticleHP2AInelasticFS.hh"
|
||||
using G4NeutronHP2AInelasticFS = G4ParticleHP2AInelasticFS;
|
||||
#ifndef G4NeutronHPInelasticXS_h
|
||||
#define G4NeutronHPInelasticXS_h 1
|
||||
|
||||
#include "G4CrossSectionHP.hh"
|
||||
#include <fstream>
|
||||
|
||||
class G4NeutronHPInelasticXS final : public G4CrossSectionHP
|
||||
{
|
||||
public:
|
||||
G4NeutronHPInelasticXS();
|
||||
|
||||
~G4NeutronHPInelasticXS() override = default;
|
||||
|
||||
void CrossSectionDescription(std::ostream&) const final;
|
||||
|
||||
G4NeutronHPInelasticXS & operator=(const G4NeutronHPInelasticXS &right) = delete;
|
||||
G4NeutronHPInelasticXS(const G4NeutronHPInelasticXS&) = delete;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPInterpolator_h
|
||||
#define G4NeutronHPInterpolator_h
|
||||
|
||||
#include "G4ParticleHPInterpolator.hh"
|
||||
using G4NeutronHPInterpolator = G4ParticleHPInterpolator;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPIsoData_h
|
||||
#define G4NeutronHPIsoData_h
|
||||
|
||||
#include "G4ParticleHPIsoData.hh"
|
||||
using G4NeutronHPIsoData = G4ParticleHPIsoData;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPIsotropic_h
|
||||
#define G4NeutronHPIsotropic_h
|
||||
|
||||
#include "G4ParticleHPIsotropic.hh"
|
||||
using G4NeutronHPIsotropic = G4ParticleHPIsotropic;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPLabAngularEnergy_h
|
||||
#define G4NeutronHPLabAngularEnergy_h
|
||||
|
||||
#include "G4ParticleHPLabAngularEnergy.hh"
|
||||
using G4NeutronHPLabAngularEnergy = G4ParticleHPLabAngularEnergy;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPLegendreStore_h
|
||||
#define G4NeutronHPLegendreStore_h
|
||||
|
||||
#include "G4ParticleHPLegendreStore.hh"
|
||||
using G4NeutronHPLegendreStore = G4ParticleHPLegendreStore;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPLegendreTable_h
|
||||
#define G4NeutronHPLegendreTable_h
|
||||
|
||||
#include "G4ParticleHPLegendreTable.hh"
|
||||
using G4NeutronHPLegendreTable = G4ParticleHPLegendreTable;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPList_h
|
||||
#define G4NeutronHPList_h
|
||||
|
||||
#include "G4ParticleHPList.hh"
|
||||
using G4NeutronHPList = G4ParticleHPList;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPMadlandNixSpectrum_h
|
||||
#define G4NeutronHPMadlandNixSpectrum_h
|
||||
|
||||
#include "G4ParticleHPMadlandNixSpectrum.hh"
|
||||
using G4NeutronHPMadlandNixSpectrum = G4ParticleHPMadlandNixSpectrum;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPManager_h
|
||||
#define G4NeutronHPManager_h
|
||||
|
||||
#include "G4ParticleHPManager.hh"
|
||||
using G4NeutronHPManager = G4ParticleHPManager;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPMessenger_h
|
||||
#define G4NeutronHPMessenger_h
|
||||
|
||||
#include "G4ParticleHPMessenger.hh"
|
||||
using G4NeutronHPMessenger = G4ParticleHPMessenger;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPN2AInelasticFS_h
|
||||
#define G4NeutronHPN2AInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPN2AInelasticFS.hh"
|
||||
using G4NeutronHPN2AInelasticFS = G4ParticleHPN2AInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPN2PInelasticFS_h
|
||||
#define G4NeutronHPN2PInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPN2PInelasticFS.hh"
|
||||
using G4NeutronHPN2PInelasticFS = G4ParticleHPN2PInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPN3AInelasticFS_h
|
||||
#define G4NeutronHPN3AInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPN3AInelasticFS.hh"
|
||||
using G4NeutronHPN3AInelasticFS = G4ParticleHPN3AInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNAInelasticFS_h
|
||||
#define G4NeutronHPNAInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNAInelasticFS.hh"
|
||||
using G4NeutronHPNAInelasticFS = G4ParticleHPNAInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNBodyPhaseSpace_h
|
||||
#define G4NeutronHPNBodyPhaseSpace_h
|
||||
|
||||
#include "G4ParticleHPNBodyPhaseSpace.hh"
|
||||
using G4NeutronHPNBodyPhaseSpace = G4ParticleHPNBodyPhaseSpace;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPND2AInelasticFS_h
|
||||
#define G4NeutronHPND2AInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPND2AInelasticFS.hh"
|
||||
using G4NeutronHPND2AInelasticFS = G4ParticleHPND2AInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNDInelasticFS_h
|
||||
#define G4NeutronHPNDInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNDInelasticFS.hh"
|
||||
using G4NeutronHPNDInelasticFS = G4ParticleHPNDInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNHe3InelasticFS_h
|
||||
#define G4NeutronHPNHe3InelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNHe3InelasticFS.hh"
|
||||
using G4NeutronHPNHe3InelasticFS = G4ParticleHPNHe3InelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNInelasticFS_h
|
||||
#define G4NeutronHPNInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNInelasticFS.hh"
|
||||
using G4NeutronHPNInelasticFS = G4ParticleHPNInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNPAInelasticFS_h
|
||||
#define G4NeutronHPNPAInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNPAInelasticFS.hh"
|
||||
using G4NeutronHPNPAInelasticFS = G4ParticleHPNPAInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNPInelasticFS_h
|
||||
#define G4NeutronHPNPInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNPInelasticFS.hh"
|
||||
using G4NeutronHPNPInelasticFS = G4ParticleHPNPInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNT2AInelasticFS_h
|
||||
#define G4NeutronHPNT2AInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNT2AInelasticFS.hh"
|
||||
using G4NeutronHPNT2AInelasticFS = G4ParticleHPNT2AInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNTInelasticFS_h
|
||||
#define G4NeutronHPNTInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNTInelasticFS.hh"
|
||||
using G4NeutronHPNTInelasticFS = G4ParticleHPNTInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNXInelasticFS_h
|
||||
#define G4NeutronHPNXInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPNXInelasticFS.hh"
|
||||
using G4NeutronHPNXInelasticFS = G4ParticleHPNXInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNames_h
|
||||
#define G4NeutronHPNames_h
|
||||
|
||||
#include "G4ParticleHPNames.hh"
|
||||
using G4NeutronHPNames = G4ParticleHPNames;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPNeutronYield_h
|
||||
#define G4NeutronHPNeutronYield_h
|
||||
|
||||
#include "G4ParticleHPNeutronYield.hh"
|
||||
using G4NeutronHPNeutronYield = G4ParticleHPNeutronYield;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPPAInelasticFS_h
|
||||
#define G4NeutronHPPAInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPPAInelasticFS.hh"
|
||||
using G4NeutronHPPAInelasticFS = G4ParticleHPPAInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPPDInelasticFS_h
|
||||
#define G4NeutronHPPDInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPPDInelasticFS.hh"
|
||||
using G4NeutronHPPDInelasticFS = G4ParticleHPPDInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPPInelasticFS_h
|
||||
#define G4NeutronHPPInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPPInelasticFS.hh"
|
||||
using G4NeutronHPPInelasticFS = G4ParticleHPPInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPPTInelasticFS_h
|
||||
#define G4NeutronHPPTInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPPTInelasticFS.hh"
|
||||
using G4NeutronHPPTInelasticFS = G4ParticleHPPTInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPPartial_h
|
||||
#define G4NeutronHPPartial_h
|
||||
|
||||
#include "G4ParticleHPPartial.hh"
|
||||
using G4NeutronHPPartial = G4ParticleHPPartial;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPPhotonDist_h
|
||||
#define G4NeutronHPPhotonDist_h
|
||||
|
||||
#include "G4ParticleHPPhotonDist.hh"
|
||||
using G4NeutronHPPhotonDist = G4ParticleHPPhotonDist;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPPolynomExpansion_h
|
||||
#define G4NeutronHPPolynomExpansion_h
|
||||
|
||||
#include "G4ParticleHPPolynomExpansion.hh"
|
||||
using G4NeutronHPPolynomExpansion = G4ParticleHPPolynomExpansion;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPProduct_h
|
||||
#define G4NeutronHPProduct_h
|
||||
|
||||
#include "G4ParticleHPProduct.hh"
|
||||
using G4NeutronHPProduct = G4ParticleHPProduct;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPReactionWhiteBoard_h
|
||||
#define G4NeutronHPReactionWhiteBoard_h
|
||||
|
||||
#include "G4ParticleHPReactionWhiteBoard.hh"
|
||||
using G4NeutronHPReactionWhiteBoard = G4ParticleHPReactionWhiteBoard;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPSimpleEvapSpectrum_h
|
||||
#define G4NeutronHPSimpleEvapSpectrum_h
|
||||
|
||||
#include "G4ParticleHPSimpleEvapSpectrum.hh"
|
||||
using G4NeutronHPSimpleEvapSpectrum = G4ParticleHPSimpleEvapSpectrum;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPT2AInelasticFS_h
|
||||
#define G4NeutronHPT2AInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPT2AInelasticFS.hh"
|
||||
using G4NeutronHPT2AInelasticFS = G4ParticleHPT2AInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPTInelasticFS_h
|
||||
#define G4NeutronHPTInelasticFS_h
|
||||
|
||||
#include "G4ParticleHPTInelasticFS.hh"
|
||||
using G4NeutronHPTInelasticFS = G4ParticleHPTInelasticFS;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPThreadLocalManager_h
|
||||
#define G4NeutronHPThreadLocalManager_h
|
||||
|
||||
#include "G4ParticleHPThreadLocalManager.hh"
|
||||
using G4NeutronHPThreadLocalManager = G4ParticleHPThreadLocalManager;
|
||||
|
||||
#endif
|
||||
@@ -1,32 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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. *
|
||||
// ********************************************************************
|
||||
//
|
||||
#ifndef G4NeutronHPVector_h
|
||||
#define G4NeutronHPVector_h
|
||||
|
||||
#include "G4ParticleHPVector.hh"
|
||||
using G4NeutronHPVector = G4ParticleHPVector;
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,88 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * 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 : G4NeutronRadCaptureHP
|
||||
// Created: 02 October 2023
|
||||
// Author V.Ivanchenko
|
||||
//
|
||||
// Modified:
|
||||
//
|
||||
// Class Description
|
||||
// Sampling of neutron radiative capture. The same approach is used
|
||||
// as in the G4NeutronRadCapture with the difference in sampling of
|
||||
// nucleus termal motion.
|
||||
// Class Description - End
|
||||
//
|
||||
|
||||
#ifndef G4NeutronRadCaptureHP_h
|
||||
#define G4NeutronRadCaptureHP_h 1
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "G4HadProjectile.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4LorentzVector.hh"
|
||||
|
||||
class G4VEvaporationChannel;
|
||||
class G4IonTable;
|
||||
class G4ParticleHPManager;
|
||||
|
||||
class G4NeutronRadCaptureHP : public G4HadronicInteraction
|
||||
{
|
||||
public:
|
||||
|
||||
G4NeutronRadCaptureHP();
|
||||
|
||||
~G4NeutronRadCaptureHP() override;
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile & aTrack,
|
||||
G4Nucleus & targetNucleus) override;
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
G4NeutronRadCaptureHP & operator=
|
||||
(const G4NeutronRadCaptureHP &right) = delete;
|
||||
G4NeutronRadCaptureHP(const G4NeutronRadCaptureHP&) = delete;
|
||||
|
||||
private:
|
||||
|
||||
G4int icID{-1}; // creator model ID for e- produced by internal conversion
|
||||
G4int secID{-1}; // creator model ID for the other secondaries produced by this model
|
||||
const G4ParticleDefinition* electron;
|
||||
G4ParticleHPManager* fManagerHP;
|
||||
G4VEvaporationChannel* photonEvaporation{nullptr};
|
||||
G4IonTable* theTableOfIons;
|
||||
G4double lowestEnergyLimit;
|
||||
G4double minExcitation;
|
||||
G4double emax;
|
||||
G4double emaxT;
|
||||
G4LorentzVector lab4mom;
|
||||
G4bool fLocalPE{false};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -23,53 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// Hadronic Process: Very Low Energy Neutron X-Sections
|
||||
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
|
||||
// Builds and has the Cross-section data for one material.
|
||||
|
||||
// Class Description
|
||||
// Final state production model for a high precision (based on evaluated data
|
||||
// libraries) description of neutron capture 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.
|
||||
// Class Description - End
|
||||
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
//
|
||||
#ifndef G4ParticleHPCapture_h
|
||||
#define G4ParticleHPCapture_h 1
|
||||
#define G4ParticleHPCapture_h
|
||||
|
||||
#include "G4HadronicInteraction.hh"
|
||||
#include "G4ParticleHPChannel.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleHPCapture : public G4HadronicInteraction
|
||||
{
|
||||
public:
|
||||
G4ParticleHPCapture();
|
||||
|
||||
~G4ParticleHPCapture() override;
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack,
|
||||
G4Nucleus& aTargetNucleus) override;
|
||||
|
||||
const std::pair<G4double, G4double> GetFatalEnergyCheckLevels() const override;
|
||||
|
||||
public:
|
||||
G4int GetVerboseLevel() const;
|
||||
void SetVerboseLevel(G4int);
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
void ModelDescription(std::ostream& outFile) const override;
|
||||
|
||||
private:
|
||||
std::vector<G4ParticleHPChannel*>* theCapture{nullptr};
|
||||
G4String dirName;
|
||||
G4int numEle{0};
|
||||
|
||||
G4HadFinalState theResult;
|
||||
};
|
||||
#include "G4NeutronHPCapture.hh"
|
||||
using G4ParticleHPCapture = G4NeutronHPCapture;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,71 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// 080417 Add IsZAApplicable method (return false) by T. Koi
|
||||
// 080428 Add bool onFlightDB by T. Koi
|
||||
// 091118 Add Ignore and Enable On Flight Doppler Broadening methods by T. Koi
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
//
|
||||
#ifndef G4ParticleHPCaptureData_h
|
||||
#define G4ParticleHPCaptureData_h 1
|
||||
#define G4ParticleHPCaptureData_h
|
||||
|
||||
// Class Description
|
||||
// Cross-section data set for a high precision (based on evaluated data
|
||||
// libraries) description of neutron capture 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.
|
||||
// Class Description - End
|
||||
|
||||
#include "G4DynamicParticle.hh"
|
||||
#include "G4Element.hh"
|
||||
#include "G4ParticleDefinition.hh"
|
||||
#include "G4PhysicsTable.hh"
|
||||
#include "G4VCrossSectionDataSet.hh"
|
||||
|
||||
class G4ParticleHPCaptureData : public G4VCrossSectionDataSet
|
||||
{
|
||||
public:
|
||||
G4ParticleHPCaptureData();
|
||||
|
||||
~G4ParticleHPCaptureData() override;
|
||||
|
||||
G4bool IsIsoApplicable(const G4DynamicParticle*, G4int /*Z*/, G4int /*A*/,
|
||||
const G4Element* /*elm*/, const G4Material* /*mat*/) override;
|
||||
|
||||
G4double GetIsoCrossSection(const G4DynamicParticle*, G4int /*Z*/, G4int /*A*/,
|
||||
const G4Isotope* /*iso*/, const G4Element* /*elm*/,
|
||||
const G4Material* /*mat*/) override;
|
||||
|
||||
// G4bool IsApplicable(const G4DynamicParticle*, const G4Element*);
|
||||
|
||||
public:
|
||||
// G4bool IsZAApplicable( const G4DynamicParticle* , G4double /*ZZ*/, G4double /*AA*/)
|
||||
//{ return false;}
|
||||
|
||||
G4double GetCrossSection(const G4DynamicParticle*, const G4Element*, G4double aT);
|
||||
|
||||
void BuildPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
void DumpPhysicsTable(const G4ParticleDefinition&) override;
|
||||
|
||||
public:
|
||||
G4int GetVerboseLevel() const;
|
||||
void SetVerboseLevel(G4int) override;
|
||||
void CrossSectionDescription(std::ostream&) const override;
|
||||
|
||||
private:
|
||||
G4PhysicsTable* theCrossSections;
|
||||
|
||||
G4bool instanceOfWorker;
|
||||
|
||||
G4double ke_cache;
|
||||
G4double xs_cache;
|
||||
const G4Element* element_cache;
|
||||
const G4Material* material_cache;
|
||||
};
|
||||
#include "G4NeutronHPCaptureData.hh"
|
||||
using G4ParticleHPCaptureData = G4NeutronHPCaptureData;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,49 +23,10 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
//
|
||||
#ifndef G4ParticleHPCaptureFS_h
|
||||
#define G4ParticleHPCaptureFS_h 1
|
||||
#define G4ParticleHPCaptureFS_h
|
||||
|
||||
#include "G4HadFinalState.hh"
|
||||
#include "G4HadProjectile.hh"
|
||||
#include "G4ParticleHPEnAngCorrelation.hh"
|
||||
#include "G4ParticleHPFinalState.hh"
|
||||
#include "G4ParticleHPNames.hh"
|
||||
#include "G4ParticleHPPhotonDist.hh"
|
||||
#include "G4ReactionProductVector.hh"
|
||||
#include "globals.hh"
|
||||
#include "G4NeutronHPCaptureFS.hh"
|
||||
using G4ParticleHPCaptureFS = G4NeutronHPCaptureFS;
|
||||
|
||||
class G4ParticleHPCaptureFS : public G4ParticleHPFinalState
|
||||
{
|
||||
public:
|
||||
G4ParticleHPCaptureFS();
|
||||
|
||||
~G4ParticleHPCaptureFS() override = default;
|
||||
|
||||
void Init(G4double A, G4double Z, G4int M, G4String& dirName, G4String& aFSType,
|
||||
G4ParticleDefinition*) override;
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& theTrack) override;
|
||||
G4ParticleHPFinalState* New() override
|
||||
{
|
||||
auto theNew = new G4ParticleHPCaptureFS;
|
||||
return theNew;
|
||||
}
|
||||
|
||||
private:
|
||||
G4double targetMass;
|
||||
|
||||
G4ParticleHPPhotonDist theFinalStatePhotons;
|
||||
|
||||
G4ParticleHPEnAngCorrelation theMF6FinalState;
|
||||
G4bool hasExactMF6;
|
||||
|
||||
G4ParticleHPNames theNames;
|
||||
|
||||
// G4double theCurrentA;
|
||||
// G4double theCurrentZ;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -33,7 +33,9 @@
|
||||
// 080520 Delete unnecessary dependencies by T. Koi
|
||||
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko, July-2023 Basic revision of particle HP classes
|
||||
//
|
||||
|
||||
#ifndef G4ParticleHPChannel_h
|
||||
#define G4ParticleHPChannel_h 1
|
||||
|
||||
@@ -53,154 +55,106 @@ class G4ParticleDefinition;
|
||||
|
||||
class G4ParticleHPChannel
|
||||
{
|
||||
public:
|
||||
G4ParticleHPChannel(G4ParticleDefinition* projectile)
|
||||
: wendtFissionGenerator(G4ParticleHPManager::GetInstance()->GetUseWendtFissionModel()
|
||||
? G4WendtFissionFragmentGenerator::GetInstance()
|
||||
: nullptr)
|
||||
{
|
||||
if (G4ParticleHPManager::GetInstance()->GetUseWendtFissionModel()) {
|
||||
// Make sure both fission fragment models are not active at same time
|
||||
G4ParticleHPManager::GetInstance()->SetProduceFissionFragments(false);
|
||||
public:
|
||||
G4ParticleHPChannel(G4ParticleDefinition* projectile = nullptr);
|
||||
|
||||
~G4ParticleHPChannel();
|
||||
|
||||
G4double GetXsec(G4double energy);
|
||||
|
||||
G4double GetWeightedXsec(G4double energy, G4int isoNumber);
|
||||
|
||||
G4double GetFSCrossSection(G4double energy, G4int isoNumber);
|
||||
|
||||
G4bool IsActive(G4int isoNumber) const
|
||||
{
|
||||
return active[isoNumber];
|
||||
}
|
||||
|
||||
G4bool HasFSData(G4int isoNumber)
|
||||
{
|
||||
return theFinalStates[isoNumber]->HasFSData();
|
||||
}
|
||||
|
||||
G4bool HasAnyData(G4int isoNumber)
|
||||
{
|
||||
return theFinalStates[isoNumber]->HasAnyData();
|
||||
}
|
||||
|
||||
G4bool Register(G4ParticleHPFinalState* theFS);
|
||||
|
||||
void Init(G4Element* theElement, const G4String& dirName);
|
||||
|
||||
void Init(G4Element* theElement, const G4String& dirName,
|
||||
const G4String& fsType);
|
||||
|
||||
void UpdateData(G4int A, G4int Z, G4int index, G4double abundance,
|
||||
G4ParticleDefinition* projectile)
|
||||
{
|
||||
UpdateData(A, Z, 0, index, abundance, projectile);
|
||||
}
|
||||
|
||||
void UpdateData(G4int A, G4int Z, G4int M, G4int index, G4double abundance,
|
||||
G4ParticleDefinition* projectile);
|
||||
|
||||
void Harmonise(G4ParticleHPVector*& theStore, G4ParticleHPVector* theNew);
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& theTrack,
|
||||
G4int isoNumber = -1,
|
||||
G4bool isElastic = false);
|
||||
|
||||
G4int GetNiso() const { return niso; }
|
||||
|
||||
G4double GetN(G4int i) const { return theFinalStates[i]->GetN(); }
|
||||
G4double GetZ(G4int i) const { return theFinalStates[i]->GetZ(); }
|
||||
G4double GetM(G4int i) const { return theFinalStates[i]->GetM(); }
|
||||
|
||||
G4bool HasDataInAnyFinalState()
|
||||
{
|
||||
G4bool result = false;
|
||||
for (G4int i = 0; i < niso; ++i) {
|
||||
if (theFinalStates[i]->HasAnyData()) {
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
theProjectile = const_cast<G4ParticleDefinition*>(projectile);
|
||||
theChannelData = new G4ParticleHPVector;
|
||||
theBuffer = nullptr;
|
||||
theIsotopeWiseData = nullptr;
|
||||
theFinalStates = nullptr;
|
||||
active = nullptr;
|
||||
registerCount = -1;
|
||||
niso = -1;
|
||||
theElement = nullptr;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
G4ParticleHPChannel()
|
||||
: wendtFissionGenerator(G4ParticleHPManager::GetInstance()->GetUseWendtFissionModel()
|
||||
? G4WendtFissionFragmentGenerator::GetInstance()
|
||||
: nullptr)
|
||||
{
|
||||
if (G4ParticleHPManager::GetInstance()->GetUseWendtFissionModel()) {
|
||||
// Make sure both fission fragment models are not active at same time
|
||||
G4ParticleHPManager::GetInstance()->SetProduceFissionFragments(false);
|
||||
}
|
||||
theProjectile = G4Neutron::Neutron();
|
||||
theChannelData = new G4ParticleHPVector;
|
||||
theBuffer = nullptr;
|
||||
theIsotopeWiseData = nullptr;
|
||||
theFinalStates = nullptr;
|
||||
active = nullptr;
|
||||
registerCount = -1;
|
||||
niso = -1;
|
||||
theElement = nullptr;
|
||||
}
|
||||
void DumpInfo();
|
||||
|
||||
~G4ParticleHPChannel()
|
||||
{
|
||||
delete theChannelData;
|
||||
// Following statement disabled to avoid SEGV
|
||||
// theBuffer is also deleted as "theChannelData" in
|
||||
// ~G4ParticleHPIsoData. FWJ 06-Jul-1999
|
||||
// if(theBuffer != 0) delete theBuffer;
|
||||
delete[] theIsotopeWiseData;
|
||||
// Deletion of FinalStates disabled to avoid endless looping
|
||||
// in the destructor heirarchy. FWJ 06-Jul-1999
|
||||
// if(theFinalStates != 0)
|
||||
//{
|
||||
// for(i=0; i<niso; i++)
|
||||
// {
|
||||
// delete theFinalStates[i];
|
||||
// }
|
||||
// delete [] theFinalStates;
|
||||
//}
|
||||
// FWJ experiment
|
||||
// if(active!=0) delete [] active;
|
||||
// T.K.
|
||||
if (theFinalStates != nullptr) {
|
||||
for (G4int i = 0; i < niso; i++) {
|
||||
delete theFinalStates[i];
|
||||
}
|
||||
delete[] theFinalStates;
|
||||
}
|
||||
delete[] active;
|
||||
}
|
||||
G4String& GetFSType() { return theFSType; }
|
||||
|
||||
G4double GetXsec(G4double energy);
|
||||
G4ParticleHPFinalState** GetFinalStates() const { return theFinalStates; }
|
||||
|
||||
G4double GetWeightedXsec(G4double energy, G4int isoNumber);
|
||||
G4ParticleHPChannel(G4ParticleHPChannel &) = delete;
|
||||
G4ParticleHPChannel & operator=
|
||||
(const G4ParticleHPChannel &right) = delete;
|
||||
|
||||
G4double GetFSCrossSection(G4double energy, G4int isoNumber);
|
||||
protected:
|
||||
G4ParticleHPManager* fManager;
|
||||
|
||||
inline G4bool IsActive(G4int isoNumber) { return active[isoNumber]; }
|
||||
private:
|
||||
G4ParticleDefinition* theProjectile;
|
||||
|
||||
inline G4bool HasFSData(G4int isoNumber) { return theFinalStates[isoNumber]->HasFSData(); }
|
||||
G4ParticleHPVector* theChannelData;
|
||||
G4Element* theElement{nullptr};
|
||||
|
||||
inline G4bool HasAnyData(G4int isoNumber) { return theFinalStates[isoNumber]->HasAnyData(); }
|
||||
// total (element) cross-section for this channel
|
||||
G4ParticleHPVector* theBuffer{nullptr};
|
||||
|
||||
G4bool Register(G4ParticleHPFinalState* theFS);
|
||||
G4ParticleHPIsoData* theIsotopeWiseData{nullptr};
|
||||
// these are the isotope-wise cross-sections for each final state.
|
||||
G4ParticleHPFinalState** theFinalStates{nullptr};
|
||||
// also these are isotope-wise pionters, parallel to the above.
|
||||
|
||||
void Init(G4Element* theElement, const G4String dirName);
|
||||
G4WendtFissionFragmentGenerator* wendtFissionGenerator{nullptr};
|
||||
G4bool* active{nullptr};
|
||||
G4int niso{-1};
|
||||
G4int registerCount{-1};
|
||||
|
||||
void Init(G4Element* theElement, const G4String dirName, const G4String fsType);
|
||||
|
||||
// void UpdateData(G4int A, G4int Z, G4int index, G4double abundance);
|
||||
void UpdateData(G4int A, G4int Z, G4int index, G4double abundance,
|
||||
G4ParticleDefinition* projectile)
|
||||
{
|
||||
G4int M = 0;
|
||||
UpdateData(A, Z, M, index, abundance, projectile);
|
||||
};
|
||||
void UpdateData(G4int A, G4int Z, G4int M, G4int index, G4double abundance,
|
||||
G4ParticleDefinition* projectile);
|
||||
|
||||
void Harmonise(G4ParticleHPVector*& theStore, G4ParticleHPVector* theNew);
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4HadProjectile& theTrack, G4int isoNumber = -1,
|
||||
G4bool isElastic = false);
|
||||
|
||||
inline G4int GetNiso() { return niso; }
|
||||
|
||||
inline G4double GetN(G4int i) { return theFinalStates[i]->GetN(); }
|
||||
inline G4double GetZ(G4int i) { return theFinalStates[i]->GetZ(); }
|
||||
inline G4double GetM(G4int i) { return theFinalStates[i]->GetM(); }
|
||||
|
||||
inline G4bool HasDataInAnyFinalState()
|
||||
{
|
||||
G4bool result = false;
|
||||
G4int i;
|
||||
for (i = 0; i < niso; i++) {
|
||||
if (theFinalStates[i]->HasAnyData()) result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void DumpInfo();
|
||||
|
||||
G4String GetFSType() const { return theFSType; }
|
||||
|
||||
G4ParticleHPFinalState** GetFinalStates() const { return theFinalStates; }
|
||||
|
||||
private:
|
||||
G4ParticleDefinition* theProjectile;
|
||||
|
||||
G4ParticleHPVector* theChannelData; // total (element) cross-section for this channel
|
||||
G4ParticleHPVector* theBuffer;
|
||||
|
||||
G4ParticleHPIsoData*
|
||||
theIsotopeWiseData; // these are the isotope-wise cross-sections for each final state.
|
||||
G4ParticleHPFinalState**
|
||||
theFinalStates; // also these are isotope-wise pionters, parallel to the above.
|
||||
G4bool* active;
|
||||
G4int niso;
|
||||
|
||||
G4StableIsotopes theStableOnes;
|
||||
|
||||
G4String theDir;
|
||||
G4String theFSType;
|
||||
G4Element* theElement;
|
||||
|
||||
G4int registerCount;
|
||||
|
||||
G4WendtFissionFragmentGenerator* const wendtFissionGenerator;
|
||||
G4String theDir{""};
|
||||
G4String theFSType{""};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -23,19 +23,18 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
//
|
||||
// Hadronic Process: Very Low Energy Neutron X-Sections
|
||||
// original by H.P. Wellisch, TRIUMF, 14-Feb-97
|
||||
// Builds and has the Cross-section data for one material.
|
||||
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko, July-2023 Basic revision of particle HP classes
|
||||
//
|
||||
|
||||
#ifndef G4ParticleHPChannelList_h
|
||||
#define G4ParticleHPChannelList_h 1
|
||||
|
||||
#include "G4ParticleHPChannel.hh"
|
||||
#include "G4StableIsotopes.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4Element;
|
||||
@@ -47,62 +46,57 @@ class G4ParticleDefinition;
|
||||
class G4ParticleHPChannelList
|
||||
{
|
||||
public:
|
||||
G4ParticleHPChannelList(G4int n, G4ParticleDefinition* projectile);
|
||||
|
||||
G4ParticleHPChannelList();
|
||||
G4ParticleHPChannelList(G4int n = 0, G4ParticleDefinition* p = nullptr);
|
||||
|
||||
void Init(G4int n);
|
||||
|
||||
~G4ParticleHPChannelList();
|
||||
|
||||
G4HadFinalState* ApplyYourself(const G4Element* theElement, const G4HadProjectile& aTrack);
|
||||
G4HadFinalState* ApplyYourself(const G4Element* theElement,
|
||||
const G4HadProjectile& aTrack);
|
||||
|
||||
void Init(G4Element* anElement, const G4String& dirName, G4ParticleDefinition* projectile);
|
||||
void Init(G4Element* anElement, const G4String& dirName,
|
||||
G4ParticleDefinition* projectile);
|
||||
|
||||
void Register(G4ParticleHPFinalState* theFS, const G4String& aName);
|
||||
|
||||
inline G4double GetXsec(G4double anEnergy)
|
||||
G4double GetXsec(G4double anEnergy)
|
||||
{
|
||||
G4double result = 0;
|
||||
G4int i;
|
||||
for (i = 0; i < nChannels; i++) {
|
||||
G4double result = 0.0;
|
||||
for (G4int i = 0; i < nChannels; ++i) {
|
||||
result += std::max(0., theChannels[i]->GetXsec(anEnergy));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
inline G4int GetNumberOfChannels() { return nChannels; }
|
||||
G4int GetNumberOfChannels() { return nChannels; }
|
||||
|
||||
inline G4bool HasDataInAnyFinalState()
|
||||
G4bool HasDataInAnyFinalState()
|
||||
{
|
||||
G4bool result = false;
|
||||
G4int i;
|
||||
for (i = 0; i < nChannels; i++) {
|
||||
if (theChannels[i]->HasDataInAnyFinalState()) result = true;
|
||||
for (G4int i = 0; i < nChannels; ++i) {
|
||||
if (theChannels[i]->HasDataInAnyFinalState())
|
||||
{
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
inline void RestartRegistration()
|
||||
{
|
||||
allChannelsCreated = true;
|
||||
theInitCount = 0;
|
||||
}
|
||||
|
||||
void DumpInfo();
|
||||
|
||||
G4ParticleHPChannelList(G4ParticleHPChannelList &) = delete;
|
||||
G4ParticleHPChannelList & operator=
|
||||
(const G4ParticleHPChannelList &right) = delete;
|
||||
|
||||
private:
|
||||
static G4ThreadLocal G4int trycounter;
|
||||
G4ParticleHPChannel** theChannels;
|
||||
G4int nChannels;
|
||||
G4String theDir;
|
||||
G4Element* theElement;
|
||||
|
||||
G4bool allChannelsCreated;
|
||||
G4int theInitCount;
|
||||
|
||||
G4StableIsotopes theStableOnes;
|
||||
|
||||
G4ParticleDefinition* theProjectile;
|
||||
G4Element* theElement{nullptr};
|
||||
G4int nChannels;
|
||||
G4int idx{0};
|
||||
G4String theDir{""};
|
||||
|
||||
G4HadFinalState unChanged;
|
||||
};
|
||||
|
||||
+40
-92
@@ -28,6 +28,7 @@
|
||||
// 080718 Add ClearHistories method and related class member
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko, July-2023 Basic revision of particle HP classes
|
||||
//
|
||||
#ifndef G4ParticleHPContAngularPar_h
|
||||
#define G4ParticleHPContAngularPar_h 1
|
||||
@@ -49,77 +50,33 @@ class G4ParticleHPContAngularPar
|
||||
{
|
||||
struct toBeCached
|
||||
{
|
||||
G4bool fresh{true};
|
||||
G4double currentMeanEnergy{-2.0};
|
||||
G4double remaining_energy{0.0};
|
||||
G4double theTargetCode{-1.0};
|
||||
G4ReactionProduct* theTarget{nullptr};
|
||||
G4ReactionProduct* thePrimary{nullptr};
|
||||
toBeCached() = default;
|
||||
G4bool fresh{true};
|
||||
G4double currentMeanEnergy{-2.0};
|
||||
G4double remaining_energy{0.0};
|
||||
G4double theTargetCode{-1.0};
|
||||
G4ReactionProduct* theTarget{nullptr};
|
||||
G4ReactionProduct* thePrimary{nullptr};
|
||||
toBeCached() = default;
|
||||
};
|
||||
|
||||
public:
|
||||
G4ParticleHPContAngularPar()
|
||||
{
|
||||
theAngular = nullptr;
|
||||
// currentMeanEnergy = -2;
|
||||
// fresh = true;
|
||||
fCache.Put(nullptr);
|
||||
theMinEner = DBL_MAX;
|
||||
theMaxEner = -DBL_MAX;
|
||||
theEnergy = -1;
|
||||
nEnergies = -1;
|
||||
nDiscreteEnergies = -1;
|
||||
nAngularParameters = -1;
|
||||
theProjectile = nullptr;
|
||||
adjustResult = true;
|
||||
}
|
||||
G4ParticleHPContAngularPar(const G4ParticleDefinition* p = nullptr);
|
||||
G4ParticleHPContAngularPar(G4ParticleHPContAngularPar&);
|
||||
|
||||
G4ParticleHPContAngularPar(G4ParticleHPContAngularPar& val)
|
||||
{
|
||||
theEnergy = val.theEnergy;
|
||||
nEnergies = val.nEnergies;
|
||||
nDiscreteEnergies = val.nDiscreteEnergies;
|
||||
nAngularParameters = val.nAngularParameters;
|
||||
theProjectile = val.theProjectile;
|
||||
theManager = val.theManager;
|
||||
theInt = val.theInt;
|
||||
adjustResult = val.adjustResult;
|
||||
theMinEner = val.theMinEner;
|
||||
theMaxEner = val.theMaxEner;
|
||||
theEnergiesTransformed = val.theEnergiesTransformed;
|
||||
theDiscreteEnergies = val.theDiscreteEnergies;
|
||||
theDiscreteEnergiesOwn = val.theDiscreteEnergiesOwn;
|
||||
fCache.Put(nullptr);
|
||||
theAngular = new G4ParticleHPList[nEnergies];
|
||||
for (G4int ie = 0; ie < nEnergies; ++ie) {
|
||||
theAngular[ie].SetLabel(val.theAngular[ie].GetLabel());
|
||||
for (G4int ip = 0; ip < nAngularParameters; ++ip) {
|
||||
theAngular[ie].SetValue(ip, val.theAngular[ie].GetValue(ip));
|
||||
}
|
||||
}
|
||||
}
|
||||
~G4ParticleHPContAngularPar();
|
||||
|
||||
G4ParticleHPContAngularPar(G4ParticleDefinition* projectile);
|
||||
void Init(std::istream& aDataFile, const G4ParticleDefinition* projectile);
|
||||
|
||||
~G4ParticleHPContAngularPar()
|
||||
{
|
||||
delete[] theAngular;
|
||||
if (fCache.Get() != nullptr) delete fCache.Get();
|
||||
}
|
||||
|
||||
void Init(std::istream& aDataFile, G4ParticleDefinition* projectile);
|
||||
|
||||
G4ReactionProduct* Sample(G4double anEnergy, G4double massCode, G4double mass, G4int angularRep,
|
||||
G4int interpol);
|
||||
G4ReactionProduct* Sample(G4double anEnergy, G4double massCode,
|
||||
G4double mass, G4int angularRep, G4int interpol);
|
||||
|
||||
G4double GetEnergy() const { return theEnergy; }
|
||||
|
||||
void SetPrimary(G4ReactionProduct* aPrimary) { fCache.Get()->thePrimary = aPrimary; }
|
||||
void SetPrimary(G4ReactionProduct* aPrimary) { fCache.Get().thePrimary = aPrimary; }
|
||||
|
||||
void SetTarget(G4ReactionProduct* aTarget) { fCache.Get()->theTarget = aTarget; }
|
||||
void SetTarget(G4ReactionProduct* aTarget) { fCache.Get().theTarget = aTarget; }
|
||||
|
||||
void SetTargetCode(G4double aTargetCode) { fCache.Get()->theTargetCode = aTargetCode; }
|
||||
void SetTargetCode(G4double aTargetCode) { fCache.Get().theTargetCode = aTargetCode; }
|
||||
|
||||
void SetInterpolation(G4int theInterpolation)
|
||||
{
|
||||
@@ -135,15 +92,8 @@ class G4ParticleHPContAngularPar
|
||||
|
||||
G4double MeanEnergyOfThisInteraction()
|
||||
{
|
||||
G4double result;
|
||||
if (fCache.Get()->currentMeanEnergy < -1) {
|
||||
return 0;
|
||||
// throw G4HadronicException(__FILE__, __LINE__, "G4ParticleHPContAngularPar: Logical error
|
||||
// in Product class");
|
||||
}
|
||||
result = fCache.Get()->currentMeanEnergy;
|
||||
|
||||
fCache.Get()->currentMeanEnergy = -2;
|
||||
G4double result = std::max(fCache.Get().currentMeanEnergy, 0.0);
|
||||
fCache.Get().currentMeanEnergy = -2.0;
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -158,47 +108,45 @@ class G4ParticleHPContAngularPar
|
||||
|
||||
void ClearHistories()
|
||||
{
|
||||
if (fCache.Get() == nullptr) cacheInit();
|
||||
fCache.Get()->fresh = true;
|
||||
fCache.Get().fresh = true;
|
||||
fCache.Get().currentMeanEnergy = -2.0;
|
||||
fCache.Get().remaining_energy = 0.0;
|
||||
fCache.Get().theTargetCode = -1.0;
|
||||
fCache.Get().theTarget = nullptr;
|
||||
fCache.Get().thePrimary = nullptr;
|
||||
}
|
||||
|
||||
void Dump() const;
|
||||
|
||||
G4ParticleHPContAngularPar& operator=(const G4ParticleHPContAngularPar &right) = delete;
|
||||
|
||||
private:
|
||||
// incoming particle
|
||||
G4double theEnergy;
|
||||
G4double theEnergy{0.0};
|
||||
G4double theMinEner{DBL_MAX};
|
||||
G4double theMaxEner{-DBL_MAX};
|
||||
// number of exit channel energies
|
||||
G4int nEnergies;
|
||||
G4int nEnergies{0};
|
||||
// number of discrete exit channels
|
||||
G4int nDiscreteEnergies;
|
||||
G4int nDiscreteEnergies{0};
|
||||
// number of angular paramerers per channel
|
||||
G4int nAngularParameters;
|
||||
G4int nAngularParameters{0};
|
||||
|
||||
const G4ParticleDefinition* theProjectile{nullptr};
|
||||
// on per exit-channel energy
|
||||
G4ParticleHPList* theAngular{nullptr};
|
||||
|
||||
// knows the interpolation between List labels
|
||||
G4InterpolationManager theManager;
|
||||
// on per exit-channel energy
|
||||
G4ParticleHPList* theAngular;
|
||||
|
||||
G4ParticleHPInterpolator theInt;
|
||||
|
||||
private:
|
||||
G4Cache<toBeCached*> fCache;
|
||||
void cacheInit()
|
||||
{
|
||||
auto val = new toBeCached;
|
||||
val->currentMeanEnergy = -2;
|
||||
val->remaining_energy = 0;
|
||||
val->fresh = true;
|
||||
fCache.Put(val);
|
||||
};
|
||||
G4Cache<toBeCached> fCache;
|
||||
|
||||
G4ParticleDefinition* theProjectile;
|
||||
|
||||
G4bool adjustResult;
|
||||
G4bool adjustResult{true};
|
||||
// if not set it will not force the conservation of energy in angularRep==1,
|
||||
// but will sample the particle energy according to the database
|
||||
|
||||
G4double theMinEner;
|
||||
G4double theMaxEner;
|
||||
std::set<G4double> theEnergiesTransformed;
|
||||
std::set<G4double> theDiscreteEnergies;
|
||||
std::map<G4double, G4int> theDiscreteEnergiesOwn;
|
||||
|
||||
+23
-44
@@ -28,6 +28,7 @@
|
||||
// 080721 Add ClearHistories() method by T. Koi
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko, July-2023 Basic revision of particle HP classes
|
||||
//
|
||||
#ifndef G4ParticleHPContEnergyAngular_h
|
||||
#define G4ParticleHPContEnergyAngular_h 1
|
||||
@@ -43,58 +44,36 @@
|
||||
|
||||
class G4ParticleDefinition;
|
||||
|
||||
// we will need one of these per product.
|
||||
|
||||
class G4ParticleHPContEnergyAngular : public G4VParticleHPEnergyAngular
|
||||
{
|
||||
public:
|
||||
G4ParticleHPContEnergyAngular(G4ParticleDefinition* proj) : theProjectile(proj)
|
||||
{
|
||||
theAngular = nullptr;
|
||||
currentMeanEnergy.Put(-2);
|
||||
theTargetCode = -1.0;
|
||||
theAngularRep = -1;
|
||||
nEnergy = -1;
|
||||
theInterpolation = -1;
|
||||
fCacheAngular.Put(nullptr); // fix
|
||||
}
|
||||
public:
|
||||
|
||||
~G4ParticleHPContEnergyAngular() override
|
||||
{
|
||||
delete[] theAngular;
|
||||
if (fCacheAngular.Get() != nullptr) delete fCacheAngular.Get(); // fix
|
||||
}
|
||||
G4ParticleHPContEnergyAngular(const G4ParticleDefinition* proj);
|
||||
|
||||
void Init(std::istream& aDataFile) override
|
||||
{
|
||||
aDataFile >> theTargetCode >> theAngularRep >> theInterpolation >> nEnergy;
|
||||
theAngular = new G4ParticleHPContAngularPar[nEnergy];
|
||||
theManager.Init(aDataFile);
|
||||
for (G4int i = 0; i < nEnergy; i++) {
|
||||
theAngular[i].Init(aDataFile, theProjectile);
|
||||
theAngular[i].SetInterpolation(theInterpolation);
|
||||
#ifndef PHP_AS_HP
|
||||
theAngular[i].PrepareTableInterpolation();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
~G4ParticleHPContEnergyAngular() override;
|
||||
|
||||
G4double MeanEnergyOfThisInteraction() override;
|
||||
G4ReactionProduct* Sample(G4double anEnergy, G4double massCode, G4double mass) override;
|
||||
void ClearHistories() override;
|
||||
void Init(std::istream& aDataFile) override;
|
||||
|
||||
private:
|
||||
G4double theTargetCode;
|
||||
G4int theAngularRep;
|
||||
G4int nEnergy;
|
||||
G4double MeanEnergyOfThisInteraction() override;
|
||||
G4ReactionProduct* Sample(G4double anEnergy, G4double massCode, G4double mass) override;
|
||||
void ClearHistories() override;
|
||||
|
||||
G4int theInterpolation;
|
||||
G4ParticleHPContEnergyAngular(G4ParticleHPContEnergyAngular&) = delete;
|
||||
G4ParticleHPContEnergyAngular& operator=
|
||||
(const G4ParticleHPContEnergyAngular& right) = delete;
|
||||
|
||||
G4InterpolationManager theManager; // knows the interpolation between stores
|
||||
G4ParticleHPContAngularPar* theAngular;
|
||||
private:
|
||||
G4double theTargetCode{-1};
|
||||
G4int theAngularRep{-1};
|
||||
G4int nEnergy{-1};
|
||||
G4int theInterpolation{-1};
|
||||
|
||||
G4Cache<G4double> currentMeanEnergy;
|
||||
G4Cache<G4ParticleHPContAngularPar*> fCacheAngular; // fix
|
||||
G4ParticleDefinition* theProjectile;
|
||||
G4InterpolationManager theManager; // knows the interpolation between stores
|
||||
G4ParticleHPContAngularPar* theAngular;
|
||||
|
||||
G4Cache<G4double> currentMeanEnergy;
|
||||
G4Cache<G4ParticleHPContAngularPar*> fCacheAngular;
|
||||
const G4ParticleDefinition* theProjectile;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -32,8 +32,9 @@
|
||||
//
|
||||
#ifndef G4ParticleHPData_h
|
||||
#define G4ParticleHPData_h 1
|
||||
|
||||
#include "G4Element.hh"
|
||||
#include "G4ParticleHPCaptureData.hh"
|
||||
#include "G4NeutronHPCaptureData.hh"
|
||||
#include "G4ParticleHPElasticData.hh"
|
||||
#include "G4ParticleHPElementData.hh"
|
||||
#include "G4ParticleHPFissionData.hh"
|
||||
@@ -45,31 +46,33 @@
|
||||
class G4ParticleHPData
|
||||
{
|
||||
public:
|
||||
G4ParticleHPData(G4ParticleDefinition* projectile);
|
||||
explicit G4ParticleHPData(G4ParticleDefinition* projectile);
|
||||
|
||||
~G4ParticleHPData();
|
||||
|
||||
inline G4PhysicsVector* MakePhysicsVector(G4Element* thE, G4ParticleHPFissionData* theP)
|
||||
inline G4PhysicsVector* MakePhysicsVector(const G4Element* thE, G4ParticleHPFissionData* theP)
|
||||
{
|
||||
if (numEle <= (G4int)thE->GetIndex()) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP));
|
||||
auto idx = (G4int)thE->GetIndex();
|
||||
if (numEle <= idx) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[idx]).GetData(theP));
|
||||
}
|
||||
inline G4PhysicsVector* MakePhysicsVector(G4Element* thE, G4ParticleHPCaptureData* theP)
|
||||
inline G4PhysicsVector* MakePhysicsVector(const G4Element* thE, G4NeutronHPCaptureData* theP)
|
||||
{
|
||||
if (numEle <= (G4int)thE->GetIndex()) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP));
|
||||
auto idx = (G4int)thE->GetIndex();
|
||||
if (numEle <= idx) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[idx]).GetData(theP));
|
||||
}
|
||||
inline G4PhysicsVector* MakePhysicsVector(G4Element* thE, G4ParticleHPElasticData* theP)
|
||||
inline G4PhysicsVector* MakePhysicsVector(const G4Element* thE, G4ParticleHPElasticData* theP)
|
||||
{
|
||||
if (numEle <= (G4int)thE->GetIndex()) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP));
|
||||
auto idx = (G4int)thE->GetIndex();
|
||||
if (numEle <= idx) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[idx]).GetData(theP));
|
||||
}
|
||||
inline G4PhysicsVector* MakePhysicsVector(G4Element* thE, G4ParticleHPInelasticData* theP)
|
||||
inline G4PhysicsVector* MakePhysicsVector(const G4Element* thE, G4ParticleHPInelasticData* theP)
|
||||
{
|
||||
// G4cout << "entered G4ParticleHPData::MakePhysicsVector!!!"<<G4endl;
|
||||
// G4cout << "thE->GetIndex()="<<thE->GetIndex()<<G4endl;
|
||||
if (numEle <= (G4int)thE->GetIndex()) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[thE->GetIndex()]).GetData(theP));
|
||||
auto idx = (G4int)thE->GetIndex();
|
||||
if (numEle <= idx) addPhysicsVector();
|
||||
return DoPhysicsVector((*theData[idx]).GetData(theP));
|
||||
}
|
||||
|
||||
G4PhysicsVector* DoPhysicsVector(G4ParticleHPVector* theVector);
|
||||
|
||||
@@ -26,7 +26,9 @@
|
||||
// 070625 add natural abundance (nat) flag by T. Koi
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko, July-2023 Basic revision of particle HP classes
|
||||
//
|
||||
|
||||
#ifndef G4ParticleHPDataUsed_h
|
||||
#define G4ParticleHPDataUsed_h 1
|
||||
|
||||
@@ -34,38 +36,29 @@
|
||||
|
||||
class G4ParticleHPDataUsed
|
||||
{
|
||||
public:
|
||||
G4ParticleHPDataUsed()
|
||||
{
|
||||
theName = "";
|
||||
theA = 0;
|
||||
theZ = 0;
|
||||
theM = 0;
|
||||
nat = false;
|
||||
}
|
||||
public:
|
||||
G4ParticleHPDataUsed() = default;
|
||||
|
||||
void SetA(G4double anA) { theA = anA; }
|
||||
void SetZ(G4int aZ) { theZ = aZ; }
|
||||
void SetM(G4int aM) { theM = aM; }
|
||||
void SetName(G4String aName) { theName = aName; }
|
||||
void SetA(G4double anA) { theA = G4lrint(anA); }
|
||||
void SetA(G4int anA) { theA = anA; }
|
||||
void SetZ(G4int aZ) { theZ = aZ; }
|
||||
void SetM(G4int aM) { theM = aM; }
|
||||
void SetName(const G4String& aName) { theName = aName; }
|
||||
|
||||
G4int GetZ() { return theZ; }
|
||||
G4double GetA() { return theA; }
|
||||
G4int GetM() { return theM; }
|
||||
G4String GetName() { return theName; }
|
||||
G4int GetZ() { return theZ; }
|
||||
G4int GetA() { return theA; }
|
||||
G4int GetM() { return theM; }
|
||||
G4String& GetName() { return theName; }
|
||||
|
||||
private:
|
||||
G4String theName;
|
||||
G4double theA;
|
||||
G4int theZ;
|
||||
G4int theM;
|
||||
G4bool IsThisNaturalAbundance() { return nat; };
|
||||
void SetNaturalAbundanceFlag() { nat = TRUE; };
|
||||
|
||||
public:
|
||||
G4bool IsThisNaturalAbundance() { return nat; };
|
||||
void SetNaturalAbundanceFlag() { nat = TRUE; };
|
||||
|
||||
private:
|
||||
G4bool nat;
|
||||
private:
|
||||
G4int theA{0};
|
||||
G4int theZ{0};
|
||||
G4int theM{0};
|
||||
G4bool nat{true};
|
||||
G4String theName{""};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+15
-45
@@ -42,54 +42,24 @@
|
||||
|
||||
class G4ParticleHPDiscreteTwoBody : public G4VParticleHPEnergyAngular
|
||||
{
|
||||
public:
|
||||
G4ParticleHPDiscreteTwoBody()
|
||||
{
|
||||
theCoeff = nullptr;
|
||||
bCheckDiffCoeffRepr = true;
|
||||
if (std::getenv("G4PHP_DO_NOT_CHECK_DIFF_COEFF_REPR") != nullptr) bCheckDiffCoeffRepr = false;
|
||||
nEnergy = 0;
|
||||
}
|
||||
~G4ParticleHPDiscreteTwoBody() override { delete[] theCoeff; }
|
||||
public:
|
||||
G4ParticleHPDiscreteTwoBody();
|
||||
~G4ParticleHPDiscreteTwoBody() override;
|
||||
|
||||
void Init(std::istream& aDataFile) override
|
||||
{
|
||||
aDataFile >> nEnergy;
|
||||
theManager.Init(aDataFile);
|
||||
theCoeff = new G4ParticleHPLegendreTable[nEnergy];
|
||||
for (G4int i = 0; i < nEnergy; i++) {
|
||||
G4double energy;
|
||||
G4int aRep, nCoeff;
|
||||
aDataFile >> energy >> aRep >> nCoeff;
|
||||
//- G4cout << this << " " << i << " G4ParticleHPDiscreteTwoBody READ DATA " << energy
|
||||
//<< " " << aRep << " " << nCoeff << G4endl;
|
||||
energy *= CLHEP::eV;
|
||||
G4int nPoints = nCoeff;
|
||||
if (aRep > 0) nPoints *= 2;
|
||||
// theCoeff[i].Init(energy, nPoints);
|
||||
void Init(std::istream& aDataFile) override;
|
||||
|
||||
theCoeff[i].Init(energy, nPoints - 1);
|
||||
theCoeff[i].SetRepresentation(aRep);
|
||||
for (G4int ii = 0; ii < nPoints; ii++) {
|
||||
G4double y;
|
||||
aDataFile >> y;
|
||||
theCoeff[i].SetCoeff(ii, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
G4ReactionProduct* Sample(G4double anEnergy, G4double massCode, G4double mass) override;
|
||||
G4double MeanEnergyOfThisInteraction() override { return -1.0; }
|
||||
|
||||
G4ReactionProduct* Sample(G4double anEnergy, G4double massCode, G4double mass) override;
|
||||
G4double MeanEnergyOfThisInteraction() override { return -1; }
|
||||
private:
|
||||
G4int nEnergy{0};
|
||||
G4ParticleHPLegendreTable* theCoeff{nullptr};
|
||||
G4bool bCheckDiffCoeffRepr{true};
|
||||
// for example ENDF-VII0_proton/Inelastic/F01/4_9_Beryllium has 0
|
||||
// for energy 7.5E+07 and 12 for energy 1.e+08
|
||||
|
||||
private:
|
||||
G4int nEnergy;
|
||||
G4InterpolationManager theManager; // knows the interpolation between stores
|
||||
G4ParticleHPLegendreTable* theCoeff;
|
||||
|
||||
private:
|
||||
G4ParticleHPInterpolator theInt;
|
||||
|
||||
G4bool bCheckDiffCoeffRepr; // for example ENDF-VII0_proton/Inelastic/F01/4_9_Beryllium has 0
|
||||
// for energy 7.5E+07 and 12 for energy 1.e+08
|
||||
G4InterpolationManager theManager; // knows the interpolation between stores
|
||||
G4ParticleHPInterpolator theInt;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,20 +31,21 @@
|
||||
// 080520 Delete unnecessary dependencies by T. Koi
|
||||
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko July-2023 converted back capture
|
||||
//
|
||||
#ifndef G4ParticleHPElementData_h
|
||||
#define G4ParticleHPElementData_h 1
|
||||
|
||||
#include "G4Material.hh"
|
||||
#include "G4Neutron.hh"
|
||||
#include "G4Nucleus.hh"
|
||||
#include "G4ParticleHPCaptureData.hh"
|
||||
#include "G4NeutronHPCaptureData.hh"
|
||||
#include "G4ParticleHPElasticData.hh"
|
||||
#include "G4ParticleHPFissionData.hh"
|
||||
#include "G4ParticleHPInelasticData.hh"
|
||||
#include "G4ParticleHPIsoData.hh"
|
||||
#include "G4ParticleHPVector.hh"
|
||||
#include "G4ReactionProduct.hh"
|
||||
#include "G4StableIsotopes.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G4ParticleHPElementData
|
||||
@@ -54,41 +55,46 @@ class G4ParticleHPElementData
|
||||
|
||||
~G4ParticleHPElementData();
|
||||
|
||||
// void Init(G4Element * theElement,char* dataDirVariable = "G4NEUTRONHPDATA",
|
||||
// G4ParticleDefinition* projectile = G4Neutron::Neutron() );
|
||||
void Init(G4Element* theElement, G4ParticleDefinition* projectile, const char* dataDirVariable);
|
||||
void Init(G4Element* theElement, G4ParticleDefinition* projectile,
|
||||
const char* dataDirVariable);
|
||||
|
||||
// void UpdateData(G4int A, G4int Z, G4int index, G4double abundance);
|
||||
// void UpdateData(G4int A, G4int Z, G4int index, G4double abundance,char* dataDirVariable,
|
||||
// G4ParticleDefinition* projectile = G4Neutron::Neutron() ) { G4int M=0; UpdateData( A, Z, M,
|
||||
// index, abundance, projectile, dataDirVariable); };
|
||||
void UpdateData(G4int A, G4int Z, G4int index, G4double abundance,
|
||||
G4ParticleDefinition* projectile, const char* dataDirVariable)
|
||||
G4ParticleDefinition* projectile,
|
||||
const char* dataDirVariable)
|
||||
{
|
||||
G4int M = 0;
|
||||
UpdateData(A, Z, M, index, abundance, projectile, dataDirVariable);
|
||||
UpdateData(A, Z, 0, index, abundance, projectile, dataDirVariable);
|
||||
};
|
||||
|
||||
void UpdateData(G4int A, G4int Z, G4int M, G4int index, G4double abundance,
|
||||
G4ParticleDefinition* projectile, const char* dataDirVariable);
|
||||
G4ParticleDefinition* projectile,
|
||||
const char* dataDirVariable);
|
||||
|
||||
void Harmonise(G4ParticleHPVector*& theStore, G4ParticleHPVector* theNew);
|
||||
|
||||
inline G4ParticleHPVector* GetData(G4ParticleHPFissionData*) { return theFissionData; }
|
||||
inline G4ParticleHPVector* GetData(G4ParticleHPCaptureData*) { return theCaptureData; }
|
||||
inline G4ParticleHPVector* GetData(G4NeutronHPCaptureData*) { return theCaptureData; }
|
||||
inline G4ParticleHPVector* GetData(G4ParticleHPElasticData*) { return theElasticData; }
|
||||
inline G4ParticleHPVector* GetData(G4ParticleHPInelasticData*) { return theInelasticData; }
|
||||
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement, G4ParticleDefinition* projectile,
|
||||
G4ParticleHPFissionData* theSet, char* dataDirVariable);
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement,
|
||||
G4ParticleDefinition* projectile,
|
||||
G4ParticleHPFissionData* theSet,
|
||||
char* dataDirVariable);
|
||||
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement, G4ParticleDefinition* projectile,
|
||||
G4ParticleHPCaptureData* theSet, char* dataDirVariable);
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement,
|
||||
G4ParticleDefinition* projectile,
|
||||
G4NeutronHPCaptureData* theSet,
|
||||
char* dataDirVariable);
|
||||
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement, G4ParticleDefinition* projectile,
|
||||
G4ParticleHPElasticData* theSet, char* dataDirVariable);
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement,
|
||||
G4ParticleDefinition* projectile,
|
||||
G4ParticleHPElasticData* theSet,
|
||||
char* dataDirVariable);
|
||||
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement, G4ParticleDefinition* projectile,
|
||||
G4ParticleHPInelasticData* theSet, char* dataDirVariable);
|
||||
G4ParticleHPVector* MakePhysicsVector(G4Element* theElement,
|
||||
G4ParticleDefinition* projectile,
|
||||
G4ParticleHPInelasticData* theSet,
|
||||
char* dataDirVariable);
|
||||
|
||||
private:
|
||||
G4ParticleHPVector* theFissionData;
|
||||
@@ -98,11 +104,8 @@ class G4ParticleHPElementData
|
||||
G4double precision;
|
||||
|
||||
G4ParticleHPVector* theBuffer;
|
||||
|
||||
G4ParticleHPIsoData* theIsotopeWiseData;
|
||||
|
||||
G4StableIsotopes theStableOnes;
|
||||
|
||||
G4String filename;
|
||||
};
|
||||
|
||||
|
||||
+30
-58
@@ -25,6 +25,7 @@
|
||||
//
|
||||
//
|
||||
// P. Arce, June-2014 Conversion neutron_hp to particle_hp
|
||||
// V. Ivanchenko, July-2023 Basic revision of particle HP classes
|
||||
//
|
||||
#ifndef G4ParticleHPEnAngCorrelation_h
|
||||
#define G4ParticleHPEnAngCorrelation_h 1
|
||||
@@ -46,93 +47,64 @@ class G4ParticleHPEnAngCorrelation
|
||||
{
|
||||
struct toBeCached
|
||||
{
|
||||
G4ReactionProduct* theProjectileRP{nullptr};
|
||||
G4ReactionProduct* theTarget{nullptr};
|
||||
G4double theTotalMeanEnergy{-1.0};
|
||||
toBeCached() = default;
|
||||
G4ReactionProduct* theProjectileRP{nullptr};
|
||||
G4ReactionProduct* theTarget{nullptr};
|
||||
G4double theTotalMeanEnergy{-1.0};
|
||||
toBeCached() = default;
|
||||
};
|
||||
|
||||
public:
|
||||
G4ParticleHPEnAngCorrelation() // for G4ParticleHPCaptureFS::theMF6FinalState
|
||||
{
|
||||
theProjectile = G4Neutron::Neutron();
|
||||
theProducts = nullptr;
|
||||
inCharge = false;
|
||||
toBeCached val;
|
||||
fCache.Put(val);
|
||||
// theTotalMeanEnergy = -1.;
|
||||
fCache.Get().theTotalMeanEnergy = -1.;
|
||||
targetMass = 0.0;
|
||||
frameFlag = 0;
|
||||
nProducts = 0;
|
||||
}
|
||||
explicit G4ParticleHPEnAngCorrelation(const G4ParticleDefinition* proj = nullptr);
|
||||
~G4ParticleHPEnAngCorrelation();
|
||||
|
||||
G4ParticleHPEnAngCorrelation(G4ParticleDefinition* proj) : theProjectile(proj)
|
||||
{
|
||||
theProducts = nullptr;
|
||||
inCharge = false;
|
||||
toBeCached val;
|
||||
fCache.Put(val);
|
||||
// theTotalMeanEnergy = -1.;
|
||||
fCache.Get().theTotalMeanEnergy = -1.;
|
||||
targetMass = 0.0;
|
||||
frameFlag = 0;
|
||||
nProducts = 0;
|
||||
}
|
||||
|
||||
~G4ParticleHPEnAngCorrelation() { delete[] theProducts; }
|
||||
|
||||
inline void Init(std::istream& aDataFile)
|
||||
{
|
||||
inCharge = true;
|
||||
aDataFile >> targetMass >> frameFlag >> nProducts;
|
||||
theProducts = new G4ParticleHPProduct[nProducts];
|
||||
for (G4int i = 0; i < nProducts; i++) {
|
||||
theProducts[i].Init(aDataFile, theProjectile);
|
||||
}
|
||||
}
|
||||
void Init(std::istream& aDataFile);
|
||||
|
||||
G4ReactionProduct* SampleOne(G4double anEnergy);
|
||||
|
||||
G4ReactionProductVector* Sample(G4double anEnergy);
|
||||
|
||||
inline void SetTarget(G4ReactionProduct& aTarget)
|
||||
void SetTarget(G4ReactionProduct& aTarget)
|
||||
{
|
||||
fCache.Get().theTarget = &aTarget;
|
||||
for (G4int i = 0; i < nProducts; i++)
|
||||
theProducts[i].SetTarget(fCache.Get().theTarget);
|
||||
for (G4int i = 0; i < nProducts; ++i)
|
||||
theProducts[i].SetTarget(&aTarget);
|
||||
}
|
||||
|
||||
inline void SetProjectileRP(G4ReactionProduct& aIncidentPart)
|
||||
void SetProjectileRP(G4ReactionProduct& aIncidentPart)
|
||||
{
|
||||
fCache.Get().theProjectileRP = &aIncidentPart;
|
||||
for (G4int i = 0; i < nProducts; i++)
|
||||
theProducts[i].SetProjectileRP(fCache.Get().theProjectileRP);
|
||||
for (G4int i = 0; i < nProducts; ++i)
|
||||
theProducts[i].SetProjectileRP(&aIncidentPart);
|
||||
}
|
||||
|
||||
inline G4bool InCharge() { return inCharge; }
|
||||
G4bool InCharge() { return inCharge; }
|
||||
|
||||
inline G4double GetTargetMass() { return targetMass; }
|
||||
G4double GetTargetMass() { return targetMass; }
|
||||
|
||||
G4double GetNumberOfProducts() { return nProducts; }
|
||||
|
||||
G4double GetTotalMeanEnergy()
|
||||
{
|
||||
return fCache.Get().theTotalMeanEnergy; // cached in 'sample' call
|
||||
}
|
||||
|
||||
private:
|
||||
// data members
|
||||
G4ParticleHPEnAngCorrelation(G4ParticleHPEnAngCorrelation&) = delete;
|
||||
G4ParticleHPEnAngCorrelation& operator=
|
||||
(const G4ParticleHPEnAngCorrelation &right) = delete;
|
||||
|
||||
G4double targetMass;
|
||||
G4int frameFlag; // =1: Target rest frame; =2: CMS system; incident in lab
|
||||
G4int nProducts;
|
||||
G4ParticleHPProduct* theProducts;
|
||||
G4bool inCharge;
|
||||
private:
|
||||
const G4ParticleDefinition* theProjectile;
|
||||
G4ParticleHPProduct* theProducts{nullptr};
|
||||
|
||||
G4double targetMass{0.0};
|
||||
|
||||
G4int frameFlag{1}; // =1: Target rest frame; =2: CMS system; incident in lab
|
||||
G4int nProducts{0};
|
||||
G4bool inCharge{false};
|
||||
|
||||
// cached values
|
||||
//
|
||||
G4Cache<toBeCached> fCache;
|
||||
|
||||
G4ParticleDefinition* theProjectile;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user