Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4DNAVacuumModel Class Reference

The G4DNAVacuumModel class Implementation of the vacuum model allowing the user to use G4_Galactic as void in a Geant4-DNA simulation. More...

#include <G4DNAVacuumModel.hh>

+ Inheritance diagram for G4DNAVacuumModel:

Public Member Functions

 G4DNAVacuumModel (const G4String &applyToMaterial="all", const G4ParticleDefinition *p=0, const G4String &nam="DNAPTBVacuumModel")
 G4DNAVacuumModel Constructor.
 
virtual ~G4DNAVacuumModel ()
 ~G4DNAVacuumModel Destructor
 
virtual void Initialise (const G4ParticleDefinition *, const G4DataVector &= *(new G4DataVector()), G4ParticleChangeForGamma *fpChangeForGamme=nullptr)
 Initialise Registers the G4_Galactic material as "void material" for every particle.
 
virtual G4double CrossSectionPerVolume (const G4Material *material, const G4String &materialName, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
 CrossSectionPerVolume.
 
virtual void SampleSecondaries (std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4String &materialName, const G4DynamicParticle *, G4ParticleChangeForGamma *particleChangeForGamma, G4double tmin, G4double tmax)
 SampleSecondaries.
 
- 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
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 G4DNAVacuumModel class Implementation of the vacuum model allowing the user to use G4_Galactic as void in a Geant4-DNA simulation.

Definition at line 46 of file G4DNAVacuumModel.hh.

Constructor & Destructor Documentation

◆ G4DNAVacuumModel()

G4DNAVacuumModel::G4DNAVacuumModel ( const G4String applyToMaterial = "all",
const G4ParticleDefinition p = 0,
const G4String nam = "DNAPTBVacuumModel" 
)

G4DNAVacuumModel Constructor.

Parameters
applyToMaterial
p
nam

Definition at line 33 of file G4DNAVacuumModel.cc.

35 : G4VDNAModel(nam, applyToMaterial)
36{
37 verboseLevel = 0;
38
39 if( verboseLevel>0 )
40 {
41 G4cout << "G4DNAVacuumModel is constructed " << G4endl;
42 }
43}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
The G4VDNAModel class.
Definition: G4VDNAModel.hh:50

◆ ~G4DNAVacuumModel()

G4DNAVacuumModel::~G4DNAVacuumModel ( )
virtual

~G4DNAVacuumModel Destructor

Definition at line 47 of file G4DNAVacuumModel.cc.

48{
49 if (verboseLevel > 3)
50 G4cout << "Calling G4DNAVacuumModel::Initialise()" << G4endl;
51
52}

Member Function Documentation

◆ CrossSectionPerVolume()

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

CrossSectionPerVolume.

Parameters
material
materialName
p
ekin
emin
emax
Returns
cross section value

Implements G4VDNAModel.

Definition at line 68 of file G4DNAVacuumModel.cc.

74{
75 if (verboseLevel > 3)
76 G4cout << "Calling CrossSectionPerVolume() of G4DNAVacuumModel" << G4endl;
77
78 return 0;
79}

◆ Initialise()

void G4DNAVacuumModel::Initialise ( const G4ParticleDefinition particle,
const G4DataVector = *(new G4DataVector()),
G4ParticleChangeForGamma fpChangeForGamme = nullptr 
)
virtual

Initialise Registers the G4_Galactic material as "void material" for every particle.

Implements G4VDNAModel.

Definition at line 56 of file G4DNAVacuumModel.cc.

58{
59
60 if (verboseLevel > 3)
61 G4cout << "Calling G4DNAVacuumModel::Initialise()" << G4endl;
62
63 EnableForMaterialAndParticle("G4_Galactic", particle->GetParticleName() );
64}
const G4String & GetParticleName() const
void EnableForMaterialAndParticle(const G4String &materialName, const G4String &particleName)
EnableMaterialAndParticle.
Definition: G4VDNAModel.cc:134

◆ SampleSecondaries()

void G4DNAVacuumModel::SampleSecondaries ( std::vector< G4DynamicParticle * > *  ,
const G4MaterialCutsCouple ,
const G4String materialName,
const G4DynamicParticle ,
G4ParticleChangeForGamma particleChangeForGamma,
G4double  tmin,
G4double  tmax 
)
virtual

SampleSecondaries.

Parameters
materialName
particleChangeForGamma
tmin
tmax

Implements G4VDNAModel.

Definition at line 83 of file G4DNAVacuumModel.cc.

90{
91
92 if (verboseLevel > 3)
93 G4cout << "Calling SampleSecondaries() of G4DNAVacuumModel" << G4endl;
94
95}

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