Import Geant4 10.4.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2017-06-30 10:49:55 +02:00
parent 3a5407696b
commit 1a1316fea4
2180 changed files with 237880 additions and 59109 deletions
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4ExcitationHandler.cc 102726 2017-02-20 13:15:29Z gcosmo $
// $Id: G4ExcitationHandler.cc 104780 2017-06-16 09:23:03Z gcosmo $
//
// Hadronic Process: Nuclear De-excitations
// by V. Lara (May 1998)
@@ -69,6 +69,7 @@
#include "G4ParticleTable.hh"
#include "G4ParticleTypes.hh"
#include "G4Ions.hh"
#include "G4Electron.hh"
#include "G4VMultiFragmentation.hh"
#include "G4VFermiBreakUp.hh"
@@ -76,8 +77,8 @@
#include "G4VEvaporation.hh"
#include "G4VEvaporationChannel.hh"
#include "G4Evaporation.hh"
#include "G4PhotonEvaporation.hh"
#include "G4StatMF.hh"
#include "G4FermiBreakUp.hh"
#include "G4FermiBreakUpVI.hh"
#include "G4NuclearLevelData.hh"
#include "G4Pow.hh"
@@ -98,7 +99,10 @@ G4ExcitationHandler::G4ExcitationHandler()
results.reserve(30);
theEvapList.reserve(30);
thePhotoEvapList.reserve(10);
SetParameters();
electron = G4Electron::Electron();
if(fVerbose > 0) { G4cout << "### New handler " << this << G4endl; }
}
@@ -116,8 +120,12 @@ void G4ExcitationHandler::SetParameters()
G4NuclearLevelData::GetInstance()->GetParameters();
minEForMultiFrag = param->GetMinExPerNucleounForMF();
minExcitation = param->GetMinExcitation();
if(!theFermiModel) { theFermiModel = new G4FermiBreakUpVI(); }
theEvaporation->SetFermiBreakUp(theFermiModel);
icID = param->GetInternalConversionID();
if(!thePhotonEvaporation) {
SetPhotonEvaporation(new G4PhotonEvaporation());
}
if(!theFermiModel) { SetFermiModel(new G4FermiBreakUpVI()); }
if(!theMultiFragmentation) { SetMultiFragmentation(new G4StatMF()); }
}
void G4ExcitationHandler::Initialise()
@@ -126,12 +134,13 @@ void G4ExcitationHandler::Initialise()
if(fVerbose > 0) {
G4cout << "G4ExcitationHandler::Initialise() started " << this << G4endl;
}
G4NuclearLevelData::GetInstance()->GetParameters()->Dump();
G4DeexPrecoParameters* param =
G4NuclearLevelData::GetInstance()->GetParameters();
isInitialised = true;
SetParameters();
theMultiFragmentation = new G4StatMF();
theFermiModel->Initialise();
theEvaporation->InitialiseChannels();
param->Dump();
if(G4Threading::IsMasterThread()) {
G4cout << "Number of de-excitation channels "
<< theEvaporation->GetNumberOfChannels();
@@ -423,7 +432,12 @@ G4ExcitationHandler::BreakItUp(const G4Fragment & theInitialState)
kkmax = theResults.size();
for (kk=0; kk<kkmax; ++kk) {
frag = theResults[kk];
if(fVerbose > 1) { G4cout << *frag << G4endl; }
if(fVerbose > 1) {
G4cout << kk << "-th fragment " << frag;
if(frag->GetNuclearPolarization()) { G4cout << " " << frag->GetNuclearPolarization(); }
G4cout << G4endl;
G4cout << *frag << G4endl;
}
theFragmentA = frag->GetA_asInt();
theFragmentZ = frag->GetZ_asInt();
@@ -456,10 +470,10 @@ G4ExcitationHandler::BreakItUp(const G4Fragment & theInitialState)
theKindOfFragment = theTableOfIons->GetIon(theFragmentZ,theFragmentA,eexc,
G4Ions::FloatLevelBase(idxf));
if(fVerbose > 2) {
if(fVerbose > 1) {
G4cout << "### EXCH: Find ion Z= " << theFragmentZ << " A= " << theFragmentA
<< " Eexc(MeV)= " << eexc/MeV << " " << theKindOfFragment
<< G4endl;
<< " Eexc(MeV)= " << eexc/MeV << " idx= " << idxf
<< " " << theKindOfFragment << G4endl;
}
}
// fragment identified
@@ -468,6 +482,7 @@ G4ExcitationHandler::BreakItUp(const G4Fragment & theInitialState)
theNew->SetMomentum(frag->GetMomentum().vect());
theNew->SetTotalEnergy(etot);
theNew->SetFormationTime(frag->GetCreationTime());
if(theKindOfFragment == electron) { theNew->SetCreatorModel(icID); }
theReactionProductVector->push_back(theNew);
// fragment not found out ground state is created
@@ -495,6 +510,7 @@ G4ExcitationHandler::BreakItUp(const G4Fragment & theInitialState)
}
}
delete frag;
if(fVerbose > 1) { G4cout << "G4Fragment #" << kk << " is deleted" << G4endl; }
}
if(fVerbose > 2) {
G4cout << "@@@@@@@@@@ End G4Excitation Handler "<< G4endl;