The G4DNAPTBElasticModel class This class implements the elastic model for the DNA materials and precursors. 더 자세히 ...
#include <G4DNAPTBElasticModel.hh>
Public 멤버 함수 | |
G4DNAPTBElasticModel (const G4String &applyToMaterial="all", const G4ParticleDefinition *p=0, const G4String &nam="DNAPTBElasticModel") | |
G4DNAPTBElasticModel Constructor. 더 자세히 ... | |
virtual | ~G4DNAPTBElasticModel () |
~G4DNAPTBElasticModel Destructor 더 자세히 ... | |
virtual void | Initialise (const G4ParticleDefinition *particle, const G4DataVector &, G4ParticleChangeForGamma *fpChangeForGamme=nullptr) |
Initialise Mandatory method for every model class. The material/particle for which the model can be used have to be added here through the AddCrossSectionData method. Then the LoadCrossSectionData method must be called to trigger the load process. Scale factors to be applied to the cross section can be defined here. 더 자세히 ... | |
virtual G4double | CrossSectionPerVolume (const G4Material *material, const G4String &materialName, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) |
CrossSectionPerVolume This method is mandatory for any model class. It finds and return the cross section value for the current material, particle and energy values. The number of molecule per volume is not used here but in the G4DNAModelInterface class. 더 자세히 ... | |
virtual void | SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4String &materialName, const G4DynamicParticle *, G4ParticleChangeForGamma *particleChangeForGamma, G4double tmin, G4double tmax) |
SampleSecondaries Method called after CrossSectionPerVolume if the process is the one which is selected (according to the sampling on the calculated path length). Here, the characteristics of the incident and created (if any) particle(s) are set (energy, momentum ...). 더 자세히 ... | |
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. 더 자세히 ... | |
void | EnableForMaterialAndParticle (const G4String &materialName, const G4String &particleName) |
EnableMaterialAndParticle. 더 자세히 ... | |
Private 타입 | |
typedef std::map< G4String, std::map< G4String, std::map < double, std::map< double, double > > > > | TriDimensionMap |
typedef std::map< G4String, std::map< G4String, std::map < double, std::vector< double > > > > | VecMap |
Private 멤버 함수 | |
void | ReadDiffCSFile (const G4String &materialName, const G4String &particleName, const G4String &file, const G4double) |
ReadDiffCSFile Method to read the differential cross section files. This method is not standard yet so every model must implement its own. 더 자세히 ... | |
G4double | Theta (G4ParticleDefinition *fParticleDefinition, G4double k, G4double integrDiff, const G4String &materialName) |
Theta To return an angular theta value from the differential file. This method uses interpolations to calculate the theta value. 더 자세히 ... | |
G4double | LinLinInterpolate (G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2) |
LinLinInterpolate. 더 자세히 ... | |
G4double | LinLogInterpolate (G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2) |
LinLogInterpolate. 더 자세히 ... | |
G4double | LogLogInterpolate (G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2) |
LogLogInterpolate. 더 자세히 ... | |
G4double | QuadInterpolator (G4double e11, G4double e12, G4double e21, G4double e22, G4double x11, G4double x12, G4double x21, G4double x22, G4double t1, G4double t2, G4double t, G4double e) |
QuadInterpolator. 더 자세히 ... | |
G4double | RandomizeCosTheta (G4double k, const G4String &materialName) |
RandomizeCosTheta. 더 자세히 ... | |
G4DNAPTBElasticModel (G4DNAPTBElasticModel &) | |
G4DNAPTBElasticModel & | operator= (const G4DNAPTBElasticModel &right) |
Private 속성 | |
G4int | verboseLevel |
verbose level 더 자세히 ... | |
std::map< G4String, double > | killBelowEnergyTable |
map to save the different energy kill limits for the materials 더 자세히 ... | |
G4double | fKillBelowEnergy |
energy kill limit 더 자세히 ... | |
TriDimensionMap | diffCrossSectionData |
A map: [materialName][particleName]=DiffCrossSectionTable. 더 자세히 ... | |
VecMap | eValuesVect |
std::map< G4String, std::map < G4String, std::vector < double > > > | tValuesVec |
map with vectors containing all the incident (T) energy of the differential file 더 자세히 ... | |
The G4DNAPTBElasticModel class This class implements the elastic model for the DNA materials and precursors.
G4DNAPTBElasticModel.hh 파일의 48 번째 라인에서 정의되었습니다.
|
protectedinherited |
G4VDNAModel.hh 파일의 185 번째 라인에서 정의되었습니다.
|
protectedinherited |
G4VDNAModel.hh 파일의 184 번째 라인에서 정의되었습니다.
|
protectedinherited |
G4VDNAModel.hh 파일의 183 번째 라인에서 정의되었습니다.
|
private |
G4DNAPTBElasticModel.hh 파일의 125 번째 라인에서 정의되었습니다.
|
private |
G4DNAPTBElasticModel.hh 파일의 128 번째 라인에서 정의되었습니다.
G4DNAPTBElasticModel::G4DNAPTBElasticModel | ( | const G4String & | applyToMaterial = "all" , |
const G4ParticleDefinition * | p = 0 , |
||
const G4String & | nam = "DNAPTBElasticModel" |
||
) |
G4DNAPTBElasticModel Constructor.
applyToMaterial | |
p | |
nam |
G4DNAPTBElasticModel.cc 파일의 38 번째 라인에서 정의되었습니다.
다음을 참조함 : eV, fKillBelowEnergy, G4cout, G4endl, verboseLevel.
|
virtual |
~G4DNAPTBElasticModel Destructor
G4DNAPTBElasticModel.cc 파일의 60 번째 라인에서 정의되었습니다.
|
private |
|
protectedinherited |
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 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fModelCSFiles, G4VDNAModel::fModelDiffCSFiles, G4VDNAModel::fModelMaterials, G4VDNAModel::fModelParticles, G4VDNAModel::fModelScaleFactors.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::Initialise(), Initialise(), G4DNAPTBIonisationModel::Initialise().
|
protectedinherited |
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 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fModelCSFiles, G4VDNAModel::fModelMaterials, G4VDNAModel::fModelParticles, G4VDNAModel::fModelScaleFactors.
|
protectedinherited |
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.
다음에 의해서 참조됨 : G4VDNAModel::LoadCrossSectionData().
|
virtual |
CrossSectionPerVolume This method is mandatory for any model class. It finds and return the cross section value for the current material, particle and energy values. The number of molecule per volume is not used here but in the G4DNAModelInterface class.
material | |
materialName | |
p | |
ekin | |
emin | |
emax |
G4VDNAModel를 구현.
G4DNAPTBElasticModel.cc 파일의 295 번째 라인에서 정의되었습니다.
다음을 참조함 : cm, DBL_MAX, eV, fKillBelowEnergy, G4cout, G4endl, G4VDNAModel::GetHighELimit(), G4VDNAModel::GetLowELimit(), G4ParticleDefinition::GetParticleName(), G4VDNAModel::GetTableData(), verboseLevel.
|
protectedinherited |
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 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fTableData.
다음에 의해서 참조됨 : G4DNADummyModel::Initialise(), G4DNAVacuumModel::Initialise().
|
inlineinherited |
GetHighEnergyLimit.
material | |
particle |
G4VDNAModel.hh 파일의 153 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fHighEnergyLimits.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::CrossSectionPerVolume(), CrossSectionPerVolume(), G4DNAPTBIonisationModel::CrossSectionPerVolume(), SampleSecondaries(), G4DNAPTBIonisationModel::SampleSecondaries().
|
inlineinherited |
GetLowEnergyLimit.
material | |
particle |
G4VDNAModel.hh 파일의 161 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fLowEnergyLimits.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::CrossSectionPerVolume(), CrossSectionPerVolume(), G4DNAPTBIonisationModel::CrossSectionPerVolume(), SampleSecondaries(), G4DNAPTBIonisationModel::SampleSecondaries().
GetName.
G4VDNAModel.hh 파일의 145 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fName.
다음에 의해서 참조됨 : G4VDNAModel::IsMaterialDefine().
|
inlineprotectedinherited |
GetTableData.
G4VDNAModel.hh 파일의 193 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fTableData.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::CrossSectionPerVolume(), CrossSectionPerVolume(), G4DNAPTBIonisationModel::CrossSectionPerVolume(), G4VDNAModel::RandomSelectShell().
|
virtual |
Initialise Mandatory method for every model class. The material/particle for which the model can be used have to be added here through the AddCrossSectionData method. Then the LoadCrossSectionData method must be called to trigger the load process. Scale factors to be applied to the cross section can be defined here.
G4VDNAModel를 구현.
G4DNAPTBElasticModel.cc 파일의 67 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::AddCrossSectionData(), cm, e, G4Electron::ElectronDefinition(), eV, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), keV, G4VDNAModel::LoadCrossSectionData(), G4VDNAModel::SetHighELimit(), G4VDNAModel::SetLowELimit(), verboseLevel.
IsMaterialDefine Check if the given material is defined in the simulation.
materialName |
G4VDNAModel.cc 파일의 237 번째 라인에서 정의되었습니다.
다음을 참조함 : G4Material::GetMaterialTable(), G4VDNAModel::GetName().
IsMaterialExistingInModel Check if the given material is defined in the current model class.
materialName |
G4VDNAModel.cc 파일의 257 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fTableData.
다음에 의해서 참조됨 : G4VDNAModel::IsParticleExistingInModelForMaterial().
|
inherited |
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 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fTableData, G4VDNAModel::IsMaterialExistingInModel().
|
private |
LinLinInterpolate.
e1 | |
e2 | |
e | |
xs1 | |
xs2 |
G4DNAPTBElasticModel.cc 파일의 470 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : QuadInterpolator().
|
private |
LoadCrossSectionData Method to loop on all the registered materials in the model and load the corresponding data.
G4VDNAModel.cc 파일의 75 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::BuildApplyToMatVect(), FatalException, G4VDNAModel::fModelCSFiles, G4VDNAModel::fModelDiffCSFiles, G4VDNAModel::fModelMaterials, G4VDNAModel::fModelParticles, G4VDNAModel::fModelScaleFactors, G4VDNAModel::fStringOfMaterials, G4Exception(), G4VDNAModel::ReadAndSaveCSFile(), G4VDNAModel::ReadDiffCSFile().
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::Initialise(), Initialise(), G4DNAPTBIonisationModel::Initialise().
|
private |
LogLogInterpolate.
e1 | |
e2 | |
e | |
xs1 | |
xs2 |
G4DNAPTBElasticModel.cc 파일의 484 번째 라인에서 정의되었습니다.
다음을 참조함 : a.
|
private |
|
private |
QuadInterpolator.
e11 | |
e12 | |
e21 | |
e22 | |
x11 | |
x12 | |
x21 | |
x22 | |
t1 | |
t2 | |
t | |
e |
G4DNAPTBElasticModel.cc 파일의 499 번째 라인에서 정의되었습니다.
다음을 참조함 : LinLinInterpolate().
|
private |
RandomizeCosTheta.
k | |
materialName |
G4DNAPTBElasticModel.cc 파일의 529 번째 라인에서 정의되었습니다.
다음을 참조함 : G4Electron::ElectronDefinition(), eV, G4UniformRand, pi, Theta().
다음에 의해서 참조됨 : SampleSecondaries().
|
protectedinherited |
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(), G4VDNAModel::GetTableData(), n, G4DNACrossSectionDataSet::NumberOfComponents(), pos.
다음에 의해서 참조됨 : G4DNAPTBExcitationModel::SampleSecondaries(), G4DNAPTBIonisationModel::SampleSecondaries().
|
protectedinherited |
ReadAndSaveCSFile Read and save a "simple" cross section file : use of G4DNACrossSectionDataSet->loadData()
materialName | |
particleName | |
file | |
scaleFactor |
G4VDNAModel.cc 파일의 174 번째 라인에서 정의되었습니다.
다음을 참조함 : eV, G4VDNAModel::fTableData.
다음에 의해서 참조됨 : G4VDNAModel::LoadCrossSectionData().
|
privatevirtual |
ReadDiffCSFile Method to read the differential cross section files. This method is not standard yet so every model must implement its own.
materialName | |
particleName | |
file |
G4VDNAModel(으)로부터 재구현되었습니다.
G4DNAPTBElasticModel.cc 파일의 197 번째 라인에서 정의되었습니다.
다음을 참조함 : diffCrossSectionData, eValuesVect, FatalException, file, G4Exception(), tValuesVec.
|
virtual |
SampleSecondaries Method called after CrossSectionPerVolume if the process is the one which is selected (according to the sampling on the calculated path length). Here, the characteristics of the incident and created (if any) particle(s) are set (energy, momentum ...).
materialName | |
particleChangeForGamma | |
tmin | |
tmax |
G4VDNAModel를 구현.
G4DNAPTBElasticModel.cc 파일의 346 번째 라인에서 정의되었습니다.
다음을 참조함 : CLHEP::Hep3Vector::cross(), fKillBelowEnergy, fStopAndKill, G4cout, G4endl, G4UniformRand, G4VDNAModel::GetHighELimit(), G4DynamicParticle::GetKineticEnergy(), G4VDNAModel::GetLowELimit(), G4DynamicParticle::GetMomentumDirection(), G4DynamicParticle::GetParticleDefinition(), G4ParticleDefinition::GetParticleName(), CLHEP::Hep3Vector::orthogonal(), pi, G4VParticleChange::ProposeLocalEnergyDeposit(), G4ParticleChangeForGamma::ProposeMomentumDirection(), G4VParticleChange::ProposeTrackStatus(), RandomizeCosTheta(), G4ParticleChangeForGamma::SetProposedKineticEnergy(), CLHEP::Hep3Vector::unit(), verboseLevel.
|
inlineinherited |
SetHighEnergyLimit.
material | |
particle | |
lim |
G4VDNAModel.hh 파일의 169 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fHighEnergyLimits.
다음에 의해서 참조됨 : G4DNADummyModel::Initialise(), G4DNAPTBExcitationModel::Initialise(), Initialise(), G4DNAPTBIonisationModel::Initialise().
|
inlineinherited |
SetLowEnergyLimit.
material | |
particle | |
lim |
G4VDNAModel.hh 파일의 177 번째 라인에서 정의되었습니다.
다음을 참조함 : G4VDNAModel::fLowEnergyLimits.
다음에 의해서 참조됨 : G4DNADummyModel::Initialise(), G4DNAPTBExcitationModel::Initialise(), Initialise(), G4DNAPTBIonisationModel::Initialise().
|
private |
Theta To return an angular theta value from the differential file. This method uses interpolations to calculate the theta value.
fParticleDefinition | |
k | |
integrDiff | |
materialName |
G4DNAPTBElasticModel.cc 파일의 403 번째 라인에서 정의되었습니다.
다음을 참조함 : G4Electron::ElectronDefinition(), G4ParticleDefinition::GetParticleName(), t1, t2.
다음에 의해서 참조됨 : RandomizeCosTheta().
|
private |
A map: [materialName][particleName]=DiffCrossSectionTable.
G4DNAPTBElasticModel.hh 파일의 126 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ReadDiffCSFile().
|
private |
map with vectors containing all the output energy (E) of the differential file
G4DNAPTBElasticModel.hh 파일의 129 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ReadDiffCSFile().
|
private |
energy kill limit
G4DNAPTBElasticModel.hh 파일의 123 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : CrossSectionPerVolume(), G4DNAPTBElasticModel(), SampleSecondaries().
|
private |
map to save the different energy kill limits for the materials
G4DNAPTBElasticModel.hh 파일의 122 번째 라인에서 정의되었습니다.
|
private |
map with vectors containing all the incident (T) energy of the differential file
G4DNAPTBElasticModel.hh 파일의 130 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ReadDiffCSFile().
|
private |
verbose level
G4DNAPTBElasticModel.hh 파일의 121 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : CrossSectionPerVolume(), G4DNAPTBElasticModel(), Initialise(), SampleSecondaries().