Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
|
The G4DNAPTBExcitationModel class This class implements the PTB excitation model. More...
#include <G4DNAPTBExcitationModel.hh>
Public Member Functions | |
G4DNAPTBExcitationModel (const G4String &applyToMaterial="all", const G4ParticleDefinition *p=0, const G4String &nam="DNAPTBExcitationModel") | |
G4DNAPTBExcitationModel Constructor. | |
virtual | ~G4DNAPTBExcitationModel () |
~G4DNAPTBExcitationModel Destructor | |
virtual void | Initialise (const G4ParticleDefinition *particle, const G4DataVector &= *(new G4DataVector()), G4ParticleChangeForGamma *fpChangeForGamme=nullptr) |
Initialise Set the materials for which the model can be used and defined the energy limits. | |
virtual G4double | CrossSectionPerVolume (const G4Material *material, const G4String &materialName, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) |
CrossSectionPerVolume Retrieve the cross section corresponding to the current material, particle and energy. | |
virtual void | SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4String &materialName, const G4DynamicParticle *, G4ParticleChangeForGamma *particleChangeForGamma, G4double tmin, G4double tmax) |
SampleSecondaries If the model is selected for the ModelInterface then the SampleSecondaries method will be called. The method sets the incident particle characteristics after the ModelInterface. | |
Public Member Functions inherited from G4VDNAModel | |
G4VDNAModel (const G4String &nam, const G4String &applyToMaterial) | |
G4VDNAModel Constructeur of the G4VDNAModel class. | |
virtual | ~G4VDNAModel () |
~G4VDNAModel | |
virtual void | Initialise (const G4ParticleDefinition *particle, const G4DataVector &cuts, G4ParticleChangeForGamma *fpChangeForGamme=nullptr)=0 |
Initialise Each model must implement an Initialize method. | |
virtual G4double | CrossSectionPerVolume (const G4Material *material, const G4String &materialName, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)=0 |
CrossSectionPerVolume Every model must implement its own CrossSectionPerVolume method. It is used by the process to determine the step path and must return a cross section times a number of molecules per volume unit. | |
virtual void | SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4String &materialName, const G4DynamicParticle *, G4ParticleChangeForGamma *particleChangeForGamma, G4double tmin=0, G4double tmax=DBL_MAX)=0 |
SampleSecondaries Each model must implement SampleSecondaries to decide if a particle will be created after the ModelInterface or if any charateristic of the incident particle will change. | |
G4bool | IsMaterialDefine (const G4String &materialName) |
IsMaterialDefine Check if the given material is defined in the simulation. | |
G4bool | IsMaterialExistingInModel (const G4String &materialName) |
IsMaterialExistingInModel Check if the given material is defined in the current model class. | |
G4bool | IsParticleExistingInModelForMaterial (const G4String &particleName, const G4String &materialName) |
IsParticleExistingInModelForMaterial To check two things: 1- is the material existing in model ? 2- if yes, is the particle defined for that material ? | |
G4String | GetName () |
GetName. | |
G4double | GetHighELimit (const G4String &material, const G4String &particle) |
GetHighEnergyLimit. | |
G4double | GetLowELimit (const G4String &material, const G4String &particle) |
GetLowEnergyLimit. | |
void | SetHighELimit (const G4String &material, const G4String &particle, G4double lim) |
SetHighEnergyLimit. | |
void | SetLowELimit (const G4String &material, const G4String &particle, G4double lim) |
SetLowEnergyLimit. | |
Additional Inherited Members | |
Protected Types inherited from G4VDNAModel | |
typedef std::map< G4String, std::map< G4String, G4DNACrossSectionDataSet *, std::less< G4String > > > | TableMapData |
typedef std::map< G4String, std::map< G4String, G4double > > | RatioMapData |
typedef std::map< G4String, G4double >::const_iterator | ItCompoMapData |
Protected Member Functions inherited from G4VDNAModel | |
TableMapData * | GetTableData () |
GetTableData. | |
std::vector< G4String > | BuildApplyToMatVect (const G4String &materials) |
BuildApplyToMatVect Build the material name vector which is used to know the materials the user want to include in the model. | |
void | ReadAndSaveCSFile (const G4String &materialName, const G4String &particleName, const G4String &file, G4double scaleFactor) |
ReadAndSaveCSFile Read and save a "simple" cross section file : use of G4DNACrossSectionDataSet->loadData() | |
G4int | RandomSelectShell (G4double k, const G4String &particle, const G4String &materialName) |
RandomSelectShell Method to randomely select a shell from the data table uploaded. The size of the table (number of columns) is used to determine the total number of possible shells. | |
void | AddCrossSectionData (G4String materialName, G4String particleName, G4String fileCS, G4String fileDiffCS, G4double scaleFactor) |
AddCrossSectionData Method used during the initialization of the model class to add a new material. It adds a material to the model and fills vectors with informations. | |
void | AddCrossSectionData (G4String materialName, G4String particleName, G4String fileCS, G4double scaleFactor) |
AddCrossSectionData Method used during the initialization of the model class to add a new material. It adds a material to the model and fills vectors with informations. Not every model needs differential cross sections. | |
void | LoadCrossSectionData (const G4String &particleName) |
LoadCrossSectionData Method to loop on all the registered materials in the model and load the corresponding data. | |
virtual void | ReadDiffCSFile (const G4String &materialName, const G4String &particleName, const G4String &path, const G4double scaleFactor) |
ReadDiffCSFile Virtual method that need to be implemented if one wish to use the differential cross sections. The read method for that kind of information is not standardized yet. | |
void | EnableForMaterialAndParticle (const G4String &materialName, const G4String &particleName) |
EnableMaterialAndParticle. | |
The G4DNAPTBExcitationModel class This class implements the PTB excitation model.
Definition at line 53 of file G4DNAPTBExcitationModel.hh.
G4DNAPTBExcitationModel::G4DNAPTBExcitationModel | ( | const G4String & | applyToMaterial = "all" , |
const G4ParticleDefinition * | p = 0 , |
||
const G4String & | nam = "DNAPTBExcitationModel" |
||
) |
G4DNAPTBExcitationModel Constructor.
applyToMaterial | |
p | |
nam |
Definition at line 36 of file G4DNAPTBExcitationModel.cc.
|
virtual |
~G4DNAPTBExcitationModel Destructor
Definition at line 62 of file G4DNAPTBExcitationModel.cc.
|
virtual |
CrossSectionPerVolume Retrieve the cross section corresponding to the current material, particle and energy.
material | |
materialName | |
p | |
ekin | |
emin | |
emax |
Implements G4VDNAModel.
Definition at line 195 of file G4DNAPTBExcitationModel.cc.
|
virtual |
Initialise Set the materials for which the model can be used and defined the energy limits.
Implements G4VDNAModel.
Definition at line 69 of file G4DNAPTBExcitationModel.cc.
|
virtual |
SampleSecondaries If the model is selected for the ModelInterface then the SampleSecondaries method will be called. The method sets the incident particle characteristics after the ModelInterface.
materialName | |
particleChangeForGamma | |
tmin | |
tmax |
Implements G4VDNAModel.
Definition at line 245 of file G4DNAPTBExcitationModel.cc.