32#ifndef G4DNAMODELINTERFACE_HH
33#define G4DNAMODELINTERFACE_HH
42using MaterialParticleModelTable =
43 std::map<std::size_t , std::map<const G4ParticleDefinition*, G4VEmModel*>>;
120 void BuildMaterialMolPerVolTable();
143 G4double GetNumMolPerVolUnitForComponentInComposite(
148 std::vector<G4VEmModel*> fRegisteredModels;
150 std::map<std::size_t, G4double> fMaterialCS;
154 std::size_t fSampledMat = 0;
155 MaterialParticleModelTable fMaterialParticleModelTable;
156 std::map<std::size_t, const std::vector<G4double>*> fMaterialMolPerVol;
std::size_t GetSelectedMaterial()
GetSelectedMaterial To allow the user to retrieve the selected material in case of a composite materi...
void StreamInfo(std::ostream &os) const
void SampleSecondaries(std::vector< G4DynamicParticle * > *fVect, const G4MaterialCutsCouple *couple, const G4DynamicParticle *aDynamicElectron, G4double tmin, G4double tmax) override
SampleSecondaries Used to call the SampleSecondaries method of the registered models....
G4DNAModelInterface & operator=(const G4DNAModelInterface &right)=delete
G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax) override
CrossSectionPerVolume Method called by the process and used to call the CrossSectionPerVolume method ...
G4DNAModelInterface(const G4DNAModelInterface &)=delete
void RegisterModel(G4VEmModel *model)
RegisterModel Method used to associate a model with the interaction.
void Initialise(const G4ParticleDefinition *particle, const G4DataVector &cuts) override
Initialise Initialise method to call all the initialise methods of the registered models.
~G4DNAModelInterface() override=default
~G4DNAModelManager Destructor
G4DNAModelInterface(const G4String &nam)
G4DNAModelManager Constructor.