- Timestamp:
- Jun 18, 2010, 11:42:07 AM (14 years ago)
- Location:
- trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4ContinuumGammaDeexcitation.hh
r819 r1315 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4ContinuumGammaDeexcitation.hh,v 1.4 2010/04/25 18:43:21 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 26 28 // 27 29 // ------------------------------------------------------------------- … … 64 66 65 67 // Destructor 66 ~G4ContinuumGammaDeexcitation();68 virtual ~G4ContinuumGammaDeexcitation(); 67 69 68 70 // Functions … … 72 74 virtual G4VGammaTransition* CreateTransition(); 73 75 74 virtual G4bool CanDoTransition() const;76 virtual G4bool CanDoTransition(); 75 77 76 78 private: -
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DiscreteGammaDeexcitation.hh
r819 r1315 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4DiscreteGammaDeexcitation.hh,v 1.4 2010/04/25 18:43:21 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 26 28 // 27 29 // ------------------------------------------------------------------- … … 51 53 // ------------------------------------------------------------------- 52 54 // 55 53 56 #ifndef G4DiscreteGammaDeexcitation_hh 54 57 #define G4DiscreteGammaDeexcitation_hh … … 71 74 72 75 // Destructor 73 ~G4DiscreteGammaDeexcitation();76 virtual ~G4DiscreteGammaDeexcitation(); 74 77 75 78 // Functions … … 79 82 virtual G4VGammaTransition * CreateTransition(); 80 83 81 virtual G4bool CanDoTransition() const;84 virtual G4bool CanDoTransition(); 82 85 83 86 void SetICM(G4bool hl) { _icm = hl; }; -
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DiscreteGammaTransition.hh
r819 r1315 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4DiscreteGammaTransition.hh,v 1.4 2010/04/25 18:43:21 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 26 28 // 27 29 // ------------------------------------------------------------------- … … 52 54 // 15 April 1999, Alessandro Brunengo (Alessandro.Brunengo@ge.infn.it) 53 55 // Added creation time evaluation for products of evaporation 56 // 54 57 // 58 // 19 April 2010, J. M. Quesada. 59 // Corrections added for taking into account mismatch between tabulated 60 // gamma energies and level energy differences (fake photons eliminated) 61 // 55 62 // ------------------------------------------------------------------- 56 63 … … 62 69 #include "G4NuclearLevel.hh" 63 70 71 //JMQ 180410 72 class G4NuclearLevelManager; 73 64 74 class G4DiscreteGammaTransition : public G4VGammaTransition 65 75 { … … 68 78 // Constructor 69 79 G4DiscreteGammaTransition(const G4NuclearLevel& level); 70 G4DiscreteGammaTransition(const G4NuclearLevel& level, G4int Z); 80 //JMQ 180410 81 // G4DiscreteGammaTransition(const G4NuclearLevel& level, G4int Z); 82 G4DiscreteGammaTransition(const G4NuclearLevel& level, G4int Z, G4int A); 71 83 72 84 // Destructor … … 99 111 G4double _excitation; 100 112 G4double _gammaCreationTime; 113 //JMQ 180410 114 G4int _A; 115 G4int _Z; 116 G4NuclearLevelManager * _levelManager; 117 //JMQ 190410 118 G4double _tolerance; 101 119 }; 102 120 -
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability.hh
r819 r1315 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4E1Probability.hh,v 1.5 2010/05/19 10:21:44 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 28 // 29 //--------------------------------------------------------------------- 30 // 31 // Geant4 header G4E1Probability 32 // 33 // by V. Lara (May 2003) 34 // 35 // Modifications: 36 // 18.05.2010 V.Ivanchenko trying to speedup the most slow method 37 // by usage of G4Pow, integer A and introduction of const members 26 38 // 27 39 // … … 33 45 #include "G4VEmissionProbability.hh" 34 46 #include "G4Fragment.hh" 35 #include "G4VLevelDensityParameter.hh" 47 48 class G4Pow; 36 49 37 50 class G4E1Probability : public G4VEmissionProbability … … 40 53 public: 41 54 42 G4E1Probability() {};55 G4E1Probability(); 43 56 44 ~G4E1Probability();57 virtual ~G4E1Probability(); 45 58 46 59 G4double EmissionProbability(const G4Fragment& frag, const G4double excite); … … 48 61 49 62 private: 50 51 // G4E1Probability() {};52 63 53 64 G4E1Probability(const G4E1Probability& right); … … 58 69 59 70 // Integrator (simple Gaussian quadrature) 60 61 71 G4double EmissionIntegration(const G4Fragment& frag, const G4double excite, 62 72 const G4double lowLim, const G4double upLim, 63 73 const G4int numIters); 64 74 65 // G4VLevelDensityParameter* _levelDensity; // Don't need this 75 // members 76 G4Pow* fG4pow; 77 G4double theLevelDensityParameter; 78 G4double normC; 66 79 67 80 }; -
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4PhotonEvaporation.hh
r962 r1315 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4PhotonEvaporation.hh,v 1.7 2010/05/11 11:22:14 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 26 28 // 27 29 // ------------------------------------------------------------------- … … 36 38 // Creation date: 23 October 1998 37 39 // 38 // 40 //Modifications: 39 41 // 40 // 42 // 18 October 2002, Fan Lei (flei@space.qinetiq.com) 41 43 // 42 44 // Implementation of Internal Convertion process in discrete deexcitation … … 54 56 // G4ElectronOccupancy _eOccupancy; 55 57 // G4int _vShellNumber; 58 // 59 // 11 May 2010, V.Ivanchenko added EmittedFragment and BreakUpFragment 60 // methods 56 61 // 57 62 // ------------------------------------------------------------------- … … 61 66 62 67 #include "globals.hh" 63 #include "G4VPhotonEvaporation.hh"64 68 #include "G4VEvaporationChannel.hh" 65 69 #include "G4VEmissionProbability.hh" … … 67 71 #include "G4ElectronOccupancy.hh" 68 72 69 //#define debug70 71 73 class G4Fragment; 72 74 73 class G4PhotonEvaporation : public G4V PhotonEvaporation, public G4VEvaporationChannel {75 class G4PhotonEvaporation : public G4VEvaporationChannel { 74 76 75 77 public: … … 79 81 virtual ~G4PhotonEvaporation(); 80 82 83 virtual void Initialize(const G4Fragment & fragment); 84 85 virtual G4Fragment* EmittedFragment(G4Fragment* theNucleus); 86 87 virtual G4FragmentVector* BreakUpFragment(G4Fragment* theNucleus); 88 81 89 virtual G4FragmentVector * BreakItUp(const G4Fragment & nucleus); 82 83 virtual void Initialize(const G4Fragment & fragment);84 90 85 91 virtual G4FragmentVector * BreakUp(const G4Fragment & nucleus); … … 99 105 void SetEOccupancy( G4ElectronOccupancy eOccupancy) ; 100 106 101 102 107 G4ElectronOccupancy GetEOccupancy () { return _eOccupancy;} ; 103 108 … … 111 116 G4VGammaDeexcitation * _discrDeexcitation; 112 117 G4VGammaDeexcitation * _contDeexcitation; 113 // G4VGammaDeexcitation * _cdDeexcitation;114 118 115 119 G4ElectronOccupancy _eOccupancy; 116 120 G4int _vShellNumber; 117 121 118 G4Fragment _nucleus;122 G4Fragment* _nucleus; 119 123 G4double _gammaE; 120 124 121 125 G4PhotonEvaporation(const G4PhotonEvaporation & right); 122 123 126 const G4PhotonEvaporation & operator = (const G4PhotonEvaporation & right); 124 127 125 // MGP - Check == and != multiple inheritance... must be a mess!126 128 G4bool operator == (const G4PhotonEvaporation & right) const; 127 129 G4bool operator != (const G4PhotonEvaporation & right) const; 128 130 129 #ifdef debug130 void CheckConservation(const G4Fragment & theInitialState, G4FragmentVector * Result) const;131 #endif131 //#ifdef debug 132 // void CheckConservation(const G4Fragment & theInitialState, G4FragmentVector * Result) const; 133 //#endif 132 134 133 135 -
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4VGammaDeexcitation.hh
r819 r1315 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4VGammaDeexcitation.hh,v 1.8 2010/04/28 14:22:40 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 26 28 // 27 29 // ------------------------------------------------------------------- … … 37 39 // 38 40 // Modifications: 41 // 42 // 15 April 1999, Alessandro Brunengo (Alessandro.Brunengo@ge.infn.it) 43 // Added creation time evaluation for products of evaporation 44 // 45 // 21 Nov 2001, Fan Lei (flei@space.qinetiq.com) 46 // Modified GenerateGamma() and UpdateUncleus() for implementation 47 // of Internal Conversion processs 48 // 49 // 8 March 2002, Fan Lei (flei@space.qinetiq.com) 50 // Added SetEO () , GetEO(), UpdateElectrons() to allow the assignment 51 // and modification of electron configuration. 39 52 // 40 53 // 18 October 2002, F. Lei … … 43 56 // Added SetVaccantSN(). It is need to to re-set _vSN after each 44 57 // IC happened. 45 //46 // 8 March 2002, Fan Lei (flei@space.qinetiq.com)47 // Added SetEO () , GetEO(), UpdateElectrons() to allow the assignment48 // and modification of electron configuration.49 //50 // 21 Nov 2001, Fan Lei (flei@space.qinetiq.com)51 // Modified GenerateGamma() and UpdateUncleus() for implementation52 // of Internal Conversion processs53 58 // 54 // 15 April 1999, Alessandro Brunengo (Alessandro.Brunengo@ge.infn.it) 55 // Added creation time evaluation for products of evaporation 59 // 28 April 2010, V.Ivanchenko cleanup methods 56 60 // 57 61 // ------------------------------------------------------------------- 62 // 58 63 59 64 #ifndef G4VGAMMADEEXCITATION_HH … … 70 75 public: 71 76 72 77 G4VGammaDeexcitation(); 73 78 74 79 virtual ~G4VGammaDeexcitation(); 75 80 76 77 virtual G4bool CanDoTransition() const= 0;81 virtual G4VGammaTransition * CreateTransition() = 0; 82 virtual G4bool CanDoTransition() = 0; 78 83 79 80 virtualG4FragmentVector * DoTransition();84 // Single gamma transition 85 G4FragmentVector * DoTransition(); 81 86 82 83 virtualG4FragmentVector * DoChain();87 // Chain of gamma transitions 88 G4FragmentVector * DoChain(); 84 89 85 virtualG4Fragment * GenerateGamma();90 G4Fragment * GenerateGamma(); 86 91 87 virtual const G4Fragment & GetNucleus() const;92 inline G4Fragment* GetNucleus(); 88 93 89 virtual void SetNucleus(const G4Fragment &nucleus);94 inline void SetNucleus(G4Fragment* nucleus); 90 95 91 virtualvoid SetVerboseLevel(G4int verbose);96 inline void SetVerboseLevel(G4int verbose); 92 97 93 void SetEO(G4ElectronOccupancy eo) { _electronO = eo; }; 94 void SetVaccantSN( G4int val ) { _vSN = val;}; 98 inline void Initialize(); 99 100 void SetEO(G4ElectronOccupancy eo) { _electronO = eo; }; 101 void SetVaccantSN( G4int val ) { _vSN = val;}; 95 102 96 G4ElectronOccupancy GetEO() { return _electronO; }; 97 G4int GetVacantSN() {return _vSN;}; 103 G4ElectronOccupancy GetEO() { return _electronO; }; 104 G4int GetVacantSN() {return _vSN;}; 105 98 106 protected: 99 107 100 void Initialize(); 101 void UpdateNucleus(const G4Fragment * gamma); 102 void UpdateElectrons (); 103 void Update(); 108 void Update(); 104 109 105 G4VGammaTransition* _transition; // Owned pointer106 110 G4VGammaTransition* _transition; // Owned pointer 111 G4int _verbose; 107 112 108 113 private: 109 114 110 G4Fragment_nucleus;111 112 115 G4Fragment* _nucleus; 116 G4ElectronOccupancy _electronO; 117 G4int _vSN; 113 118 114 G4VGammaDeexcitation(const G4VGammaDeexcitation & right); 115 116 const G4VGammaDeexcitation & operator = (const G4VGammaDeexcitation & right); 117 G4bool operator == (const G4VGammaDeexcitation & right) const; 118 G4bool operator != (const G4VGammaDeexcitation & right) const; 119 G4VGammaDeexcitation(const G4VGammaDeexcitation & right); 120 const G4VGammaDeexcitation & operator = (const G4VGammaDeexcitation & right); 121 G4bool operator == (const G4VGammaDeexcitation & right) const; 122 G4bool operator != (const G4VGammaDeexcitation & right) const; 119 123 120 124 }; 125 126 inline G4Fragment* G4VGammaDeexcitation::GetNucleus() 127 { 128 return _nucleus; 129 } 130 131 inline void G4VGammaDeexcitation::SetNucleus(G4Fragment* nucleus) 132 { 133 _nucleus = nucleus; 134 } 135 136 inline void G4VGammaDeexcitation::SetVerboseLevel(G4int verbose) 137 { 138 _verbose = verbose; 139 } 140 141 inline void G4VGammaDeexcitation::Initialize() 142 { 143 if (_transition != 0) { delete _transition; } 144 _transition = CreateTransition(); 145 if (_transition != 0) { 146 _transition->SetEnergyFrom(_nucleus->GetExcitationEnergy()); 147 } 148 } 121 149 122 150 #endif -
trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4VPhotonEvaporation.hh
r819 r1315 24 24 // ******************************************************************** 25 25 // 26 // $Id: G4VPhotonEvaporation.hh,v 1.3 2010/04/25 18:43:21 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-cand-01 $ 26 28 // 27 29 // -------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.