Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4QMDGroundStateNucleus Class Reference

#include <G4QMDGroundStateNucleus.hh>

+ Inheritance diagram for G4QMDGroundStateNucleus:

Public Member Functions

 G4QMDGroundStateNucleus ()
 
 G4QMDGroundStateNucleus (G4int z, G4int a)
 
 ~G4QMDGroundStateNucleus ()
 
- Public Member Functions inherited from G4QMDNucleus
 G4QMDNucleus ()
 
 ~G4QMDNucleus ()
 
G4LorentzVector Get4Momentum ()
 
G4int GetMassNumber ()
 
G4int GetAtomicNumber ()
 
void CalEnergyAndAngularMomentumInCM ()
 
G4double GetNuclearMass ()
 
void SetTotalPotential (G4double x)
 
G4double GetExcitationEnergy ()
 
G4int GetAngularMomentum ()
 
- Public Member Functions inherited from G4QMDSystem
 G4QMDSystem ()
 
 ~G4QMDSystem ()
 
void SetParticipant (G4QMDParticipant *particle)
 
void SetSystem (G4QMDSystem *, G4ThreeVector, G4ThreeVector)
 
void SubtractSystem (G4QMDSystem *)
 
G4QMDParticipantEraseParticipant (G4int i)
 
void DeleteParticipant (G4int i)
 
void InsertParticipant (G4QMDParticipant *particle, G4int j)
 
G4int GetTotalNumberOfParticipant ()
 
G4QMDParticipantGetParticipant (G4int i)
 
void IncrementCollisionCounter ()
 
G4int GetNOCollision ()
 
void ShowParticipants ()
 
void Clear ()
 

Additional Inherited Members

- Protected Attributes inherited from G4QMDSystem
std::vector< G4QMDParticipant * > participants
 

Detailed Description

Definition at line 45 of file G4QMDGroundStateNucleus.hh.

Constructor & Destructor Documentation

◆ G4QMDGroundStateNucleus() [1/2]

G4QMDGroundStateNucleus::G4QMDGroundStateNucleus ( )

◆ G4QMDGroundStateNucleus() [2/2]

G4QMDGroundStateNucleus::G4QMDGroundStateNucleus ( G4int  z,
G4int  a 
)

Definition at line 38 of file G4QMDGroundStateNucleus.cc.

39: r00 ( 1.124 ) // radius parameter for Woods-Saxon [fm]
40, r01 ( 0.5 ) // radius parameter for Woods-Saxon
41, saa ( 0.2 ) // diffuse parameter for initial Woods-Saxon shape
42, rada ( 0.9 ) // cutoff parameter
43, radb ( 0.3 ) // cutoff parameter
44, dsam ( 1.5 ) // minimum distance for same particle [fm]
45, ddif ( 1.0 ) // minimum distance for different particle
46, epse ( 0.000001 ) // torelance for energy in [GeV]
47{
48
49 //std::cout << " G4QMDGroundStateNucleus( G4int z , G4int a ) Begin " << z << " " << a << std::endl;
50
51 if ( z == 1 && a == 1 ) // Hydrogen Case or proton primary
52 {
54 return;
55 }
56 else if ( z == 0 && a == 1 ) // Neutron primary
57 {
59 return;
60 }
61
62 dsam2 = dsam*dsam;
63 ddif2 = ddif*ddif;
64
66
67 hbc = parameters->Get_hbc();
68 gamm = parameters->Get_gamm();
69 cpw = parameters->Get_cpw();
70 cph = parameters->Get_cph();
71 epsx = parameters->Get_epsx();
72 cpc = parameters->Get_cpc();
73
74 cdp = parameters->Get_cdp();
75 c0p = parameters->Get_c0p();
76 c3p = parameters->Get_c3p();
77 csp = parameters->Get_csp();
78 clp = parameters->Get_clp();
79
80 edepth = 0.0;
81
82 for ( int i = 0 ; i < a ; i++ )
83 {
84
86
87 if ( i < z )
88 {
89 pd = G4Proton::Proton();
90 }
91 else
92 {
93 pd = G4Neutron::Neutron();
94 }
95
96 G4ThreeVector p( 0.0 );
97 G4ThreeVector r( 0.0 );
98 G4QMDParticipant* aParticipant = new G4QMDParticipant( pd , p , r );
99 SetParticipant( aParticipant );
100
101 }
102
103 G4double radious = r00 * std::pow ( double ( GetMassNumber() ) , 1.0/3.0 );
104
105 rt00 = radious - r01;
106 radm = radious - rada * ( gamm - 1.0 ) + radb;
107 rmax = 1.0 / ( 1.0 + std::exp ( -rt00/saa ) );
108
109 maxTrial = 1000;
110 meanfield = new G4QMDMeanField();
111 meanfield->SetSystem( this );
112
113 //std::cout << "G4QMDGroundStateNucleus( G4int z , G4int a ) packNucleons Begin ( z , a ) ( " << z << ", " << a << " )" << std::endl;
114 packNucleons();
115 //std::cout << "G4QMDGroundStateNucleus( G4int z , G4int a ) packNucleons End" << std::endl;
116
117 delete meanfield;
118
119}
CLHEP::Hep3Vector G4ThreeVector
double G4double
Definition: G4Types.hh:64
static G4Neutron * Neutron()
Definition: G4Neutron.cc:104
static G4Proton * Proton()
Definition: G4Proton.cc:93
void SetSystem(G4QMDSystem *aSystem)
G4int GetMassNumber()
Definition: G4QMDNucleus.cc:62
G4double Get_clp()
G4double Get_cpc()
G4double Get_cdp()
G4double Get_epsx()
static G4QMDParameters * GetInstance()
G4double Get_hbc()
G4double Get_c0p()
G4double Get_gamm()
G4double Get_cpw()
G4double Get_c3p()
G4double Get_cph()
G4double Get_csp()
void SetParticipant(G4QMDParticipant *particle)
Definition: G4QMDSystem.hh:51

◆ ~G4QMDGroundStateNucleus()

G4QMDGroundStateNucleus::~G4QMDGroundStateNucleus ( )
inline

Definition at line 50 of file G4QMDGroundStateNucleus.hh.

51 {
52 rho_l.clear();
53 d_pot.clear();
54 };

The documentation for this class was generated from the following files: