- Timestamp:
- Dec 22, 2010, 3:52:27 PM (14 years ago)
- Location:
- trunk/source/processes/hadronic/models/de_excitation/fission/include
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/de_excitation/fission/include/G4CompetitiveFission.hh
r1340 r1347 25 25 // 26 26 // 27 // $Id: G4CompetitiveFission.hh,v 1. 3 2006/06/29 20:13:19 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 3-ref-09$27 // $Id: G4CompetitiveFission.hh,v 1.5 2010/11/17 20:22:46 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 29 // 30 30 // Hadronic Process: Nuclear De-excitations … … 58 58 private: 59 59 G4CompetitiveFission(const G4CompetitiveFission &right); 60 61 60 const G4CompetitiveFission & operator=(const G4CompetitiveFission &right); 62 public:63 61 G4bool operator==(const G4CompetitiveFission &right) const; 64 62 G4bool operator!=(const G4CompetitiveFission &right) const; … … 121 119 G4double LevelDensityParameter; 122 120 123 124 125 126 121 // -------------------- 127 122 128 129 123 // Sample AtomicNumber of Fission products 130 G4int FissionAtomicNumber( constG4int A, const G4FissionParameters & theParam);131 G4double MassDistribution( const G4double x, constG4double A, const G4FissionParameters & theParam);124 G4int FissionAtomicNumber(G4int A, const G4FissionParameters & theParam); 125 G4double MassDistribution(G4double x, G4double A, const G4FissionParameters & theParam); 132 126 133 127 134 128 // Sample Charge of fission products 135 G4int FissionCharge( const G4double A, const G4double Z, constG4double Af);129 G4int FissionCharge(G4double A, G4double Z, G4double Af); 136 130 137 131 138 132 // Sample Kinetic energy of fission products 139 G4double FissionKineticEnergy( const G4double A, const G4doubleZ,140 const G4double Af1, constG4double Zf1,141 const G4double Af2, constG4double Zf2,142 const G4double U, constG4double Tmax,133 G4double FissionKineticEnergy(G4int A, G4int Z, 134 G4double Af1, G4double Zf1, 135 G4double Af2, G4double Zf2, 136 G4double U, G4double Tmax, 143 137 const G4FissionParameters & theParam); 144 138 139 G4double Ratio(G4double A, G4double A11, G4double B1, G4double A00); 140 G4double SymmetricRatio(G4int A, G4double A11); 141 G4double AsymmetricRatio(G4int A, G4double A11); 145 142 146 147 G4double Ratio(const G4double A,const G4double A11,const G4double B1,const G4double A00); 148 G4double SymmetricRatio(const G4double A,const G4double A11); 149 G4double AsymmetricRatio(const G4double A,const G4double A11); 150 151 152 153 G4ThreeVector IsotropicVector(const G4double Magnitude = 1.0); 154 143 G4ThreeVector IsotropicVector(G4double Magnitude = 1.0); 155 144 156 145 #ifdef debug … … 159 148 #endif 160 149 161 162 150 }; 163 164 165 151 166 152 #endif -
trunk/source/processes/hadronic/models/de_excitation/fission/include/G4FissionBarrier.hh
r1340 r1347 25 25 // 26 26 // 27 // $Id: G4FissionBarrier.hh,v 1. 5 2009/12/16 16:50:07vnivanch Exp $28 // GEANT4 tag $Name: geant4-09-0 3-ref-09$27 // $Id: G4FissionBarrier.hh,v 1.6 2010/11/17 20:22:46 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 29 // 30 30 // Hadronic Process: Nuclear De-excitations … … 41 41 { 42 42 public: 43 G4FissionBarrier() {};44 ~G4FissionBarrier() {};43 G4FissionBarrier(); 44 ~G4FissionBarrier(); 45 45 46 46 private: … … 52 52 53 53 public: 54 G4double FissionBarrier( const G4int A, const G4int Z, constG4double U);54 G4double FissionBarrier(G4int A, G4int Z, G4double U); 55 55 56 56 57 57 private: 58 58 59 G4double BarashenkovFissionBarrier( const G4int A, constG4int Z);59 G4double BarashenkovFissionBarrier(G4int A, G4int Z); 60 60 61 G4double SellPlusPairingCorrection(const G4int Z, constG4int N)61 inline G4double SellPlusPairingCorrection(G4int Z, G4int N) 62 62 { 63 63 G4CameronShellPlusPairingCorrections* SPtr = G4CameronShellPlusPairingCorrections::GetInstance(); -
trunk/source/processes/hadronic/models/de_excitation/fission/include/G4FissionLevelDensityParameter.hh
r1340 r1347 25 25 // 26 26 // 27 // $Id: G4FissionLevelDensityParameter.hh,v 1. 3 2006/06/29 20:13:23 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 3-ref-09$27 // $Id: G4FissionLevelDensityParameter.hh,v 1.4 2010/11/17 20:22:46 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 29 // 30 30 // Hadronic Process: Nuclear De-excitations … … 45 45 { 46 46 public: 47 G4FissionLevelDensityParameter() {};48 virtual ~G4FissionLevelDensityParameter() {};47 G4FissionLevelDensityParameter(); 48 virtual ~G4FissionLevelDensityParameter(); 49 49 50 50 private: … … 56 56 57 57 public: 58 G4double LevelDensityParameter( const G4int A,const G4int Z,constG4double U) const;58 G4double LevelDensityParameter(G4int A, G4int Z, G4double U) const; 59 59 60 60 -
trunk/source/processes/hadronic/models/de_excitation/fission/include/G4FissionParameters.hh
r1340 r1347 25 25 // 26 26 // 27 // $Id: G4FissionParameters.hh,v 1. 3 2006/06/29 20:13:25 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 3-ref-09$27 // $Id: G4FissionParameters.hh,v 1.4 2010/11/17 20:22:46 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 29 // 30 30 // Hadronic Process: Nuclear De-excitations … … 44 44 public: 45 45 // Only available constructor 46 G4FissionParameters( const G4int A, const G4int Z, const G4double ExEnergy, constG4double FissionBarrier);46 G4FissionParameters(G4int A, G4int Z, G4double ExEnergy, G4double FissionBarrier); 47 47 48 ~G4FissionParameters() {};48 ~G4FissionParameters(); 49 49 50 50 private: 51 51 // Default constructor 52 G4FissionParameters() {};52 G4FissionParameters(); 53 53 54 54 // Copy constructor -
trunk/source/processes/hadronic/models/de_excitation/fission/include/G4FissionProbability.hh
r1340 r1347 25 25 // 26 26 // 27 // $Id: G4FissionProbability.hh,v 1. 3 2006/06/29 20:13:27 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 3-ref-09$27 // $Id: G4FissionProbability.hh,v 1.4 2010/11/17 20:22:46 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 29 // 30 30 // Hadronic Process: Nuclear De-excitations … … 46 46 public: 47 47 // Default constructor 48 G4FissionProbability() {};48 G4FissionProbability(); 49 49 50 ~G4FissionProbability() {};50 ~G4FissionProbability(); 51 51 52 52 private: … … 59 59 60 60 public: 61 G4double EmissionProbability(const G4Fragment & fragment, constG4double MaximalKineticEnergy);61 G4double EmissionProbability(const G4Fragment & fragment, G4double MaximalKineticEnergy); 62 62 63 63 private: 64 65 64 G4EvaporationLevelDensityParameter theEvapLDP; 65 G4FissionLevelDensityParameter theFissLDP; 66 66 67 67 -
trunk/source/processes/hadronic/models/de_excitation/fission/include/G4ParaFissionModel.hh
r819 r1347 25 25 // 26 26 #ifndef G4ParaFissionModel_h 27 #define G4ParaFissionModel_h 27 #define G4ParaFissionModel_h 1 28 28 29 29 #include "G4CompetitiveFission.hh" … … 49 49 SetMaxEnergy( 60.*MeV ); 50 50 } 51 52 ~G4ParaFissionModel() {}; 51 53 52 54 virtual G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, 53 55 G4Nucleus& theNucleus) 54 56 { 55 57 theParticleChange.Clear(); … … 59 61 // prepare the fragment 60 62 61 G4Fragment anInitialState; 62 G4double anA = theNucleus.GetN(); 63 G4double aZ = theNucleus.GetZ(); 64 G4double nucMass = G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(G4int(aZ) ,G4int(anA)); 65 66 anA += aTrack.GetDefinition()->GetBaryonNumber(); 67 aZ += aTrack.GetDefinition()->GetPDGCharge(); 63 G4int A = theNucleus.GetA_asInt(); 64 G4int Z = theNucleus.GetZ_asInt(); 65 G4double nucMass = 66 G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z,A); 68 67 69 68 G4int numberOfEx = aTrack.GetDefinition()->GetBaryonNumber(); 70 G4int numberOfCh = G4int( std::abs(aTrack.GetDefinition()->GetPDGCharge()));69 G4int numberOfCh = G4int(aTrack.GetDefinition()->GetPDGCharge() + 0.5); 71 70 G4int numberOfHoles = 0; 71 72 A += numberOfEx; 73 Z += numberOfCh; 72 74 73 G4ThreeVector exciton3Momentum = aTrack.Get4Momentum().vect(); 74 G4double compoundMass = aTrack.GetTotalEnergy(); 75 compoundMass += nucMass; 76 compoundMass = std::sqrt(compoundMass*compoundMass - exciton3Momentum*exciton3Momentum); 77 G4LorentzVector fragment4Momentum(exciton3Momentum, 78 std::sqrt(exciton3Momentum.mag2()+compoundMass*compoundMass)); 79 80 anInitialState.SetA(anA); 81 anInitialState.SetZ(aZ); 82 anInitialState.SetNumberOfParticles(numberOfEx-numberOfHoles); 83 anInitialState.SetNumberOfCharged(numberOfCh); 84 anInitialState.SetNumberOfHoles(numberOfHoles); 85 anInitialState.SetMomentum(fragment4Momentum); 75 G4LorentzVector v = aTrack.Get4Momentum() + G4LorentzVector(0.0,0.0,0.0,nucMass); 76 G4Fragment anInitialState(Z,A,v); 77 anInitialState.SetNumberOfExcitedParticle(numberOfEx,numberOfCh); 78 anInitialState.SetNumberOfHoles(0,0); 86 79 87 80 // do the fission … … 103 96 { 104 97 G4ReactionProduct* rp0 = (*theExcitationResult)[j]; 105 G4DynamicParticle* p0 = new G4DynamicParticle; 106 p0->SetDefinition(rp0->GetDefinition() ); 107 p0->SetMomentum(rp0->GetMomentum() ); 98 G4DynamicParticle* p0 = 99 new G4DynamicParticle(rp0->GetDefinition(),rp0->GetMomentum()); 108 100 theParticleChange.AddSecondary(p0); 109 101 delete rp0; … … 114 106 { 115 107 // add secondary 116 G4DynamicParticle* p0 = new G4DynamicParticle;117 p0->SetDefinition(aFragment->GetParticleDefinition());118 p0->SetMomentum(aFragment->GetMomentum().vect());108 G4DynamicParticle* p0 = 109 new G4DynamicParticle(aFragment->GetParticleDefinition(), 110 aFragment->GetMomentum()); 119 111 theParticleChange.AddSecondary(p0); 120 112 } -
trunk/source/processes/hadronic/models/de_excitation/fission/include/G4VFissionBarrier.hh
r1340 r1347 25 25 // 26 26 // 27 // $Id: G4VFissionBarrier.hh,v 1. 4 2006/06/29 20:13:31 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 3-ref-09$27 // $Id: G4VFissionBarrier.hh,v 1.5 2010/11/17 20:22:46 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-ref-00 $ 29 29 // 30 30 // Hadronic Process: Nuclear De-excitations … … 41 41 { 42 42 public: 43 G4VFissionBarrier() {};44 virtual ~G4VFissionBarrier() {};43 G4VFissionBarrier(); 44 virtual ~G4VFissionBarrier(); 45 45 46 46 private: … … 52 52 53 53 public: 54 virtual G4double FissionBarrier( const G4int A, constG4int Z,const G4double U) = 0;54 virtual G4double FissionBarrier(G4int A, G4int Z,const G4double U) = 0; 55 55 56 56
Note: See TracChangeset
for help on using the changeset viewer.