Geant4 11.2.2
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 if(penetrationModel == "Meesungnoen2002")
265 {
267 }
268 if(penetrationModel == "Meesungnoen2002_amorphous")
269 {
271 }
272 if(penetrationModel == "Kreipl2009")
273 {
274 return new G4TDNAOneStepThermalizationModel<DNA::Penetration::Kreipl2009>(G4Electron::Definition(), modelNamePrefix + penetrationModel);
275 }
276 if(penetrationModel == "Ritchie1994")
277 {
278 return new G4TDNAOneStepThermalizationModel<DNA::Penetration::Ritchie1994>(G4Electron::Definition(), modelNamePrefix + penetrationModel);
279 }
280
281 G4ExceptionDescription description;
282 description << penetrationModel + " is not a valid model name.";
283 G4Exception("G4DNASolvationModelFactory::Create",
284 "INVALID_ARGUMENT",
286 description,
287 "Options are: Terrisol1990, Meesungnoen2002, Ritchie1994.");
288 return nullptr;
289}
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
static G4Electron * Definition()
Definition G4Electron.cc:45

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 292 of file G4DNAOneStepThermalizationModel.cc.

293{
294 auto dnaSubType = G4EmParameters::Instance()->DNAeSolvationSubType();
295
296 switch(dnaSubType)
297 {
299 return Create("Ritchie1994");
301 return Create("Terrisol1990");
303 return Create("Kreipl2009");
305 return Create("Meesungnoen2002_amorphous");
307 case fDNAUnknownModel:
308 return Create("Meesungnoen2002");
309 default:
310 G4Exception("G4DNASolvationModelFactory::GetMacroDefinedModel",
311 "DnaSubType",
313 "The solvation parameter stored in G4EmParameters is unknown. Supported types are: fRitchie1994eSolvation, fTerrisol1990eSolvation, fMeesungnoen2002eSolvation.");
314 }
315
316 return nullptr;
317}
@ 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: