Changeset 1340 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNucleon.hh
- Timestamp:
- Nov 5, 2010, 3:45:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNucleon.hh
r962 r1340 24 24 // ******************************************************************** 25 25 // 26 // J. M. Quesada (August 2008).27 // Based on previous work by V. Lara26 // $Id: G4PreCompoundNucleon.hh,v 1.7 2010/08/28 15:16:55 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03-ref-09 $ 28 28 // 29 // J. M. Quesada (August 2008). 30 // Based on previous work by V. Lara 31 // 32 // Modified: 33 // 20.08.2010 V.Ivanchenko added int Z and A and cleanup; added 34 // G4ParticleDefinition to constructor 29 35 30 36 … … 36 42 class G4PreCompoundNucleon : public G4PreCompoundFragment 37 43 { 44 public: 45 46 G4PreCompoundNucleon(const G4ParticleDefinition*, 47 G4VCoulombBarrier * aCoulombBarrier); 48 49 virtual ~G4PreCompoundNucleon(); 50 51 protected: 52 53 virtual G4double 54 ProbabilityDistributionFunction(G4double eKin, 55 const G4Fragment& aFragment); 56 57 virtual G4double CrossSection(G4double ekin) = 0; 58 59 virtual G4double 60 GetRj(G4int NumberParticles, G4int NumberCharged) = 0; 61 62 virtual G4double GetAlpha() = 0; 63 64 virtual G4double GetBeta() = 0; 65 66 inline G4double GetOpt0(G4double ekin); 67 38 68 private: 69 39 70 // default constructor 40 G4PreCompoundNucleon() {}; 71 G4PreCompoundNucleon(); 72 // operators 73 G4PreCompoundNucleon(const G4PreCompoundNucleon &right); 74 const G4PreCompoundNucleon& 75 operator= (const G4PreCompoundNucleon &right); 76 G4int operator==(const G4PreCompoundNucleon &right) const; 77 G4int operator!=(const G4PreCompoundNucleon &right) const; 41 78 42 public: 43 44 // copy constructor 45 G4PreCompoundNucleon(const G4PreCompoundNucleon &right): 46 G4PreCompoundFragment(right) {} 79 G4double fact; 80 }; 47 81 48 // constructor 49 G4PreCompoundNucleon(const G4double anA, 50 const G4double aZ, 51 G4VCoulombBarrier* aCoulombBarrier, 52 const G4String & aName) : 53 G4PreCompoundFragment(anA,aZ,aCoulombBarrier,aName) {} 54 55 56 virtual ~G4PreCompoundNucleon() {} 57 58 // operators 59 const G4PreCompoundNucleon & 60 operator=(const G4PreCompoundNucleon &right) 61 { 62 if (&right != this) this->G4PreCompoundFragment::operator=(right); 63 return *this; 64 } 65 66 G4bool operator==(const G4PreCompoundNucleon &right) const 67 { 68 return G4PreCompoundFragment::operator==(right); 69 } 70 71 G4bool operator!=(const G4PreCompoundNucleon &right) const 72 { 73 return G4PreCompoundFragment::operator!=(right); 74 } 75 76 virtual G4double ProbabilityDistributionFunction(const G4double eKin, 77 const G4Fragment& aFragment); 78 79 private: 80 81 G4bool IsItPossible(const G4Fragment&) ; 82 83 protected: 84 85 virtual G4double CrossSection(const G4double ekin)=0; 86 87 virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged) = 0; 88 89 }; 82 // *********************** OPT=0 : Dostrovski's cross section *************** 83 inline G4double G4PreCompoundNucleon::GetOpt0(G4double K) 84 { 85 G4double r0 = theParameters->Getr0()*ResidualA13(); 86 // cross section is now given in mb (r0 is in mm) for the sake of consistency 87 //with the rest of the options 88 return 1.e+25*CLHEP::pi*r0*r0*ResidualA13()*GetAlpha()*(1.+GetBeta()/K); 89 } 90 90 91 91 #endif
Note: See TracChangeset
for help on using the changeset viewer.