74 for (
int i = 0 ; i <
a ; i++ )
104 if ( z == 1 && a == 1 ) {
109 else if ( z == 0 && a == 1 ) {
143 ebin0 = (
ebini - 0.5 ) * 0.001;
144 ebin1 = (
ebini + 0.5 ) * 0.001;
148 ebin0 = (
ebini - 1.5 ) * 0.001;
149 ebin1 = (
ebini + 1.5 ) * 0.001;
163 G4bool areThesePsOK =
false;
190 if ( areThesePsOK ==
false )
continue;
225 rho_l[i] =
cdp * ( rho_a[i] + 1.0 );
243 G4bool isThis1stMOK =
false;
255 if ( isThis1stMOK ==
false )
continue;
259 G4bool areTheseMsOK =
true;
271 areTheseMsOK =
false;
282 if ( areTheseMsOK ==
false )
continue;
310 if ( ebinal < ebin0 || ebinal > ebin1 )
344 G4bool isThisEAOK =
false;
352 if ( std::abs ( edif ) <
epse )
376 if ( jfrc == ifrc && std::abs( edif0 ) < std::abs( edif ) )
409 ebinal = ( totalPotentialE + ekinal ) /
double (
GetMassNumber() );
413 if ( isThisEAOK ==
false )
continue;
421 if ( isThisOK ==
false )
423 G4cout <<
"GroundStateNucleus state cannot be created. Try again with another parameters." <<
G4endl;
451 G4int icounter_max = 1024;
455 if ( icounter > icounter_max ) {
456 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
462 G4int jcounter_max = 1024;
466 if ( jcounter > jcounter_max ) {
467 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
473 rsqr = rx*rx + ry*ry + rz*rz;
475 rrr =
radm * std::sqrt ( rsqr );
492 for (
G4int j = 0 ; j < i ; j++ )
516 if ( isThisOK ==
true )
543 pfm = pfm * ( 1.0 + 0.2 * std::sqrt( std::abs( 8.0 +
ebini ) / 8.0 ) );
548 std::vector< G4double > phase;
564 G4int icounter_max = 1024;
568 if ( icounter > icounter_max ) {
569 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
579 G4int jcounter_max = 1024;
583 if ( jcounter > jcounter_max ) {
584 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
591 psqr = px*px + py*py + pz*pz;
603 if ( tkdb_i >
maxTrial )
return result;
624 for (
G4int j = 0 ; j < i ; j++ )
640 dist2_p = dist2_p*
cph;
641 expa = expa - dist2_p;
646 phase[j] =
G4Exp ( expa );
648 if ( phase[j] *
cpc > 0.2 )
670 phase[i] += phase[j];
671 if ( phase[i] *
cpc > 0.3 )
704 if ( isThisOK ==
true )
709 for (
int j = 0 ; j < i ; j++ )
748 rcm_tmp = rcm_tmp/sumMass;
766 for (
G4int i = 0 ; i < 3 ; i++ )
768 for (
G4int j = 0 ; j < 3 ; j++ )
786 rr[0][0] += r.
y() * r.
y() + r.
z() * r.
z();
787 rr[1][0] += - r.
y() * r.
x();
788 rr[2][0] += - r.
z() * r.
x();
789 rr[0][1] += - r.
x() * r.
y();
790 rr[1][1] += r.
z() * r.
z() + r.
x() * r.
x();
791 rr[2][1] += - r.
z() * r.
y();
792 rr[2][0] += - r.
x() * r.
z();
793 rr[2][1] += - r.
y() * r.
z();
794 rr[2][2] += r.
x() * r.
x() + r.
y() * r.
y();
797 for (
G4int i = 0 ; i < 3 ; i++ )
800 for (
G4int j = 0 ; j < 3 ; j++ )
802 rr[i][j] = rr[i][j] /
x;
803 ss[i][j] = ss[i][j] /
x;
805 for (
G4int j = 0 ; j < 3 ; j++ )
810 for (
G4int k = 0 ; k < 3 ; k++ )
812 rr[j][k] += -y * rr[i][k];
813 ss[j][k] += -y * ss[i][k];
826 for (
G4int i = 0 ; i < 3 ; i++ )
830 for (
G4int j = 0 ; j < 3 ; j++ )
832 opl[i] += ss[i][j]*rll[j];
842 p_i += ri.
cross(opl_v);
static G4Pow * GetInstance()
G4double GetRHA(G4int i, G4int j)
std::vector< G4double > rho_l
void killCMMotionAndAngularM()
void SetParticipant(G4QMDParticipant *particle)
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector GetFFr(G4int i)
void Cal2BodyQuantities()
G4GLOB_DLL std::ostream G4cout
Hep3Vector cross(const Hep3Vector &) const
static G4QMDParameters * GetInstance()
G4bool samplingMomentum(G4int)
static G4Proton * Proton()
static G4Neutron * Neutron()
G4double GetTotalPotential()
std::vector< G4QMDParticipant *> participants
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double GetRHE(G4int i, G4int j)
G4bool samplingPosition(G4int)
G4double A13(G4double A) const
static G4double GetBindingEnergy(const G4int A, const G4int Z)
G4double GetRR2(G4int i, G4int j)
double diff2(const Hep3Vector &v) const
void SetSystem(G4QMDSystem *aSystem)
G4ThreeVector GetFFp(G4int i)
std::vector< G4double > d_pot
G4double powA(G4double A, G4double y) const
G4QMDMeanField * meanfield
G4QMDGroundStateNucleus()
std::vector< G4double > phase_g