Ignore:
Timestamp:
Jun 18, 2010, 11:42:07 AM (14 years ago)
Author:
garnier
Message:

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

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  
    2424// ********************************************************************
    2525//
     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 $
    2628//
    2729// -------------------------------------------------------------------
     
    6466
    6567  // Destructor
    66   ~G4ContinuumGammaDeexcitation();
     68  virtual ~G4ContinuumGammaDeexcitation();
    6769
    6870  // Functions
     
    7274  virtual G4VGammaTransition* CreateTransition();
    7375
    74   virtual G4bool CanDoTransition() const;
     76  virtual G4bool CanDoTransition();
    7577
    7678private:
  • trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DiscreteGammaDeexcitation.hh

    r819 r1315  
    2424// ********************************************************************
    2525//
     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 $
    2628//
    2729// -------------------------------------------------------------------
     
    5153// -------------------------------------------------------------------
    5254//
     55
    5356#ifndef G4DiscreteGammaDeexcitation_hh
    5457#define G4DiscreteGammaDeexcitation_hh
     
    7174
    7275  // Destructor
    73   ~G4DiscreteGammaDeexcitation();
     76  virtual ~G4DiscreteGammaDeexcitation();
    7477
    7578  // Functions
     
    7982  virtual G4VGammaTransition * CreateTransition();
    8083
    81   virtual G4bool CanDoTransition() const;
     84  virtual G4bool CanDoTransition();
    8285
    8386  void SetICM(G4bool hl) { _icm = hl; };
  • trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4DiscreteGammaTransition.hh

    r819 r1315  
    2424// ********************************************************************
    2525//
     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 $
    2628//
    2729// -------------------------------------------------------------------
     
    5254//        15 April 1999, Alessandro Brunengo (Alessandro.Brunengo@ge.infn.it)
    5355//              Added creation time evaluation for products of evaporation
     56//
    5457//     
     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//   
    5562// -------------------------------------------------------------------
    5663
     
    6269#include "G4NuclearLevel.hh"
    6370
     71//JMQ 180410
     72class G4NuclearLevelManager;
     73
    6474class G4DiscreteGammaTransition : public G4VGammaTransition
    6575{
     
    6878  // Constructor
    6979  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);
    7183
    7284  // Destructor
     
    99111  G4double _excitation;
    100112  G4double _gammaCreationTime;
     113  //JMQ 180410
     114  G4int _A;
     115  G4int _Z;
     116  G4NuclearLevelManager * _levelManager;
     117  //JMQ 190410
     118  G4double _tolerance;
    101119};
    102120
  • trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4E1Probability.hh

    r819 r1315  
    2424// ********************************************************************
    2525//
     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
    2638//
    2739//
     
    3345#include "G4VEmissionProbability.hh"
    3446#include "G4Fragment.hh"
    35 #include "G4VLevelDensityParameter.hh"
     47
     48class G4Pow;
    3649
    3750class G4E1Probability : public G4VEmissionProbability
     
    4053public:
    4154
    42   G4E1Probability() {};
     55  G4E1Probability();
    4356
    44   ~G4E1Probability();
     57  virtual ~G4E1Probability();
    4558
    4659  G4double EmissionProbability(const G4Fragment& frag, const G4double excite);
     
    4861
    4962private:
    50 
    51   // G4E1Probability() {};
    5263
    5364  G4E1Probability(const G4E1Probability& right);
     
    5869
    5970  // Integrator (simple Gaussian quadrature)
    60 
    6171  G4double EmissionIntegration(const G4Fragment& frag, const G4double excite,
    6272                               const G4double lowLim, const G4double upLim,
    6373                               const G4int numIters);
    6474
    65   // G4VLevelDensityParameter* _levelDensity; // Don't need this
     75  // members
     76  G4Pow*   fG4pow;
     77  G4double theLevelDensityParameter;
     78  G4double normC;
    6679
    6780};
  • trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4PhotonEvaporation.hh

    r962 r1315  
    2424// ********************************************************************
    2525//
     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 $
    2628//
    2729// -------------------------------------------------------------------
     
    3638//      Creation date: 23 October 1998
    3739//
    38 //      Modifications:
     40//Modifications:
    3941//
    40 //        18 October 2002, Fan Lei (flei@space.qinetiq.com)
     42// 18 October 2002, Fan Lei (flei@space.qinetiq.com)
    4143//   
    4244//        Implementation of Internal Convertion process in discrete deexcitation
     
    5456//            G4ElectronOccupancy _eOccupancy;
    5557//            G4int _vShellNumber;
     58//
     59// 11 May 2010, V.Ivanchenko added EmittedFragment and BreakUpFragment
     60//                           methods
    5661//
    5762// -------------------------------------------------------------------
     
    6166
    6267#include "globals.hh"
    63 #include "G4VPhotonEvaporation.hh"
    6468#include "G4VEvaporationChannel.hh"
    6569#include "G4VEmissionProbability.hh"
     
    6771#include "G4ElectronOccupancy.hh"
    6872
    69 //#define debug
    70 
    7173class G4Fragment;
    7274
    73 class G4PhotonEvaporation : public G4VPhotonEvaporation, public G4VEvaporationChannel {
     75class G4PhotonEvaporation : public G4VEvaporationChannel {
    7476
    7577public:
     
    7981    virtual ~G4PhotonEvaporation();
    8082
     83    virtual void Initialize(const G4Fragment & fragment);
     84
     85    virtual G4Fragment* EmittedFragment(G4Fragment* theNucleus);
     86
     87    virtual G4FragmentVector* BreakUpFragment(G4Fragment* theNucleus);
     88
    8189    virtual G4FragmentVector * BreakItUp(const G4Fragment & nucleus);
    82 
    83     virtual void Initialize(const G4Fragment & fragment);
    8490
    8591    virtual G4FragmentVector * BreakUp(const G4Fragment & nucleus);
     
    99105    void SetEOccupancy( G4ElectronOccupancy  eOccupancy) ;
    100106
    101 
    102107    G4ElectronOccupancy GetEOccupancy () { return _eOccupancy;} ;
    103108   
     
    111116    G4VGammaDeexcitation * _discrDeexcitation;
    112117    G4VGammaDeexcitation * _contDeexcitation;
    113   //    G4VGammaDeexcitation * _cdDeexcitation;
    114118
    115119    G4ElectronOccupancy _eOccupancy;
    116120    G4int _vShellNumber;
    117121
    118     G4Fragment _nucleus;
     122    G4Fragment* _nucleus;
    119123    G4double _gammaE;
    120124
    121125    G4PhotonEvaporation(const G4PhotonEvaporation & right);
    122 
    123126    const G4PhotonEvaporation & operator = (const G4PhotonEvaporation & right);
    124127
    125     // MGP - Check == and != multiple inheritance... must be a mess!
    126128    G4bool operator == (const G4PhotonEvaporation & right) const;
    127129    G4bool operator != (const G4PhotonEvaporation & right) const;
    128130
    129 #ifdef debug
    130     void CheckConservation(const G4Fragment & theInitialState, G4FragmentVector * Result) const;
    131 #endif
     131  //#ifdef debug
     132  //  void CheckConservation(const G4Fragment & theInitialState, G4FragmentVector * Result) const;
     133  //#endif
    132134
    133135
  • trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4VGammaDeexcitation.hh

    r819 r1315  
    2424// ********************************************************************
    2525//
     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 $
    2628//
    2729// -------------------------------------------------------------------
     
    3739//
    3840//      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.
    3952//
    4053//        18 October 2002, F. Lei
     
    4356//          Added SetVaccantSN(). It is need to to re-set _vSN after each
    4457//          IC happened.
    45 //
    46 //        8 March 2002, Fan Lei (flei@space.qinetiq.com)
    47 //          Added  SetEO () , GetEO(), UpdateElectrons() to allow the assignment
    48 //          and modification of electron configuration.
    49 //         
    50 //        21 Nov 2001, Fan Lei (flei@space.qinetiq.com)
    51 //           Modified GenerateGamma() and UpdateUncleus() for implementation
    52 //           of Internal Conversion processs
    5358//
    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
    5660//
    5761// -------------------------------------------------------------------
     62//
    5863
    5964#ifndef G4VGAMMADEEXCITATION_HH
     
    7075public:
    7176
    72     G4VGammaDeexcitation();
     77  G4VGammaDeexcitation();
    7378
    74     virtual ~G4VGammaDeexcitation();
     79  virtual ~G4VGammaDeexcitation();
    7580
    76     virtual G4VGammaTransition * CreateTransition() = 0;
    77     virtual G4bool CanDoTransition() const = 0;
     81  virtual G4VGammaTransition * CreateTransition() = 0;
     82  virtual G4bool CanDoTransition() = 0;
    7883
    79     // Single gamma transition
    80     virtual G4FragmentVector * DoTransition();
     84  // Single gamma transition
     85  G4FragmentVector * DoTransition();
    8186
    82     // Chain of gamma transitions
    83     virtual G4FragmentVector * DoChain();
     87  // Chain of gamma transitions
     88  G4FragmentVector * DoChain();
    8489
    85     virtual G4Fragment * GenerateGamma();
     90  G4Fragment * GenerateGamma();
    8691
    87     virtual const G4Fragment & GetNucleus() const;
     92  inline G4Fragment* GetNucleus();
    8893
    89     virtual void SetNucleus(const G4Fragment & nucleus);
     94  inline void SetNucleus(G4Fragment* nucleus);
    9095
    91     virtual void SetVerboseLevel(G4int verbose);
     96  inline void SetVerboseLevel(G4int verbose);
    9297
    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;};
    95102 
    96     G4ElectronOccupancy GetEO() { return _electronO; };   
    97     G4int GetVacantSN() {return _vSN;};
     103  G4ElectronOccupancy GetEO() { return _electronO; };   
     104  G4int GetVacantSN() {return _vSN;};
     105
    98106protected:
    99107
    100     void Initialize();
    101     void UpdateNucleus(const G4Fragment * gamma);
    102     void UpdateElectrons ();
    103     void Update();
     108  void Update();
    104109
    105     G4VGammaTransition * _transition; // Owned pointer
    106     G4int _verbose;
     110  G4VGammaTransition* _transition; // Owned pointer
     111  G4int _verbose;
    107112
    108113private:
    109114
    110     G4Fragment _nucleus;
    111     G4ElectronOccupancy _electronO;
    112     G4int _vSN;
     115  G4Fragment* _nucleus;
     116  G4ElectronOccupancy _electronO;
     117  G4int _vSN;
    113118
    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;
    119123
    120124};
     125
     126inline G4Fragment* G4VGammaDeexcitation::GetNucleus()
     127{
     128  return _nucleus;
     129}
     130
     131inline void G4VGammaDeexcitation::SetNucleus(G4Fragment* nucleus)
     132{
     133  _nucleus = nucleus;
     134}
     135
     136inline void G4VGammaDeexcitation::SetVerboseLevel(G4int verbose)
     137{
     138  _verbose = verbose;
     139}
     140
     141inline void G4VGammaDeexcitation::Initialize()
     142{
     143  if (_transition != 0) { delete _transition; }
     144  _transition = CreateTransition();
     145  if (_transition != 0) {
     146    _transition->SetEnergyFrom(_nucleus->GetExcitationEnergy());
     147  }
     148}
    121149
    122150#endif
  • trunk/source/processes/hadronic/models/de_excitation/photon_evaporation/include/G4VPhotonEvaporation.hh

    r819 r1315  
    2424// ********************************************************************
    2525//
     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 $
    2628//
    2729// -------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.