Import Geant4 10.5.0 source tree
This commit is contained in:
@@ -23,7 +23,6 @@
|
||||
// * acceptance of all terms of the Geant4 Software license. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: G4EmParametersMessenger.cc 66241 2012-12-13 18:34:42Z gunter $
|
||||
//
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
@@ -52,6 +51,7 @@
|
||||
#include "G4UIcmdWithADouble.hh"
|
||||
#include "G4UIcmdWithADoubleAndUnit.hh"
|
||||
#include "G4UIcmdWithAString.hh"
|
||||
#include "G4UIcmdWith3VectorAndUnit.hh"
|
||||
#include "G4UImanager.hh"
|
||||
#include "G4MscStepLimitType.hh"
|
||||
#include "G4NuclearFormfactorType.hh"
|
||||
@@ -213,12 +213,24 @@ G4EmParametersMessenger::G4EmParametersMessenger(G4EmParameters* ptr)
|
||||
dnamscCmd->SetDefaultValue(false);
|
||||
dnamscCmd->AvailableForStates(G4State_PreInit);
|
||||
|
||||
sharkCmd = new G4UIcmdWithABool("/process/em/UseGammaShark",this);
|
||||
sharkCmd->SetGuidance("Enable gamma super-process");
|
||||
sharkCmd->SetParameterName("shark",true);
|
||||
sharkCmd = new G4UIcmdWithABool("/process/em/UseGeneralProcess",this);
|
||||
sharkCmd->SetGuidance("Enable gamma, e+- general process");
|
||||
sharkCmd->SetParameterName("gen",true);
|
||||
sharkCmd->SetDefaultValue(false);
|
||||
sharkCmd->AvailableForStates(G4State_PreInit);
|
||||
|
||||
sampleTCmd = new G4UIcmdWithABool("/process/em/enableSamplingTable",this);
|
||||
sampleTCmd->SetGuidance("Enable usage of sampling table for secondary generation");
|
||||
sampleTCmd->SetParameterName("sampleT",true);
|
||||
sampleTCmd->SetDefaultValue(false);
|
||||
sampleTCmd->AvailableForStates(G4State_PreInit);
|
||||
|
||||
icru90Cmd = new G4UIcmdWithABool("/process/eLoss/UseICRU90",this);
|
||||
icru90Cmd->SetGuidance("Enable usage of ICRU90 stopping powers");
|
||||
icru90Cmd->SetParameterName("icru90",true);
|
||||
icru90Cmd->SetDefaultValue(false);
|
||||
icru90Cmd->AvailableForStates(G4State_PreInit);
|
||||
|
||||
minSubSecCmd = new G4UIcmdWithADouble("/process/eLoss/minsubsec",this);
|
||||
minSubSecCmd->SetGuidance("Set the ratio subcut/cut ");
|
||||
minSubSecCmd->SetParameterName("rcmin",true);
|
||||
@@ -407,6 +419,7 @@ G4EmParametersMessenger::G4EmParametersMessenger(G4EmParameters* ptr)
|
||||
|
||||
G4UIparameter* ptype = new G4UIparameter("type",'s',false);
|
||||
paiCmd->SetParameter(ptype);
|
||||
ptype->SetParameterCandidates("pai PAI PAIphoton");
|
||||
|
||||
meCmd = new G4UIcmdWithAString("/process/em/AddMicroElecRegion",this);
|
||||
meCmd->SetGuidance("Activate MicroElec model in the G4Region");
|
||||
@@ -424,11 +437,12 @@ G4EmParametersMessenger::G4EmParametersMessenger(G4EmParameters* ptr)
|
||||
|
||||
G4UIparameter* type = new G4UIparameter("dnaType",'s',false);
|
||||
dnaCmd->SetParameter(type);
|
||||
type->SetParameterCandidates("DNA_Opt0");
|
||||
|
||||
mscoCmd = new G4UIcommand("/process/em/AddEmRegion",this);
|
||||
mscoCmd->SetGuidance("Add optional EM configuration for a G4Region.");
|
||||
mscoCmd->SetGuidance(" regName : G4Region name");
|
||||
mscoCmd->SetGuidance(" mscType : G4EmStandard, G4EmStandard_opt1, ...");
|
||||
mscoCmd->SetGuidance(" regName : G4Region name");
|
||||
mscoCmd->SetGuidance(" emType : G4EmStandard, G4EmStandard_opt1, ...");
|
||||
mscoCmd->AvailableForStates(G4State_PreInit);
|
||||
|
||||
G4UIparameter* mregName = new G4UIparameter("regName",'s',false);
|
||||
@@ -436,6 +450,7 @@ G4EmParametersMessenger::G4EmParametersMessenger(G4EmParameters* ptr)
|
||||
|
||||
G4UIparameter* mtype = new G4UIparameter("mscType",'s',false);
|
||||
mscoCmd->SetParameter(mtype);
|
||||
mtype->SetParameterCandidates("G4EmStandard G4EmStandard_opt1 G4EmStandard_opt2 G4EmStandard_opt3 G4EmStandard_opt4 G4EmStandardGS G4EmStandardSS G4EmLivermore G4EmPenelope G4RadioactiveDecay");
|
||||
|
||||
dumpCmd = new G4UIcommand("/process/em/printParameters",this);
|
||||
dumpCmd->SetGuidance("Print all EM parameters.");
|
||||
@@ -572,6 +587,18 @@ G4EmParametersMessenger::G4EmParametersMessenger(G4EmParameters* ptr)
|
||||
G4UIparameter* bUnit = new G4UIparameter("bUnit",'s',true);
|
||||
bsCmd->SetParameter(bUnit);
|
||||
|
||||
dirSplitCmd = new G4UIcmdWithABool("/process/em/setDirectionalSplitting",this);
|
||||
dirSplitCmd->SetGuidance("Enable directional brem splitting");
|
||||
dirSplitCmd->AvailableForStates(G4State_Idle,G4State_Idle);
|
||||
|
||||
dirSplitTargetCmd = new G4UIcmdWith3VectorAndUnit("/process/em/setDirectionalSplittingTarget",this);
|
||||
dirSplitTargetCmd->SetGuidance("Position of arget for directional splitting");
|
||||
dirSplitTargetCmd->AvailableForStates(G4State_Idle,G4State_Idle);
|
||||
|
||||
dirSplitRadiusCmd = new G4UIcmdWithADoubleAndUnit("/process/em/setDirectionalSplittingRadius",this);
|
||||
dirSplitRadiusCmd->SetGuidance("Radius of target for directional splitting");
|
||||
dirSplitRadiusCmd->AvailableForStates(G4State_Idle,G4State_Idle);
|
||||
|
||||
nffCmd = new G4UIcmdWithAString("/process/em/setNuclearFormFactor",this);
|
||||
nffCmd->SetGuidance("Define typy of nuclear form-factor");
|
||||
nffCmd->SetParameterName("NucFF",true);
|
||||
@@ -631,6 +658,8 @@ G4EmParametersMessenger::~G4EmParametersMessenger()
|
||||
delete dnasCmd;
|
||||
delete dnamscCmd;
|
||||
delete sharkCmd;
|
||||
delete sampleTCmd;
|
||||
delete icru90Cmd;
|
||||
|
||||
delete minSubSecCmd;
|
||||
delete minEnCmd;
|
||||
@@ -678,6 +707,9 @@ G4EmParametersMessenger::~G4EmParametersMessenger()
|
||||
delete bfCmd;
|
||||
delete fiCmd;
|
||||
delete bsCmd;
|
||||
delete dirSplitCmd;
|
||||
delete dirSplitTargetCmd;
|
||||
delete dirSplitRadiusCmd;
|
||||
delete nffCmd;
|
||||
|
||||
delete onIsolatedCmd;
|
||||
@@ -744,12 +776,14 @@ void G4EmParametersMessenger::SetNewValue(G4UIcommand* command,
|
||||
theParameters->SetUseMottCorrection(mottCmd->GetNewBoolValue(newValue));
|
||||
} else if (command == birksCmd) {
|
||||
theParameters->SetBirksActive(birksCmd->GetNewBoolValue(newValue));
|
||||
} else if (command == icru90Cmd) {
|
||||
theParameters->SetUseICRU90Data(icru90Cmd->GetNewBoolValue(newValue));
|
||||
} else if (command == dnafCmd) {
|
||||
theParameters->SetDNAFast(dnafCmd->GetNewBoolValue(newValue));
|
||||
} else if (command == dnasCmd) {
|
||||
theParameters->SetDNAStationary(dnasCmd->GetNewBoolValue(newValue));
|
||||
} else if (command == dnamscCmd) {
|
||||
theParameters->SetBirksActive(dnamscCmd->GetNewBoolValue(newValue));
|
||||
theParameters->SetDNAElectronMsc(dnamscCmd->GetNewBoolValue(newValue));
|
||||
} else if (command == dnaSolCmd) {
|
||||
G4DNAModelSubType ttt = fDNAUnknownModel;
|
||||
if(newValue == "Ritchie1994") {
|
||||
@@ -761,7 +795,9 @@ void G4EmParametersMessenger::SetNewValue(G4UIcommand* command,
|
||||
}
|
||||
theParameters->SetDNAeSolvationSubType(ttt);
|
||||
} else if (command == sharkCmd) {
|
||||
theParameters->SetGammaSharkActive(sharkCmd->GetNewBoolValue(newValue));
|
||||
theParameters->SetGeneralProcessActive(sharkCmd->GetNewBoolValue(newValue));
|
||||
} else if (command == sampleTCmd) {
|
||||
theParameters->SetEnableSamplingTable(sampleTCmd->GetNewBoolValue(newValue));
|
||||
|
||||
} else if (command == minSubSecCmd) {
|
||||
theParameters->SetMinSubRange(minSubSecCmd->GetNewDoubleValue(newValue));
|
||||
@@ -930,6 +966,18 @@ void G4EmParametersMessenger::SetNewValue(G4UIcommand* command,
|
||||
en *= G4UIcommand::ValueOf(unt);
|
||||
theParameters->ActivateSecondaryBiasing(s1,s2,fb,en);
|
||||
physicsModified = true;
|
||||
} else if (command == dirSplitCmd) {
|
||||
theParameters->SetDirectionalSplitting(
|
||||
dirSplitCmd->GetNewBoolValue(newValue));
|
||||
physicsModified = true;
|
||||
} else if (command == dirSplitTargetCmd) {
|
||||
G4ThreeVector t = dirSplitTargetCmd->GetNew3VectorValue(newValue);
|
||||
theParameters->SetDirectionalSplittingTarget(t);
|
||||
physicsModified = true;
|
||||
} else if (command == dirSplitRadiusCmd) {
|
||||
G4double r = dirSplitRadiusCmd->GetNewDoubleValue(newValue);
|
||||
theParameters->SetDirectionalSplittingRadius(r);
|
||||
physicsModified = true;
|
||||
} else if (command == nffCmd) {
|
||||
G4NuclearFormfactorType x = fNoneNF;
|
||||
if(newValue == "Exponential") { x = fExponentialNF; }
|
||||
|
||||
Reference in New Issue
Block a user