File indexing completed on 2025-11-03 09:47:52
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 
0031 
0032 
0033 
0034 
0035 
0036 #ifndef G4EvaporationChannel_h
0037 #define G4EvaporationChannel_h 1
0038 
0039 #include "G4VEvaporationChannel.hh"
0040 
0041 class G4EvaporationProbability;
0042 class G4CoulombBarrier;
0043 class G4NuclearLevelData;
0044 
0045 class G4EvaporationChannel : public G4VEvaporationChannel
0046 {
0047 public:
0048 
0049   explicit G4EvaporationChannel(G4int A, G4int Z, 
0050                         G4EvaporationProbability*);
0051 
0052   ~G4EvaporationChannel() override;
0053 
0054   void Initialise() override;
0055 
0056   G4double GetEmissionProbability(G4Fragment* fragment) override; 
0057   
0058   G4Fragment* EmittedFragment(G4Fragment* theNucleus) override;
0059 
0060   G4double ComputeInverseXSection(G4Fragment*, G4double kinEnergy) override;
0061 
0062   G4double ComputeProbability(G4Fragment*, G4double kinEnergy) override;
0063 
0064   inline G4int GetZ() const { return theZ; };
0065 
0066   inline G4int GetA() const { return theA; };
0067 
0068   inline G4EvaporationProbability* GetEvaporationProbability()
0069   { return theProbability; }
0070 
0071   G4EvaporationChannel(const G4EvaporationChannel & right) = delete;
0072   const G4EvaporationChannel & operator=
0073   (const G4EvaporationChannel & right) = delete;
0074   G4bool operator==(const G4EvaporationChannel & right) const = delete;
0075   G4bool operator!=(const G4EvaporationChannel & right) const = delete;
0076 
0077 private: 
0078 
0079   G4NuclearLevelData* theLevelData;
0080 
0081   
0082   G4EvaporationProbability* theProbability;
0083 
0084   
0085   G4CoulombBarrier* theCoulombBarrier;
0086 
0087   
0088   
0089   G4int theA;
0090   G4int theZ;
0091   G4int resA = 0;
0092   G4int resZ = 0;
0093 
0094   G4int secID;  
0095   
0096   G4double mass = 0.0;
0097   G4double resMass = 0.0;
0098   G4double ekinmax = 0.0;
0099   G4double bCoulomb = 0.0;
0100   G4double evapMass;
0101   G4double evapMass2;
0102 };
0103 
0104 #endif