Changeset 1340 for trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.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/G4PreCompoundModel.hh
r1337 r1340 24 24 // ******************************************************************** 25 25 // 26 // 27 // $Id: G4PreCompoundModel.hh,v 1.7 2009/11/19 10:19:31 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 26 // $Id: G4PreCompoundModel.hh,v 1.9 2010/08/20 07:41:48 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-03-ref-09 $ 29 28 // 30 29 // by V. Lara 31 30 // 32 31 // Class Description 33 32 // Model implementation for pre-equilibrium decay models in geant4. … … 37 36 // Class Description - End 38 37 // 39 // Modif (03 September 2008) by J. M. Quesada for external choice of inverse 40 // cross section option.(default OPTxs=3) 41 // JMQ (06 September 2008) Also external choices have been added for: 38 // Modified: 39 // 03.09.2008 J.M.Quesada added external choice of inverse 40 // cross section option.(default OPTxs=3) 41 // 06.09.2008 J.M.Quesada external choices have been added for: 42 42 // - superimposed Coulomb barrier (if useSICB=true, default false) 43 43 // - "never go back" hipothesis (if useNGB=true, default false) 44 44 // - soft cutoff from preeq. to equlibrium (if useSCO=true, default false) 45 45 // - CEM transition probabilities (if useCEMtr=true) 46 // J. M. Quesada (30.10.09) : CEM transition probabilities are set as default 46 // 30.10.2009 J.M.Quesada CEM transition probabilities are set as default 47 // 20.08.2010 V.Ivanchenko Cleanup of the code - changed data members and inline methods 47 48 48 49 #ifndef G4PreCompoundModel_h … … 50 51 51 52 #include "G4VPreCompoundModel.hh" 52 #include "G4LorentzVector.hh"53 54 55 #include "G4NucleiProperties.hh"56 #include "G4PreCompoundParameters.hh"57 #include "G4ExcitationHandler.hh"58 53 #include "G4Fragment.hh" 59 #include "Randomize.hh"60 61 //#include "G4PreCompoundEmission.hh"62 63 #include "G4DynamicParticle.hh"64 54 #include "G4ReactionProductVector.hh" 65 55 #include "G4ReactionProduct.hh" 66 #include "G4ParticleTypes.hh" 67 #include "G4ParticleTable.hh" 56 #include "G4ExcitationHandler.hh" 68 57 69 //#define debug 70 //#define verbose 58 class G4PreCompoundParameters; 59 class G4PreCompoundEmission; 60 class G4VPreCompoundTransitions; 61 class G4ParticleDefinition; 71 62 72 63 class G4PreCompoundModel : public G4VPreCompoundModel 73 { 74 64 { 75 65 public: 76 66 … … 79 69 virtual ~G4PreCompoundModel(); 80 70 81 private: 71 virtual G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, 72 G4Nucleus & theNucleus); 82 73 83 G4PreCompoundModel();74 virtual G4ReactionProductVector* DeExcite(G4Fragment& aFragment); 84 75 85 G4PreCompoundModel(const G4PreCompoundModel &); 76 void UseHETCEmission(); 77 void UseDefaultEmission(); 78 void UseGNASHTransition(); 79 void UseDefaultTransition(); 86 80 87 const G4PreCompoundModel& operator=(const G4PreCompoundModel &right); 88 G4bool operator==(const G4PreCompoundModel &right) const; 89 G4bool operator!=(const G4PreCompoundModel &right) const; 81 //for cross section selection 82 void SetOPTxs(G4int opt); 90 83 91 public: 92 93 G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary, G4Nucleus & theNucleus);94 95 G4ReactionProductVector* DeExcite(const G4Fragment& aFragment) const;84 //for the rest of external choices 85 void UseSICB(); 86 void UseNGB(); 87 void UseSCO(); 88 void UseCEMtr(); 96 89 97 90 #ifdef PRECOMPOUND_TEST … … 102 95 #endif 103 96 104 inline void UseHETCEmission() { useHETCEmission = true; }105 inline void UseDefaultEmission() { useHETCEmission = false; }106 inline void UseGNASHTransition() { useGNASHTransition = true; }107 inline void UseDefaultTransition() { useGNASHTransition = false; }108 109 //for cross section selection110 inline void SetOPTxs(G4int opt) { OPTxs = opt; }111 //for the rest of external choices112 inline void UseSICB() { useSICB = true; }113 inline void UseNGB() { useNGB = true; }114 inline void UseSCO() { useSCO = true; }115 inline void UseCEMtr() { useCEMtr = true; }116 97 private: 117 98 99 inline 118 100 void PerformEquilibriumEmission(const G4Fragment & aFragment, 119 101 G4ReactionProductVector * theResult) const; 120 102 121 private: 103 G4PreCompoundModel(); 104 G4PreCompoundModel(const G4PreCompoundModel &); 105 const G4PreCompoundModel& operator=(const G4PreCompoundModel &right); 106 G4bool operator==(const G4PreCompoundModel &right) const; 107 G4bool operator!=(const G4PreCompoundModel &right) const; 122 108 123 109 #ifdef debug … … 131 117 //============== 132 118 119 G4PreCompoundParameters* theParameters; 120 G4PreCompoundEmission* theEmission; 121 G4VPreCompoundTransitions* theTransition; 133 122 123 const G4ParticleDefinition* proton; 124 const G4ParticleDefinition* neutron; 134 125 135 G4bool 136 G4bool 126 G4bool useHETCEmission; 127 G4bool useGNASHTransition; 137 128 138 //for cross section options129 //for cross section options 139 130 G4int OPTxs; 140 //for the rest of external choices 131 132 //for the rest of external choices 141 133 G4bool useSICB; 142 134 G4bool useNGB; … … 144 136 G4bool useCEMtr; 145 137 146 147 G4HadFinalState theResult; 138 G4HadFinalState theResult; 148 139 149 140 #ifdef PRECOMPOUND_TEST … … 151 142 static std::vector<G4String*> theCreatorModels; 152 143 #endif 144 }; 153 145 154 }; 146 inline void 147 G4PreCompoundModel::PerformEquilibriumEmission(const G4Fragment & aFragment, 148 G4ReactionProductVector * Result) const 149 { 150 G4ReactionProductVector* theEquilibriumResult = 151 GetExcitationHandler()->BreakItUp(aFragment); 152 Result->insert(Result->end(),theEquilibriumResult->begin(), theEquilibriumResult->end()); 153 delete theEquilibriumResult; 154 } 155 155 156 #endif 156 157
Note: See TracChangeset
for help on using the changeset viewer.