ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4DNAPTBExcitationModel Class Reference

The G4DNAPTBExcitationModel class This class implements the PTB excitation model. More...

#include <geant4/tree/geant4-10.6-release/source/processes/electromagnetic/dna/models/include/G4DNAPTBExcitationModel.hh>

+ Inheritance diagram for G4DNAPTBExcitationModel:
+ Collaboration diagram for G4DNAPTBExcitationModel:

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 &)
 
G4DNAPTBExcitationModeloperator= (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
TableMapDataGetTableData ()
 GetTableData.
 
std::vector< G4StringBuildApplyToMatVect (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.
 

Detailed Description

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

Member Typedef Documentation

typedef std::map<G4String,G4double,std::less<G4String> > G4DNAPTBExcitationModel::MapMeanEnergy
private

Definition at line 120 of file G4DNAPTBExcitationModel.hh.

View newest version in sPHENIX GitHub at line 120 of file G4DNAPTBExcitationModel.hh

Constructor & Destructor Documentation

G4DNAPTBExcitationModel::G4DNAPTBExcitationModel ( const G4String applyToMaterial = "all",
const G4ParticleDefinition p = 0,
const G4String nam = "DNAPTBExcitationModel" 
)

G4DNAPTBExcitationModel Constructor.

Parameters
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.

G4DNAPTBExcitationModel::~G4DNAPTBExcitationModel ( )
virtual

~G4DNAPTBExcitationModel Destructor

Definition at line 62 of file G4DNAPTBExcitationModel.cc.

View newest version in sPHENIX GitHub at line 62 of file G4DNAPTBExcitationModel.cc

G4DNAPTBExcitationModel::G4DNAPTBExcitationModel ( const G4DNAPTBExcitationModel )
private

Member Function Documentation

G4double G4DNAPTBExcitationModel::CrossSectionPerVolume ( const G4Material material,
const G4String materialName,
const G4ParticleDefinition p,
G4double  ekin,
G4double  emin,
G4double  emax 
)
virtual

CrossSectionPerVolume Retrieve the cross section corresponding to the current material, particle and energy.

Parameters
material
materialName
p
ekin
emin
emax
Returns
the cross section value

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.

+ Here is the call graph for this function:

void G4DNAPTBExcitationModel::Initialise ( const G4ParticleDefinition particle,
const G4DataVector = *(new G4DataVector()),
G4ParticleChangeForGamma fpChangeForGamme = nullptr 
)
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.

+ Here is the call graph for this function:

G4DNAPTBExcitationModel& G4DNAPTBExcitationModel::operator= ( const G4DNAPTBExcitationModel right)
private
void G4DNAPTBExcitationModel::SampleSecondaries ( std::vector< G4DynamicParticle * > *  ,
const G4MaterialCutsCouple ,
const G4String materialName,
const G4DynamicParticle aDynamicParticle,
G4ParticleChangeForGamma particleChangeForGamma,
G4double  tmin,
G4double  tmax 
)
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.

Parameters
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.

+ Here is the call graph for this function:

Member Data Documentation

MapMeanEnergy G4DNAPTBExcitationModel::tableMeanEnergyPTB
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().

G4int G4DNAPTBExcitationModel::verboseLevel
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().

G4DNAWaterExcitationStructure G4DNAPTBExcitationModel::waterStructure
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().


The documentation for this class was generated from the following files: