Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DNASolvationModelFactory Class Reference

#include <G4DNAOneStepThermalizationModel.hh>

Static Public Member Functions

static G4VEmModelCreate (const G4String &penetrationModel)
 
static G4VEmModelGetMacroDefinedModel ()
 One step thermalization model can be chosen via macro using /process/dna/e-SolvationSubType Ritchie1994.
 

Detailed Description

Definition at line 192 of file G4DNAOneStepThermalizationModel.hh.

Member Function Documentation

◆ Create()

G4VEmModel * G4DNASolvationModelFactory::Create ( const G4String penetrationModel)
static
Parameters
penetrationTypeAvailable options: Meesungnoen2002, Terrisol1990, Ritchie1994

Definition at line 256 of file G4DNAOneStepThermalizationModel.cc.

257{
258 G4String modelNamePrefix("DNAOneStepThermalizationModel_");
259
260 if(penetrationModel == "Terrisol1990")
261 {
263 }
264 else if(penetrationModel == "Meesungnoen2002")
265 {
267 }
268 else if(penetrationModel == "Meesungnoen2002_amorphous")
269 {
271 }
272 else if(penetrationModel == "Kreipl2009")
273 {
274 return new G4TDNAOneStepThermalizationModel<DNA::Penetration::Kreipl2009>(G4Electron::Definition(), modelNamePrefix + penetrationModel);
275 }
276 else if(penetrationModel == "Ritchie1994")
277 {
278 return new G4TDNAOneStepThermalizationModel<DNA::Penetration::Ritchie1994>(G4Electron::Definition(), modelNamePrefix + penetrationModel);
279 }
280 else
281 {
282 G4ExceptionDescription description;
283 description << penetrationModel + " is not a valid model name.";
284 G4Exception("G4DNASolvationModelFactory::Create",
285 "INVALID_ARGUMENT",
287 description,
288 "Options are: Terrisol1990, Meesungnoen2002, Ritchie1994.");
289 }
290 return nullptr;
291}
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:59
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
static G4Electron * Definition()
Definition: G4Electron.cc:48

Referenced by GetMacroDefinedModel().

◆ GetMacroDefinedModel()

G4VEmModel * G4DNASolvationModelFactory::GetMacroDefinedModel ( )
static

One step thermalization model can be chosen via macro using /process/dna/e-SolvationSubType Ritchie1994.

Returns
Create the model defined via the command macro /process/dna/e-SolvationSubType In case the command is unused, it returns the default model set in G4EmParameters.

Definition at line 294 of file G4DNAOneStepThermalizationModel.cc.

295{
296 auto dnaSubType = G4EmParameters::Instance()->DNAeSolvationSubType();
297
298 switch(dnaSubType)
299 {
301 return Create("Ritchie1994");
303 return Create("Terrisol1990");
305 return Create("Kreipl2009");
307 return Create("Meesungnoen2002_amorphous");
309 case fDNAUnknownModel:
310 return Create("Meesungnoen2002");
311 default:
312 G4Exception("G4DNASolvationModelFactory::GetMacroDefinedModel",
313 "DnaSubType",
315 "The solvation parameter stored in G4EmParameters is unknown. Supported types are: fRitchie1994eSolvation, fTerrisol1990eSolvation, fMeesungnoen2002eSolvation.");
316 }
317
318 return nullptr;
319}
@ fMeesungnoen2002eSolvation
@ fKreipl2009eSolvation
@ fDNAUnknownModel
@ fMeesungnoensolid2002eSolvation
@ fRitchie1994eSolvation
@ fTerrisol1990eSolvation
static G4VEmModel * Create(const G4String &penetrationModel)
static G4EmParameters * Instance()
G4DNAModelSubType DNAeSolvationSubType() const

Referenced by G4EmDNABuilder::ConstructDNAElectronPhysics(), and G4DNAElectronSolvation::InitialiseProcess().


The documentation for this class was generated from the following files: