File indexing completed on 2026-09-25 09:13:10
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
0027
0028
0029
0030 #ifndef G4GEMChannelVI_h
0031 #define G4GEMChannelVI_h 1
0032
0033 #include "G4VEvaporationChannel.hh"
0034 #include "G4VSIntegration.hh"
0035
0036 class G4PairingCorrection;
0037 class G4VCoulombBarrier;
0038 class G4LevelManager;
0039 class G4NuclearLevelData;
0040 class G4InterfaceToXS;
0041 class G4ParticleDefinition;
0042 class G4Pow;
0043
0044 class G4GEMChannelVI : public G4VEvaporationChannel, public G4VSIntegration
0045 {
0046 public:
0047
0048 explicit G4GEMChannelVI(G4int theA, G4int theZ);
0049
0050 ~G4GEMChannelVI() override;
0051
0052 void Initialise() override;
0053
0054 G4double ProbabilityDensityFunction(G4double ekin) override;
0055
0056 G4double GetEmissionProbability(G4Fragment* theNucleus) override;
0057
0058 G4Fragment* EmittedFragment(G4Fragment* theNucleus) override;
0059
0060 const G4String& ModelName() const override;
0061
0062 G4double GetCurrentXS() { return recentXS; };
0063
0064 void Dump() const override;
0065
0066 G4GEMChannelVI(const G4GEMChannelVI & right) = delete;
0067 const G4GEMChannelVI & operator=(const G4GEMChannelVI & right) = delete;
0068 G4bool operator==(const G4GEMChannelVI & right) const = delete;
0069 G4bool operator!=(const G4GEMChannelVI & right) const = delete;
0070
0071 private:
0072
0073 G4double CrossSection(G4double ekin);
0074
0075 G4double CorrectExcitation(G4double energy, const G4LevelManager*);
0076
0077 G4NuclearLevelData* nData;
0078 const G4VCoulombBarrier* cBarrier;
0079 const G4PairingCorrection* pairingCorrection;
0080 const G4LevelManager* lManagerEvap{nullptr};
0081 const G4LevelManager* lManagerRes{nullptr};
0082 G4InterfaceToXS* fXSection{nullptr};
0083 G4Pow* g4pow;
0084 const G4ParticleDefinition* fProton;
0085 const G4ParticleDefinition* fNeutron;
0086
0087 G4double fEvapMass;
0088 G4double fEvapMass2;
0089 G4double fMass{0.0};
0090 G4double fResMass{0.0};
0091 G4double fResA13{0.0};
0092 G4double fFragExc{0.0};
0093 G4double fEvapExc{0.0};
0094 G4double fResExc{0.0};
0095 G4double bCoulomb{0.0};
0096 G4double fDeltaEvap{0.0};
0097 G4double fE0{0.0};
0098 G4double fE1{0.0};
0099 G4double a0{0.0};
0100 G4double a1{0.0};
0101 G4double delta0{0.0};
0102 G4double delta1{0.0};
0103 G4double recentXS{0.0};
0104 G4double fEnergyLimitXS{0.0};
0105 G4double xsfactor{1.0};
0106 G4double fTolerance;
0107 G4double fCoeff;
0108
0109 G4int evapA;
0110 G4int evapZ;
0111 G4int resA{0};
0112 G4int resZ{0};
0113 G4int fragA{0};
0114 G4int fragZ{0};
0115 G4int fVerbose{1};
0116 G4int nProbEvap{1};
0117 G4int nProbRes{1};
0118 G4int indexC{7};
0119 G4int secID;
0120
0121 G4String fModelName;
0122 };
0123
0124 #endif