Ignore:
Timestamp:
Nov 5, 2010, 3:45:55 PM (14 years ago)
Author:
garnier
Message:

update ti head

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh

    r1337 r1340  
    2424// ********************************************************************
    2525//
    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 $
    2928//
    3029// by V. Lara
    31 
     30//
    3231// Class Description
    3332// Model implementation for pre-equilibrium decay models in geant4.
     
    3736// Class Description - End
    3837//
    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:
    4242//                - superimposed Coulomb barrier (if useSICB=true, default false)
    4343//                - "never go back"  hipothesis (if useNGB=true, default false)
    4444//                - soft cutoff from preeq. to equlibrium (if useSCO=true, default false)
    4545//                - 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
    4748
    4849#ifndef G4PreCompoundModel_h
     
    5051
    5152#include "G4VPreCompoundModel.hh"
    52 #include "G4LorentzVector.hh"
    53 
    54 
    55 #include "G4NucleiProperties.hh"
    56 #include "G4PreCompoundParameters.hh"
    57 #include "G4ExcitationHandler.hh"
    5853#include "G4Fragment.hh"
    59 #include "Randomize.hh"
    60 
    61 //#include "G4PreCompoundEmission.hh"
    62 
    63 #include "G4DynamicParticle.hh"
    6454#include "G4ReactionProductVector.hh"
    6555#include "G4ReactionProduct.hh"
    66 #include "G4ParticleTypes.hh"
    67 #include "G4ParticleTable.hh"
     56#include "G4ExcitationHandler.hh"
    6857
    69 //#define debug
    70 //#define verbose
     58class G4PreCompoundParameters;
     59class G4PreCompoundEmission;
     60class G4VPreCompoundTransitions;
     61class G4ParticleDefinition;
    7162
    7263class G4PreCompoundModel : public G4VPreCompoundModel
    73 {
    74  
     64{
    7565public:
    7666
     
    7969  virtual ~G4PreCompoundModel();
    8070
    81 private:
     71  virtual G4HadFinalState * ApplyYourself(const G4HadProjectile & thePrimary,
     72                                          G4Nucleus & theNucleus);
    8273
    83   G4PreCompoundModel();
     74  virtual G4ReactionProductVector* DeExcite(G4Fragment& aFragment);
    8475
    85   G4PreCompoundModel(const G4PreCompoundModel &);
     76  void UseHETCEmission();
     77  void UseDefaultEmission();
     78  void UseGNASHTransition();
     79  void UseDefaultTransition();
    8680
    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);
    9083
    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();
    9689
    9790#ifdef PRECOMPOUND_TEST
     
    10295#endif
    10396
    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 selection
    110   inline void SetOPTxs(G4int opt) { OPTxs = opt; }
    111 //for the rest of external choices
    112   inline void UseSICB() { useSICB = true; }
    113   inline void UseNGB()  { useNGB = true; }
    114   inline void UseSCO()  { useSCO = true; }
    115   inline void UseCEMtr() { useCEMtr = true; }
    11697private: 
    11798
     99  inline
    118100  void PerformEquilibriumEmission(const G4Fragment & aFragment,
    119101                                  G4ReactionProductVector * theResult) const;
    120102
    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;
    122108
    123109#ifdef debug                             
     
    131117  //==============
    132118
     119  G4PreCompoundParameters*   theParameters;
     120  G4PreCompoundEmission*     theEmission;
     121  G4VPreCompoundTransitions* theTransition;
    133122
     123  const G4ParticleDefinition* proton;
     124  const G4ParticleDefinition* neutron;
    134125
    135   G4bool           useHETCEmission;
    136   G4bool           useGNASHTransition;
     126  G4bool useHETCEmission;
     127  G4bool useGNASHTransition;
    137128
    138 //for cross section options
     129  //for cross section options
    139130  G4int OPTxs;
    140 //for the rest of external choices
     131
     132  //for the rest of external choices
    141133  G4bool useSICB;
    142134  G4bool useNGB;
     
    144136  G4bool useCEMtr;
    145137
    146 
    147     G4HadFinalState theResult;
     138  G4HadFinalState theResult;
    148139
    149140#ifdef PRECOMPOUND_TEST
     
    151142  static std::vector<G4String*> theCreatorModels;
    152143#endif
     144};
    153145
    154 };
     146inline void
     147G4PreCompoundModel::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
    155156#endif
    156157
Note: See TracChangeset for help on using the changeset viewer.