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/G4PreCompoundHe3.hh

    r819 r962  
    2424// ********************************************************************
    2525//
     26// by V. Lara
    2627//
    27 // $Id: G4PreCompoundHe3.hh,v 1.6 2007/10/01 10:42:00 ahoward Exp $
    28 // GEANT4 tag $Name:  $
    29 //
    30 // by V. Lara
     28//J. M. Quesada (July 08)
    3129
    3230#ifndef G4PreCompoundHe3_h
     
    3634#include "G4ReactionProduct.hh"
    3735#include "G4He3.hh"
    38 
    3936#include "G4He3CoulombBarrier.hh"
    40 
     37#include "G4PreCompoundParameters.hh"
    4138
    4239class G4PreCompoundHe3 : public G4PreCompoundIon
     
    6663
    6764
    68   G4ReactionProduct * GetReactionProduct() const
    69   {
    70     G4ReactionProduct * theReactionProduct =
    71       new G4ReactionProduct(G4He3::He3Definition());
    72     theReactionProduct->SetMomentum(GetMomentum().vect());
    73     theReactionProduct->SetTotalEnergy(GetMomentum().e());
    74 #ifdef PRECOMPOUND_TEST
    75     theReactionProduct->SetCreatorModel("G4PrecompoundModel");
    76 #endif
    77     return theReactionProduct;
    78   }   
    79    
     65  G4ReactionProduct * GetReactionProduct() const;
     66 
     67
    8068private:
    8169
    82 // added Rj method according to literature and JMQ
    83   virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged)
    84   {
    85     G4double rj = 1.0;
    86     G4double denominator = NumberParticles*(NumberParticles-1)*(NumberParticles-2);
    87     if(denominator != 0) rj = 3.0*static_cast<G4double>(NumberCharged*(NumberCharged-1)*(NumberParticles-NumberCharged))/static_cast<G4double>(denominator); //JMQ 23/8/07
     70  virtual G4double GetRj(const G4int NumberParticles, const G4int NumberCharged);
    8871
    89     return rj;
    90   }
     72  virtual G4double CrossSection(const  G4double K) ;
     73
     74  virtual G4double FactorialFactor(const G4double N, const G4double P);
     75
     76  virtual G4double CoalescenceFactor(const G4double A);
     77
     78  G4double GetOpt0(const G4double K);
     79  G4double GetOpt12(const G4double K);
     80  G4double GetOpt34(const G4double K);
     81
     82  G4double GetAlpha();
     83 
     84  G4double GetBeta();
     85
     86//data members
     87
     88      G4He3CoulombBarrier theHe3CoulombBarrier;
     89        G4double ResidualA;
     90      G4double ResidualZ;
     91      G4double theA;
     92      G4double theZ;
     93      G4double ResidualAthrd;
     94      G4double FragmentA;
     95      G4double FragmentAthrd;
     96
     97
     98};
     99#endif
    91100
    92101
    93102
    94   virtual G4double GetAlpha()
    95   {
    96     G4double C = 0.0;
    97     G4double aZ = GetZ() + GetRestZ();
    98     if (aZ <= 30)
    99       {
    100         C = 0.10;
    101       }
    102     else if (aZ <= 50)
    103       {
    104         C = 0.1 + -((aZ-50.)/20.)*0.02;
    105       }
    106     else if (aZ < 70)
    107       {
    108         C = 0.08 + -((aZ-70.)/20.)*0.02;
    109       }
    110     else
    111       {
    112         C = 0.06;
    113       }
    114     return 1.0 + C*(4.0/3.0);
    115   }
    116103
    117   virtual G4double GetBeta()
    118   {
    119     return -GetCoulombBarrier();
    120   }
    121104
    122   virtual G4double FactorialFactor(const G4double N, const G4double P)
    123   {
    124     return
    125       (N-3.0)*(P-2.0)*(
    126                        (((N-2.0)*(P-1.0))/2.0) *(
    127                                                  (((N-1.0)*P)/3.0)
    128                                                  )
    129                        );
    130   }
    131 
    132   virtual G4double CoalescenceFactor(const G4double A)
    133   {
    134     return 243.0/(A*A);
    135   }   
    136 private:
    137 
    138   G4He3CoulombBarrier theHe3CoulombBarrier;
    139 
    140 };
    141 
    142 #endif
    143105 
    144 
Note: See TracChangeset for help on using the changeset viewer.