ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
The G4DNAPTBExcitationModel class This class implements the PTB excitation model. More...
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 | |
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. | |
Private Types | |
typedef std::map< G4String, G4double, std::less< G4String > > | MapMeanEnergy |
Private Member Functions | |
G4DNAPTBExcitationModel (const G4DNAPTBExcitationModel &) | |
G4DNAPTBExcitationModel & | operator= (const G4DNAPTBExcitationModel &right) |
Private Attributes | |
G4int | verboseLevel |
verbose level | |
G4DNAWaterExcitationStructure | waterStructure |
MapMeanEnergy | tableMeanEnergyPTB |
map: [materialName]=energyValue | |
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 50 of file G4DNAPTBExcitationModel.hh.
View newest version in sPHENIX GitHub at line 50 of file G4DNAPTBExcitationModel.hh
|
private |
Definition at line 120 of file G4DNAPTBExcitationModel.hh.
View newest version in sPHENIX GitHub at line 120 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.
View newest version in sPHENIX GitHub at line 36 of file G4DNAPTBExcitationModel.cc
References eV, G4cout, G4endl, tableMeanEnergyPTB, and verboseLevel.
|
virtual |
~G4DNAPTBExcitationModel Destructor
Definition at line 62 of file G4DNAPTBExcitationModel.cc.
View newest version in sPHENIX GitHub at line 62 of file G4DNAPTBExcitationModel.cc
|
private |
|
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 186 of file G4DNAPTBExcitationModel.cc.
View newest version in sPHENIX GitHub at line 186 of file G4DNAPTBExcitationModel.cc
References cm, eV, G4cout, G4endl, G4VDNAModel::GetHighELimit(), G4VDNAModel::GetLowELimit(), G4ParticleDefinition::GetParticleName(), G4VDNAModel::GetTableData(), and verboseLevel.
|
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.
View newest version in sPHENIX GitHub at line 69 of file G4DNAPTBExcitationModel.cc
References G4VDNAModel::AddCrossSectionData(), cm, e, G4Electron::ElectronDefinition(), eV, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), keV, G4VDNAModel::LoadCrossSectionData(), m, G4VDNAModel::SetHighELimit(), G4VDNAModel::SetLowELimit(), and verboseLevel.
|
private |
|
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 236 of file G4DNAPTBExcitationModel.cc.
View newest version in sPHENIX GitHub at line 236 of file G4DNAPTBExcitationModel.cc
References G4DNAChemistryManager::CreateWaterMolecule(), eExcitedMolecule, G4DNAWaterExcitationStructure::ExcitationEnergy(), G4cout, G4endl, G4ParticleChangeForGamma::GetCurrentTrack(), G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetMomentumDirection(), G4ParticleDefinition::GetParticleName(), G4DNAChemistryManager::Instance(), k, G4VParticleChange::ProposeLocalEnergyDeposit(), G4ParticleChangeForGamma::ProposeMomentumDirection(), G4VDNAModel::RandomSelectShell(), G4ParticleChangeForGamma::SetProposedKineticEnergy(), tableMeanEnergyPTB, verboseLevel, and waterStructure.
|
private |
map: [materialName]=energyValue
Definition at line 121 of file G4DNAPTBExcitationModel.hh.
View newest version in sPHENIX GitHub at line 121 of file G4DNAPTBExcitationModel.hh
Referenced by G4DNAPTBExcitationModel(), and SampleSecondaries().
|
private |
verbose level
Definition at line 116 of file G4DNAPTBExcitationModel.hh.
View newest version in sPHENIX GitHub at line 116 of file G4DNAPTBExcitationModel.hh
Referenced by CrossSectionPerVolume(), G4DNAPTBExcitationModel(), Initialise(), and SampleSecondaries().
|
private |
Definition at line 118 of file G4DNAPTBExcitationModel.hh.
View newest version in sPHENIX GitHub at line 118 of file G4DNAPTBExcitationModel.hh
Referenced by SampleSecondaries().