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;
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);
G4bool samplingMomentum(G4int)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
std::vector< G4double > d_pot
CLHEP::Hep3Vector G4ThreeVector
std::vector< ExP01TrackerHit * > a
G4double A13(G4double A) const
G4double GetTotalPotential()
G4double GetRR2(G4int i, G4int j)
std::vector< G4double > phase_g
G4bool samplingPosition(G4int)
double diff2(const Hep3Vector &v) const
static G4Proton * Proton()
std::vector< G4double > rho_l
G4double GetRHE(G4int i, G4int j)
G4QMDMeanField * meanfield
static G4double GetBindingEnergy(const G4int A, const G4int Z)
static G4Pow * GetInstance()
G4QMDGroundStateNucleus()
G4double powA(G4double A, G4double y) const
void killCMMotionAndAngularM()
Hep3Vector cross(const Hep3Vector &) const
G4double G4ParticleHPJENDLHEData::G4double result
void SetParticipant(G4QMDParticipant *particle)
G4ThreeVector GetFFp(G4int i)
static G4Neutron * Neutron()
void SetSystem(G4QMDSystem *aSystem)
std::vector< G4QMDParticipant * > participants
G4GLOB_DLL std::ostream G4cout
G4ThreeVector GetFFr(G4int i)
static constexpr double pi
void Cal2BodyQuantities()
static G4QMDParameters * GetInstance()
G4double GetRHA(G4int i, G4int j)