File indexing completed on 2025-01-18 09:58:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef G4NeutronLENDBuilder_h
0027 #define G4NeutronLENDBuilder_h 1
0028
0029 #include "globals.hh"
0030
0031 #include "G4HadronElasticProcess.hh"
0032 #include "G4NeutronFissionProcess.hh"
0033 #include "G4NeutronCaptureProcess.hh"
0034 #include "G4HadronInelasticProcess.hh"
0035 #include "G4VNeutronBuilder.hh"
0036
0037 #include "G4LENDElasticCrossSection.hh"
0038 #include "G4LENDElastic.hh"
0039 #include "G4LENDInelastic.hh"
0040 #include "G4LENDInelasticCrossSection.hh"
0041 #include "G4LENDFission.hh"
0042 #include "G4LENDFissionCrossSection.hh"
0043 #include "G4LENDCapture.hh"
0044 #include "G4LENDCaptureCrossSection.hh"
0045
0046 class G4NeutronLENDBuilder : public G4VNeutronBuilder
0047 {
0048 public:
0049 G4NeutronLENDBuilder(const G4String& eva="");
0050 virtual ~G4NeutronLENDBuilder() {}
0051
0052 virtual void Build(G4HadronElasticProcess * aP) final override;
0053 virtual void Build(G4NeutronFissionProcess * aP) final override;
0054 virtual void Build(G4NeutronCaptureProcess * aP) final override;
0055 virtual void Build(G4HadronInelasticProcess * aP) final override;
0056
0057 virtual void SetMinEnergy(G4double aM) final override
0058 {
0059 theMin=aM;
0060 theIMin = theMin;
0061 }
0062 void SetMinInelasticEnergy(G4double aM)
0063 {
0064 theIMin=aM;
0065 }
0066 virtual void SetMaxEnergy(G4double aM) final override
0067 {
0068 theIMax = aM;
0069 theMax=aM;
0070 }
0071 void SetMaxInelasticEnergy(G4double aM)
0072 {
0073 theIMax = aM;
0074 }
0075
0076 using G4VNeutronBuilder::Build;
0077
0078 private:
0079
0080 G4double theMin;
0081 G4double theIMin;
0082 G4double theMax;
0083 G4double theIMax;
0084
0085 G4LENDElastic * theLENDElastic;
0086 G4LENDElasticCrossSection * theLENDElasticCrossSection;
0087 G4LENDInelastic * theLENDInelastic;
0088 G4LENDInelasticCrossSection * theLENDInelasticCrossSection;
0089 G4LENDFission * theLENDFission;
0090 G4LENDFissionCrossSection * theLENDFissionCrossSection;
0091 G4LENDCapture * theLENDCapture;
0092 G4LENDCaptureCrossSection * theLENDCaptureCrossSection;
0093
0094 G4String evaluation;
0095 };
0096
0097 #endif
0098