Ignore:
Timestamp:
Apr 6, 2009, 12:30:29 PM (15 years ago)
Author:
garnier
Message:

update processes

File:
1 edited

Legend:

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

    r819 r962  
    2424// ********************************************************************
    2525//
     26// by V. Lara
    2627//
    27 // $Id: G4PreCompoundDeuteron.hh,v 1.7 2007/10/01 10:41:59 ahoward Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // by V. Lara
     28//J. M. Quesada (July 08)
    3129
    3230#ifndef G4PreCompoundDeuteron_h
     
    3634#include "G4ReactionProduct.hh"
    3735#include "G4Deuteron.hh"
    38 
    3936#include "G4DeuteronCoulombBarrier.hh"
     37#include "G4PreCompoundParameters.hh"
    4038
    4139
     
    6664
    6765
    68   G4ReactionProduct * GetReactionProduct() const
    69   {
    70     G4ReactionProduct * theReactionProduct =
    71       new G4ReactionProduct(G4Deuteron::DeuteronDefinition());
    72     theReactionProduct->SetMomentum(GetMomentum().vect());
    73     theReactionProduct->SetTotalEnergy(GetMomentum().e());
    74 #ifdef PRECOMPOUND_TEST
    75     theReactionProduct->SetCreatorModel("G4PrecompoundModel");
    76 #endif
    77     return theReactionProduct;
    78   }   
     66  G4ReactionProduct * GetReactionProduct() const;
     67
    7968 
    8069private:
    8170
    82 // added Rj method according to literature and JMQ - formula from Jose Quesada
    83   virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged)
    84   {
    85     G4double rj = 1.0;
    86     G4double denominator = NumberParticles*(NumberParticles-1);
    87     if(denominator != 0) rj = 2.0*static_cast<G4double>(NumberCharged*(NumberParticles-NumberCharged))/static_cast<G4double>(denominator); //JMQ re-corrected 23/8/07
    88     //    return static_cast<G4double>(NumberCharged*(NumberCharged-1))/static_cast<G4double>(NumberParticles*(NumberParticles-1));
     71  virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged);
    8972
    90     return rj;
    91   }
     73  virtual G4double CrossSection(const  G4double K) ;
    9274
     75  virtual G4double FactorialFactor(const G4double N, const G4double P);
    9376
     77  virtual G4double CoalescenceFactor(const G4double A);
    9478
    95   virtual G4double GetAlpha()
    96   {
    97     G4double C = 0.0;
    98     G4double aZ = GetZ() + GetRestZ();
    99     if (aZ >= 70)
    100       {
    101         C = 0.10;
    102       }
    103     else
    104       {
    105         C = ((((0.15417e-06*aZ) - 0.29875e-04)*aZ + 0.21071e-02)*aZ - 0.66612e-01)*aZ + 0.98375;
    106       }
    107     return 1.0 + C/2.0;
    108   }
    109    
    110   virtual G4double GetBeta()
    111   {
    112     return -GetCoulombBarrier();
    113   }
     79  G4double GetOpt0(const G4double K);
     80  G4double GetOpt12(const G4double K);
     81  G4double GetOpt34(const G4double K);
    11482
    115   virtual G4double FactorialFactor(const G4double N, const G4double P)
    116   {
    117     return (N-1.0)*(N-2.0)*(P-1.0)*P/2.0;
    118   }
     83  G4double GetAlpha();
    11984 
    120   virtual G4double CoalescenceFactor(const G4double A)
    121   {
    122     return 16.0/A;
    123   }   
    124 private:
    125  
    126   G4DeuteronCoulombBarrier theDeuteronCoulombBarrier;
     85  G4double GetBeta();
     86
     87//data members
     88
     89      G4DeuteronCoulombBarrier theDeuteronCoulombBarrier;
     90      G4double ResidualA;
     91      G4double ResidualZ;
     92      G4double theA;
     93      G4double theZ;
     94      G4double ResidualAthrd;
     95      G4double FragmentA;
     96      G4double FragmentAthrd;
    12797
    12898};
     99#endif
    129100
    130 #endif
    131  
    132 
Note: See TracChangeset for help on using the changeset viewer.