G4QMDGroundStateNucleus Class Reference

#include <G4QMDGroundStateNucleus.hh>

Inheritance diagram for G4QMDGroundStateNucleus:

G4QMDNucleus G4QMDSystem

Public Member Functions

 G4QMDGroundStateNucleus ()
 G4QMDGroundStateNucleus (G4int z, G4int a)
 ~G4QMDGroundStateNucleus ()

Detailed Description

Definition at line 45 of file G4QMDGroundStateNucleus.hh.


Constructor & Destructor Documentation

G4QMDGroundStateNucleus::G4QMDGroundStateNucleus (  ) 

G4QMDGroundStateNucleus::G4QMDGroundStateNucleus ( G4int  z,
G4int  a 
)

Definition at line 38 of file G4QMDGroundStateNucleus.cc.

References G4QMDParameters::Get_c0p(), G4QMDParameters::Get_c3p(), G4QMDParameters::Get_cdp(), G4QMDParameters::Get_clp(), G4QMDParameters::Get_cpc(), G4QMDParameters::Get_cph(), G4QMDParameters::Get_cpw(), G4QMDParameters::Get_csp(), G4QMDParameters::Get_epsx(), G4QMDParameters::Get_gamm(), G4QMDParameters::Get_hbc(), G4QMDParameters::GetInstance(), G4QMDNucleus::GetMassNumber(), G4Neutron::Neutron(), G4Proton::Proton(), G4QMDSystem::SetParticipant(), and G4QMDMeanField::SetSystem().

00039 : r00 ( 1.124 )  // radius parameter for Woods-Saxon [fm] 
00040 , r01 ( 0.5 )    // radius parameter for Woods-Saxon 
00041 , saa ( 0.2 )    // diffuse parameter for initial Woods-Saxon shape
00042 , rada ( 0.9 )   // cutoff parameter
00043 , radb ( 0.3 )   // cutoff parameter
00044 , dsam ( 1.5 )   // minimum distance for same particle [fm]
00045 , ddif ( 1.0 )   // minimum distance for different particle
00046 , epse ( 0.000001 )  // torelance for energy in [GeV]
00047 {
00048 
00049    //std::cout << " G4QMDGroundStateNucleus( G4int z , G4int a ) Begin " << z << " " << a << std::endl;
00050 
00051    if ( z == 1 && a == 1 ) // Hydrogen  Case or proton primary
00052    {
00053       SetParticipant( new G4QMDParticipant( G4Proton::Proton() , G4ThreeVector( 0.0 ) , G4ThreeVector( 0.0 ) ) );
00054       return;
00055    }
00056    else if ( z == 0 && a == 1 ) // Neutron primary
00057    {
00058       SetParticipant( new G4QMDParticipant( G4Neutron::Neutron() , G4ThreeVector( 0.0 ) , G4ThreeVector( 0.0 ) ) );
00059       return;
00060    }
00061 
00062    dsam2 = dsam*dsam;
00063    ddif2 = ddif*ddif;
00064 
00065    G4QMDParameters* parameters = G4QMDParameters::GetInstance();
00066 
00067    hbc = parameters->Get_hbc();
00068    gamm = parameters->Get_gamm();
00069    cpw = parameters->Get_cpw();
00070    cph = parameters->Get_cph();
00071    epsx = parameters->Get_epsx();
00072    cpc = parameters->Get_cpc();
00073 
00074    cdp = parameters->Get_cdp();
00075    c0p = parameters->Get_c0p();
00076    c3p = parameters->Get_c3p();
00077    csp = parameters->Get_csp();
00078    clp = parameters->Get_clp();
00079 
00080    edepth = 0.0; 
00081 
00082    for ( int i = 0 ; i < a ; i++ )
00083    {
00084 
00085       G4ParticleDefinition* pd; 
00086 
00087       if ( i < z )
00088       { 
00089          pd = G4Proton::Proton();
00090       }
00091       else
00092       {
00093          pd = G4Neutron::Neutron();
00094       }
00095          
00096       G4ThreeVector p( 0.0 );
00097       G4ThreeVector r( 0.0 );
00098       G4QMDParticipant* aParticipant = new G4QMDParticipant( pd , p , r );
00099       SetParticipant( aParticipant );
00100 
00101    }
00102 
00103    G4double radious = r00 * std::pow ( double ( GetMassNumber() ) , 1.0/3.0 ); 
00104 
00105    rt00 = radious - r01; 
00106    radm = radious - rada * ( gamm - 1.0 ) + radb;
00107    rmax = 1.0 / ( 1.0 + std::exp ( -rt00/saa ) );
00108 
00109    maxTrial = 1000;
00110    meanfield = new G4QMDMeanField();
00111    meanfield->SetSystem( this );
00112 
00113    //std::cout << "G4QMDGroundStateNucleus( G4int z , G4int a ) packNucleons Begin ( z , a ) ( " << z << ", " << a << " )" << std::endl;
00114    packNucleons();
00115    //std::cout << "G4QMDGroundStateNucleus( G4int z , G4int a ) packNucleons End" << std::endl;
00116 
00117    delete meanfield;
00118 
00119 }

G4QMDGroundStateNucleus::~G4QMDGroundStateNucleus (  )  [inline]

Definition at line 50 of file G4QMDGroundStateNucleus.hh.

00051       {
00052          rho_l.clear();  
00053          d_pot.clear();
00054       };


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:10 2013 for Geant4 by  doxygen 1.4.7