The G4VDNAModel class. 더 자세히 ...
#include <G4VDNAModel.hh>
Public 멤버 함수 | |
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. 더 자세히 ... | |
Protected 타입 | |
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 멤버 함수 | |
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. 더 자세히 ... | |
Private 속성 | |
const G4String | fStringOfMaterials |
fStringOfMaterials The user can decide to specify by hand which are the materials the be activated among those implemented in the model. If the user does then only the specified materials contained in this string variable will be activated. The string is like: mat1/mat2/mat3/mat4 더 자세히 ... | |
TableMapData | fTableData |
fTableData It contains the cross section data and can be used like: dataTable=fTableData[material][particle] 더 자세히 ... | |
std::vector< G4String > | fModelMaterials |
List the materials that can be activated (and will be by default) within the model. 더 자세히 ... | |
std::vector< G4String > | fModelParticles |
List the particles that can be activated within the model. 더 자세히 ... | |
std::vector< G4String > | fModelCSFiles |
List the cross section data files. 더 자세히 ... | |
std::vector< G4String > | fModelDiffCSFiles |
List the differential corss section data files. 더 자세히 ... | |
std::vector< G4double > | fModelScaleFactors |
List the model scale factors (they could change with material) 더 자세히 ... | |
std::map< G4String, std::map < G4String, G4double > > | fLowEnergyLimits |
List the low energy limits. 더 자세히 ... | |
std::map< G4String, std::map < G4String, G4double > > | fHighEnergyLimits |
List the high energy limits. 더 자세히 ... | |
G4String | fName |
model name 더 자세히 ... | |
The G4VDNAModel class.
All the models using the DNA material management should inherit from that class. The goal is to allow the use of the material management system with little code interferences within the model classes.
G4VDNAModel.hh 파일의 49 번째 라인에서 정의되었습니다.
|
protected |
G4VDNAModel.hh 파일의 185 번째 라인에서 정의되었습니다.
|
protected |
G4VDNAModel.hh 파일의 184 번째 라인에서 정의되었습니다.
|
protected |
G4VDNAModel.hh 파일의 183 번째 라인에서 정의되었습니다.
G4VDNAModel Constructeur of the G4VDNAModel class.
nam | |
applyToMaterial |
G4VDNAModel.cc 파일의 35 번째 라인에서 정의되었습니다.
|
virtual |
|
protected |
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.
materialName | |
particleName | |
fileCS | |
fileDiffCS | |
scaleFactor |
G4VDNAModel.cc 파일의 58 번째 라인에서 정의되었습니다.
다음을 참조함 : fModelCSFiles, fModelDiffCSFiles, fModelMaterials, fModelParticles, fModelScaleFactors.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::Initialise(), G4DNAPTBElasticModel::Initialise(), G4DNAPTBIonisationModel::Initialise().
|
protected |
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.
materialName | |
particleName | |
fileCS | |
scaleFactor |
G4VDNAModel.cc 파일의 67 번째 라인에서 정의되었습니다.
다음을 참조함 : fModelCSFiles, fModelMaterials, fModelParticles, fModelScaleFactors.
BuildApplyToMatVect Build the material name vector which is used to know the materials the user want to include in the model.
materials |
G4VDNAModel.cc 파일의 139 번째 라인에서 정의되었습니다.
다음을 참조함 : mat.
다음에 의해서 참조됨 : LoadCrossSectionData().
|
pure virtual |
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.
material | |
materialName | |
p | |
ekin | |
emin | |
emax |
G4DNAPTBIonisationModel, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAVacuumModel, G4DNADummyModel에서 구현되었습니다.
다음에 의해서 참조됨 : G4DNAModelInterface::CrossSectionPerVolume().
|
protected |
EnableMaterialAndParticle.
materialName | |
particleName | Meant to fill fTableData with 0 for the specified material and particle, therefore allowing the ModelInterface class to proceed with the material and particle even if no data are registered here. The data should obviously be registered somewhere in the child class. This method is here to allow an easy use of the no-ModelInterface dna models within the ModelInterface system. |
G4VDNAModel.cc 파일의 134 번째 라인에서 정의되었습니다.
다음을 참조함 : fTableData.
다음에 의해서 참조됨 : G4DNADummyModel::Initialise(), G4DNAVacuumModel::Initialise().
GetHighEnergyLimit.
material | |
particle |
G4VDNAModel.hh 파일의 153 번째 라인에서 정의되었습니다.
다음을 참조함 : fHighEnergyLimits.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::CrossSectionPerVolume(), G4DNAPTBElasticModel::CrossSectionPerVolume(), G4DNAPTBIonisationModel::CrossSectionPerVolume(), G4DNAPTBElasticModel::SampleSecondaries(), G4DNAPTBIonisationModel::SampleSecondaries().
GetLowEnergyLimit.
material | |
particle |
G4VDNAModel.hh 파일의 161 번째 라인에서 정의되었습니다.
다음을 참조함 : fLowEnergyLimits.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::CrossSectionPerVolume(), G4DNAPTBElasticModel::CrossSectionPerVolume(), G4DNAPTBIonisationModel::CrossSectionPerVolume(), G4DNAPTBElasticModel::SampleSecondaries(), G4DNAPTBIonisationModel::SampleSecondaries().
GetName.
G4VDNAModel.hh 파일의 145 번째 라인에서 정의되었습니다.
다음을 참조함 : fName.
다음에 의해서 참조됨 : IsMaterialDefine().
|
inlineprotected |
GetTableData.
G4VDNAModel.hh 파일의 193 번째 라인에서 정의되었습니다.
다음을 참조함 : fTableData.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::CrossSectionPerVolume(), G4DNAPTBElasticModel::CrossSectionPerVolume(), G4DNAPTBIonisationModel::CrossSectionPerVolume(), RandomSelectShell().
|
pure virtual |
Initialise Each model must implement an Initialize method.
particle | |
cuts |
G4DNAPTBIonisationModel, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAVacuumModel, G4DNADummyModel에서 구현되었습니다.
IsMaterialDefine Check if the given material is defined in the simulation.
materialName |
G4VDNAModel.cc 파일의 237 번째 라인에서 정의되었습니다.
다음을 참조함 : G4Material::GetMaterialTable(), GetName().
IsMaterialExistingInModel Check if the given material is defined in the current model class.
materialName |
G4VDNAModel.cc 파일의 257 번째 라인에서 정의되었습니다.
다음을 참조함 : fTableData.
다음에 의해서 참조됨 : IsParticleExistingInModelForMaterial().
G4bool G4VDNAModel::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 ?
particleName | |
materialName |
G4VDNAModel.cc 파일의 271 번째 라인에서 정의되었습니다.
다음을 참조함 : fTableData, IsMaterialExistingInModel().
LoadCrossSectionData Method to loop on all the registered materials in the model and load the corresponding data.
G4VDNAModel.cc 파일의 75 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildApplyToMatVect(), FatalException, fModelCSFiles, fModelDiffCSFiles, fModelMaterials, fModelParticles, fModelScaleFactors, fStringOfMaterials, G4Exception(), ReadAndSaveCSFile(), ReadDiffCSFile().
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::Initialise(), G4DNAPTBElasticModel::Initialise(), G4DNAPTBIonisationModel::Initialise().
|
protected |
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.
k | |
particle | |
materialName |
G4VDNAModel.cc 파일의 182 번째 라인에서 정의되었습니다.
다음을 참조함 : FatalException, G4VEMDataSet::FindValue(), G4Exception(), G4UniformRand, G4DNACrossSectionDataSet::GetComponent(), GetTableData(), n, G4DNACrossSectionDataSet::NumberOfComponents(), pos.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::SampleSecondaries(), G4DNAPTBIonisationModel::SampleSecondaries().
|
protected |
ReadAndSaveCSFile Read and save a "simple" cross section file : use of G4DNACrossSectionDataSet->loadData()
materialName | |
particleName | |
file | |
scaleFactor |
G4VDNAModel.cc 파일의 174 번째 라인에서 정의되었습니다.
다음을 참조함 : eV, fTableData.
다음에 의해서 참조됨 : LoadCrossSectionData().
|
protectedvirtual |
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.
materialName | |
particleName | |
path | |
scaleFactor |
G4DNAPTBIonisationModel, G4DNAPTBElasticModel에서 재구현되었습니다.
G4VDNAModel.cc 파일의 126 번째 라인에서 정의되었습니다.
다음을 참조함 : FatalException, G4Exception().
다음에 의해서 참조됨 : LoadCrossSectionData().
|
pure virtual |
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.
materialName | |
particleChangeForGamma | |
tmin | |
tmax |
G4DNAPTBIonisationModel, G4DNAPTBElasticModel, G4DNAPTBExcitationModel, G4DNAVacuumModel, G4DNADummyModel에서 구현되었습니다.
다음에 의해서 참조됨 : G4DNAModelInterface::SampleSecondaries().
|
inline |
SetHighEnergyLimit.
material | |
particle | |
lim |
G4VDNAModel.hh 파일의 169 번째 라인에서 정의되었습니다.
다음을 참조함 : fHighEnergyLimits.
다음에 의해서 참조됨 : G4DNADummyModel::Initialise(), G4DNAPTBExcitationModel::Initialise(), G4DNAPTBElasticModel::Initialise(), G4DNAPTBIonisationModel::Initialise().
|
inline |
SetLowEnergyLimit.
material | |
particle | |
lim |
G4VDNAModel.hh 파일의 177 번째 라인에서 정의되었습니다.
다음을 참조함 : fLowEnergyLimits.
다음에 의해서 참조됨 : G4DNADummyModel::Initialise(), G4DNAPTBExcitationModel::Initialise(), G4DNAPTBElasticModel::Initialise(), G4DNAPTBIonisationModel::Initialise().
List the high energy limits.
G4VDNAModel.hh 파일의 301 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : GetHighELimit(), SetHighELimit().
List the low energy limits.
G4VDNAModel.hh 파일의 300 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : GetLowELimit(), SetLowELimit().
|
private |
List the cross section data files.
G4VDNAModel.hh 파일의 296 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddCrossSectionData(), LoadCrossSectionData().
|
private |
List the differential corss section data files.
G4VDNAModel.hh 파일의 297 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddCrossSectionData(), LoadCrossSectionData().
|
private |
List the materials that can be activated (and will be by default) within the model.
G4VDNAModel.hh 파일의 294 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddCrossSectionData(), LoadCrossSectionData().
|
private |
List the particles that can be activated within the model.
G4VDNAModel.hh 파일의 295 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddCrossSectionData(), LoadCrossSectionData().
|
private |
List the model scale factors (they could change with material)
G4VDNAModel.hh 파일의 298 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AddCrossSectionData(), LoadCrossSectionData().
|
private |
|
private |
fStringOfMaterials The user can decide to specify by hand which are the materials the be activated among those implemented in the model. If the user does then only the specified materials contained in this string variable will be activated. The string is like: mat1/mat2/mat3/mat4
G4VDNAModel.hh 파일의 286 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : LoadCrossSectionData().
|
private |
fTableData It contains the cross section data and can be used like: dataTable=fTableData[material][particle]
G4VDNAModel.hh 파일의 292 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : EnableForMaterialAndParticle(), GetTableData(), IsMaterialExistingInModel(), IsParticleExistingInModelForMaterial(), ReadAndSaveCSFile(), ~G4VDNAModel().