Changeset 1340 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4HETCNeutron.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/G4HETCNeutron.hh
r819 r1340 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4HETCNeutron.hh,v 1.4 2010/08/28 15:16:55 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03-ref-09 $ 28 // 26 29 // by V. Lara 27 30 // 31 // Modified: 32 // 23.08.2010 V.Ivanchenko general cleanup, move constructor and destructor 33 // the source, use G4Pow 28 34 29 35 #ifndef G4HETCNeutron_h … … 32 38 #include "G4HETCFragment.hh" 33 39 #include "G4ReactionProduct.hh" 34 #include "G4Neutron.hh"35 #include "G4PreCompoundParameters.hh"36 #include "Randomize.hh"37 38 40 #include "G4NeutronCoulombBarrier.hh" 39 40 41 41 42 class G4HETCNeutron : public G4HETCFragment 42 43 { 43 44 public: 44 // default constructor45 G4HETCNeutron() : G4HETCFragment(1,0,&theNeutronCoulomBarrier,"Neutron") {}46 45 47 // copy constructor 48 G4HETCNeutron(const G4HETCNeutron &right): G4HETCFragment(right) {} 46 G4HETCNeutron(); 49 47 50 // destructor 51 ~G4HETCNeutron() {} 48 ~G4HETCNeutron(); 49 50 virtual G4double GetKineticEnergy(const G4Fragment & aFragment); 51 52 protected: 53 54 virtual G4double GetAlpha(); 55 56 virtual G4double GetBeta(); 57 58 virtual G4double GetSpinFactor(); 59 60 virtual G4double K(const G4Fragment & aFragment); 61 62 private: 52 63 53 64 // operators 54 const G4HETCNeutron & operator=(const G4HETCNeutron &right) {55 if (&right != this) this->G4HETCFragment::operator=(right);56 return *this;57 }65 G4HETCNeutron(const G4HETCNeutron &right); 66 const G4HETCNeutron & operator=(const G4HETCNeutron &right); 67 G4bool operator==(const G4HETCNeutron &right) const; 68 G4bool operator!=(const G4HETCNeutron &right) const; 58 69 59 G4bool operator==(const G4HETCNeutron &right) const 60 { return G4HETCFragment::operator==(right);} 70 G4NeutronCoulombBarrier theNeutronCoulombBarrier; 61 71 62 G4bool operator!=(const G4HETCNeutron &right) const63 { return G4HETCFragment::operator!=(right);}64 65 66 G4ReactionProduct * GetReactionProduct() const67 {68 G4ReactionProduct * theReactionProduct =69 new G4ReactionProduct(G4Neutron::NeutronDefinition());70 theReactionProduct->SetMomentum(GetMomentum().vect());71 theReactionProduct->SetTotalEnergy(GetMomentum().e());72 #ifdef PRECOMPOUND_TEST73 theReactionProduct->SetCreatorModel("G4PrecompoundModel");74 #endif75 return theReactionProduct;76 }77 78 virtual G4double GetKineticEnergy(const G4Fragment & aFragment);79 80 private:81 virtual G4double GetAlpha()82 {83 return 0.76+2.2/std::pow(GetRestA(),1.0/3.0);84 }85 86 virtual G4double GetBeta()87 {88 return (2.12/std::pow(GetRestA(),2.0/3.0)-0.05)*MeV/GetAlpha();89 }90 91 virtual G4double GetSpinFactor()92 {93 // (2s+1)94 return 2.0;95 }96 97 virtual G4double K(const G4Fragment& aFragment);98 99 private:100 101 G4NeutronCoulombBarrier theNeutronCoulomBarrier;102 103 72 }; 104 73
Note: See TracChangeset
for help on using the changeset viewer.