Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -70,6 +70,8 @@
|
||||
|
||||
#include "G4VMultiFragmentation.hh"
|
||||
#include "G4VFermiBreakUp.hh"
|
||||
#include "G4Element.hh"
|
||||
#include "G4ElementTable.hh"
|
||||
|
||||
#include "G4VEvaporation.hh"
|
||||
#include "G4VEvaporationChannel.hh"
|
||||
@@ -111,7 +113,6 @@ G4ExcitationHandler::G4ExcitationHandler()
|
||||
|
||||
G4ExcitationHandler::~G4ExcitationHandler()
|
||||
{
|
||||
//G4cout << "### Delete handler " << this << G4endl;
|
||||
delete theMultiFragmentation;
|
||||
delete theFermiModel;
|
||||
if(isEvapLocal) { delete theEvaporation; }
|
||||
@@ -119,17 +120,26 @@ G4ExcitationHandler::~G4ExcitationHandler()
|
||||
|
||||
void G4ExcitationHandler::SetParameters()
|
||||
{
|
||||
if(fVerbose > 1) {
|
||||
G4cout << "G4ExcitationHandler::SetParameters() started " << this << G4endl;
|
||||
}
|
||||
auto param = G4NuclearLevelData::GetInstance()->GetParameters();
|
||||
G4NuclearLevelData* ndata = G4NuclearLevelData::GetInstance();
|
||||
auto param = ndata->GetParameters();
|
||||
isActive = true;
|
||||
if(fDummy == param->GetDeexChannelsType()) { isActive = false; }
|
||||
// check if de-excitation is needed
|
||||
if(fDummy == param->GetDeexChannelsType()) {
|
||||
isActive = false;
|
||||
} else {
|
||||
// upload data for elements used in geometry
|
||||
G4int Zmax = 20;
|
||||
const G4ElementTable* table = G4Element::GetElementTable();
|
||||
for(auto & elm : *table) { Zmax = std::max(Zmax, elm->GetZasInt()); }
|
||||
ndata->UploadNuclearLevelData(Zmax+1);
|
||||
}
|
||||
minEForMultiFrag = param->GetMinExPerNucleounForMF();
|
||||
minExcitation = param->GetMinExcitation();
|
||||
maxExcitation = param->GetPrecoHighEnergy();
|
||||
icID = param->GetInternalConversionID();
|
||||
fVerbose = param->GetVerbose();
|
||||
|
||||
// allowing local debug printout
|
||||
fVerbose = std::max(fVerbose, param->GetVerbose());
|
||||
if(isActive) {
|
||||
if(!thePhotonEvaporation) { SetPhotonEvaporation(new G4PhotonEvaporation()); }
|
||||
if(!theEvaporation) {
|
||||
@@ -139,6 +149,9 @@ void G4ExcitationHandler::SetParameters()
|
||||
if(!theMultiFragmentation) { SetMultiFragmentation(new G4StatMF()); }
|
||||
}
|
||||
theFermiModel->SetVerbose(fVerbose);
|
||||
if(fVerbose > 1) {
|
||||
G4cout << "G4ExcitationHandler::SetParameters() done " << this << G4endl;
|
||||
}
|
||||
}
|
||||
|
||||
void G4ExcitationHandler::Initialise()
|
||||
@@ -155,7 +168,8 @@ void G4ExcitationHandler::Initialise()
|
||||
theFermiModel->Initialise();
|
||||
theEvaporation->InitialiseChannels();
|
||||
}
|
||||
if(fVerbose > 0) { param->Dump(); }
|
||||
// dump level is controlled by parameter class
|
||||
param->Dump();
|
||||
}
|
||||
|
||||
void G4ExcitationHandler::SetEvaporation(G4VEvaporation* ptr, G4bool flag)
|
||||
|
||||
Reference in New Issue
Block a user