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

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

+ Inheritance diagram for G4DNADummyModel:
+ Collaboration diagram for G4DNADummyModel:

Public Member Functions

 G4DNADummyModel (const G4String &applyToMaterial, const G4ParticleDefinition *p, const G4String &nam, G4VEmModel *emModel)
 
 ~G4DNADummyModel ()
 
virtual void Initialise (const G4ParticleDefinition *particle, const G4DataVector &=*(new G4DataVector()), G4ParticleChangeForGamma *changeForGamme=nullptr)
 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)
 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, G4double tmax)
 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.
 
const G4VEmModelGetEmModel () const
 
G4VEmModelGetEmModel ()
 
- 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 Member Functions

G4double GetNumMoleculePerVolumeUnitForMaterial (const G4Material *mat)
 

Private Attributes

G4VEmModelfpEmModel
 
const G4ParticleDefinitionfpParticleDef
 
const std::vector< double > * fMaterialMolPerVol
 

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

Definition at line 40 of file G4DNADummyModel.hh.

View newest version in sPHENIX GitHub at line 40 of file G4DNADummyModel.hh

Constructor & Destructor Documentation

G4DNADummyModel::G4DNADummyModel ( const G4String applyToMaterial,
const G4ParticleDefinition p,
const G4String nam,
G4VEmModel emModel 
)

Definition at line 35 of file G4DNADummyModel.cc.

View newest version in sPHENIX GitHub at line 35 of file G4DNADummyModel.cc

References fpEmModel, and fpParticleDef.

G4DNADummyModel::~G4DNADummyModel ( )

Definition at line 42 of file G4DNADummyModel.cc.

View newest version in sPHENIX GitHub at line 42 of file G4DNADummyModel.cc

Member Function Documentation

G4double G4DNADummyModel::CrossSectionPerVolume ( const G4Material material,
const G4String materialName,
const G4ParticleDefinition p,
G4double  ekin,
G4double  emin,
G4double  emax 
)
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.

Parameters
material
materialName
p
ekin
emin
emax
Returns
crossSection*numberOfMoleculesPerVolumeUnit

Implements G4VDNAModel.

Definition at line 61 of file G4DNADummyModel.cc.

View newest version in sPHENIX GitHub at line 61 of file G4DNADummyModel.cc

References G4VEmModel::CrossSectionPerVolume(), fpEmModel, G4Material::GetMaterial(), and GetNumMoleculePerVolumeUnitForMaterial().

+ Here is the call graph for this function:

const G4VEmModel* G4DNADummyModel::GetEmModel ( ) const
inline

Definition at line 66 of file G4DNADummyModel.hh.

View newest version in sPHENIX GitHub at line 66 of file G4DNADummyModel.hh

References fpEmModel.

G4VEmModel* G4DNADummyModel::GetEmModel ( )
inline

Definition at line 67 of file G4DNADummyModel.hh.

View newest version in sPHENIX GitHub at line 67 of file G4DNADummyModel.hh

References fpEmModel.

G4double G4DNADummyModel::GetNumMoleculePerVolumeUnitForMaterial ( const G4Material mat)
private

Definition at line 74 of file G4DNADummyModel.cc.

View newest version in sPHENIX GitHub at line 74 of file G4DNADummyModel.cc

References fMaterialMolPerVol, and G4Material::GetIndex().

Referenced by CrossSectionPerVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Initialise Each model must implement an Initialize method.

Parameters
particle
cuts

Implements G4VDNAModel.

Definition at line 48 of file G4DNADummyModel.cc.

View newest version in sPHENIX GitHub at line 48 of file G4DNADummyModel.cc

References G4VDNAModel::EnableForMaterialAndParticle(), fMaterialMolPerVol, fpEmModel, fpParticleDef, G4Material::GetMaterial(), G4DNAMolecularMaterial::GetNumMolPerVolTableFor(), G4ParticleDefinition::GetParticleName(), G4VEmModel::HighEnergyLimit(), G4VEmModel::Initialise(), G4DNAMolecularMaterial::Instance(), G4VEmModel::LowEnergyLimit(), G4VDNAModel::SetHighELimit(), G4VDNAModel::SetLowELimit(), and G4VEmModel::SetParticleChange().

+ Here is the call graph for this function:

void G4DNADummyModel::SampleSecondaries ( std::vector< G4DynamicParticle * > *  ,
const G4MaterialCutsCouple ,
const G4String materialName,
const G4DynamicParticle ,
G4ParticleChangeForGamma particleChangeForGamma,
G4double  tmin,
G4double  tmax 
)
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.

Parameters
materialName
particleChangeForGamma
tmin
tmax

Implements G4VDNAModel.

Definition at line 69 of file G4DNADummyModel.cc.

View newest version in sPHENIX GitHub at line 69 of file G4DNADummyModel.cc

References fpEmModel, and G4VEmModel::SampleSecondaries().

+ Here is the call graph for this function:

Member Data Documentation

const std::vector<double>* G4DNADummyModel::fMaterialMolPerVol
private

Definition at line 72 of file G4DNADummyModel.hh.

View newest version in sPHENIX GitHub at line 72 of file G4DNADummyModel.hh

Referenced by GetNumMoleculePerVolumeUnitForMaterial(), and Initialise().

G4VEmModel* G4DNADummyModel::fpEmModel
private

Definition at line 70 of file G4DNADummyModel.hh.

View newest version in sPHENIX GitHub at line 70 of file G4DNADummyModel.hh

Referenced by CrossSectionPerVolume(), G4DNADummyModel(), GetEmModel(), Initialise(), and SampleSecondaries().

const G4ParticleDefinition* G4DNADummyModel::fpParticleDef
private

Definition at line 71 of file G4DNADummyModel.hh.

View newest version in sPHENIX GitHub at line 71 of file G4DNADummyModel.hh

Referenced by G4DNADummyModel(), and Initialise().


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