454 std::vector<G4FermiConfiguration*>*
v =
new std::vector<G4FermiConfiguration*>;
455 if(Z >= maxZ || A >= maxA) {
return v; }
461 size_t nz = list2[A].size();
463 for(
size_t j=0; j<nz; ++j) {
474 nz = list3[A].size();
476 for(
size_t j=0; j<nz; ++j) {
487 nz = list4[A].size();
489 for(
size_t j=0; j<nz; ++j) {
503 G4cout<<
"Total number of configurations = "<<nconf<<
" for A= "
504 <<A<<
" Z= "<<Z<<
" E*= "<< ExEn<<
" MeV"<<
G4endl;
505 size_t size_vector_conf = v->size();
506 for(
size_t jc=0; jc<size_vector_conf; ++jc) {
507 std::vector<const G4VFermiFragment*> v_frag = (*v)[jc]->GetFragmentList();
508 size_t size_vector_fragments = v_frag.size();
509 G4cout<<size_vector_fragments<<
"-body configuration "<<jc+1<<
": ";
510 for(
size_t jf=0;jf<size_vector_fragments;++jf){
511 G4int af= v_frag[jf]->GetA();
512 G4int zf= v_frag[jf]->GetZ();
513 G4double ex=v_frag[jf]->GetExcitationEnergy();
514 G4cout<<
"(a="<<af<<
", z="<<zf<<
", ex="<<ex<<
") ";
517 G4cout<<
"-----------------------------------------------------"<<
G4endl;
524 nz = list1[A].size();
527 for(
size_t j=0; j<nz; ++j) {
538 G4cout<<
"Total number of configurations = "<<nconf<<
" for A= "
539 <<A<<
" Z= "<<Z<<
" E*= "<< ExEn<<
" MeV"<<
G4endl;
540 size_t size_vector_conf=v->size();
541 for(
size_t jc=0; jc<size_vector_conf; ++jc) {
542 std::vector<const G4VFermiFragment*> v_frag = (*v)[jc]->GetFragmentList();
543 size_t size_vector_fragments=v_frag.size();
544 G4cout<<
"1 Fragment configuration "<<jc+1<<
": ";
545 for(
size_t jf=0;jf<size_vector_fragments;++jf){
546 G4int af= v_frag[jf]->GetA();
547 G4int zf= v_frag[jf]->GetZ();
548 G4double ex=v_frag[jf]->GetExcitationEnergy();
549 G4cout<<
"(a="<<af<<
", z="<<zf<<
", ex="<<ex<<
") ";
552 G4cout<<
"-----------------------------------------------------"<<
G4endl;
565 nz = listextra.size();
567 for(
size_t j=0; j<nz; ++j) {
569 if(Z == conf->
GetZ() && A == conf->
GetA() &&
575 G4cout<<
"Total number of configurations = "<<nconf<<
" for A= "
576 <<A<<
" Z= "<<Z<<
" E*= "<< ExEn<<
" MeV"<<
G4endl;
577 size_t size_vector_conf=v->size();
578 for(
size_t jc=0; jc<size_vector_conf; ++jc) {
579 std::vector<const G4VFermiFragment*> v_frag = (*v)[jc]->GetFragmentList();
580 size_t size_vector_fragments=v_frag.size();
581 G4cout<<
"Found exotic configuration -> configuration "<<jc+1<<
": ";
582 for(
size_t jf=0;jf<size_vector_fragments;++jf){
583 G4int af= v_frag[jf]->GetA();
584 G4int zf= v_frag[jf]->GetZ();
585 G4double ex=v_frag[jf]->GetExcitationEnergy();
586 G4cout<<
"(a="<<af<<
", z="<<zf<<
", ex="<<ex<<
") ";
589 G4cout<<
"-----------------------------------------------------"<<
G4endl;
601 std::vector<const G4VFermiFragment*> newvec;
603 for(
G4int i=0; i<A; ++i) {
604 if(i == Z) { idx = 0; }
605 newvec.push_back(fragment_pool[idx]);
608 listextra.push_back(conf);
612 G4cout<<
"Total number of configurations = "<<nconf<<
G4endl;
614 G4cout<<
"Total number of configurations = "<<nconf<<
" for A= "
615 <<A<<
" Z= "<<Z<<
" E*= "<< ExEn<<
" MeV"<<
G4endl;
616 size_t size_vector_conf=v->size();
617 for(
size_t jc=0; jc<size_vector_conf; ++jc) {
618 std::vector<const G4VFermiFragment*> v_frag = (*v)[jc]->GetFragmentList();
619 size_t size_vector_fragments=v_frag.size();
620 G4cout<<
"New exotic configuration -> configuration "<<jc+1<<
": ";
621 for(
size_t jf=0;jf<size_vector_fragments;++jf){
622 G4int af= v_frag[jf]->GetA();
623 G4int zf= v_frag[jf]->GetZ();
624 G4double ex=v_frag[jf]->GetExcitationEnergy();
625 G4cout<<
"(a="<<af<<
", z="<<zf<<
", ex="<<ex<<
") ";
628 G4cout<<
"-----------------------------------------------------"<<
G4endl;
639 G4cout<<
"Total number of configurations = "<<nconf<<
G4endl;
641 G4cout<<
"Total number of configurations = "<<nconf<<
" for A= "
642 <<A<<
" Z= "<<Z<<
" E*= "<< ExEn<<
" MeV"<<
G4endl;
643 size_t size_vector_conf=v->size();
644 for(
size_t jc=0; jc<size_vector_conf; ++jc) {
645 std::vector<const G4VFermiFragment*> v_frag = (*v)[jc]->GetFragmentList();
646 size_t size_vector_fragments=v_frag.size();
647 G4cout<<
"Only evaporation is possible -> configuration "<<jc+1<<
": ";
648 for(
size_t jf=0;jf<size_vector_fragments;++jf){
649 G4int af= v_frag[jf]->GetA();
650 G4int zf= v_frag[jf]->GetZ();
651 G4double ex=v_frag[jf]->GetExcitationEnergy();
652 G4cout<<
"(a="<<af<<
", z="<<zf<<
", ex="<<ex<<
") ";
655 G4cout<<
"-----------------------------------------------------"<<
G4endl;
663 G4cout <<
"G4FermiFragmentsPool::GetConfigurationList: WARNING: not "
664 <<
"able decay fragment Z= " << Z <<
" A= " << A
static G4double GetNuclearMass(const G4double A, const G4double Z)
const std::vector< const G4VFermiFragment * > & GetFragmentList()
G4GLOB_DLL std::ostream G4cout