ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
Private Types | |
typedef std::map< const G4String,std::map< const G4String, std::vector < G4VDNAModel * > > > | MaterialParticleModelTable |
Private Member Functions | |
void | BuildMaterialParticleModelTable (const G4ParticleDefinition *p) |
BuildMaterialParticleModelTable Method used to build a map allowing the code to quickly retrieve the good model for a particle/material couple. | |
void | BuildMaterialMolPerVolTable () |
void | InsertModelInTable (const G4String &matName, const G4String &pName) |
InsertModelInTable Used to put a model in the table after performing some checks. | |
G4VDNAModel * | GetDNAModel (const G4String &material, const G4String &particle, G4double ekin) |
GetDNAModel. | |
G4double | GetNumMoleculePerVolumeUnitForMaterial (const G4Material *mat) |
G4double | GetNumMolPerVolUnitForComponentInComposite (const G4Material *component, const G4Material *composite) |
G4DNAModelInterface (const G4DNAModelInterface &) | |
G4DNAModelInterface & | operator= (const G4DNAModelInterface &right) |
Private Attributes | |
const G4String | fName |
name of the interaction | |
G4ParticleChangeForGamma * | fpParticleChangeForGamma |
pointer used to change the characteristics of the current particle | |
std::vector< G4VDNAModel * > | fRegisteredModels |
vector containing all the registered models | |
std::map< const G4String, G4double > | fMaterialCS |
map used to share information between CrossSectionPerVolume and SampleSecondaries | |
G4double | fCSsumTot |
value which contains the sum of all the component cross sections in case of a composite material | |
G4String | fSampledMat |
for the user to retrieve selected material/component | |
MaterialParticleModelTable | fMaterialParticleModelTable |
map: [materialName][particleName] = vector of models | |
std::map< G4String, const std::vector< double > * > | fMaterialMolPerVol |
Additional Inherited Members | |
Protected Member Functions inherited from G4VEmModel | |
G4ParticleChangeForLoss * | GetParticleChangeForLoss () |
G4ParticleChangeForGamma * | GetParticleChangeForGamma () |
virtual G4double | MaxSecondaryEnergy (const G4ParticleDefinition *, G4double kineticEnergy) |
const G4MaterialCutsCouple * | CurrentCouple () const |
void | SetCurrentElement (const G4Element *) |
Protected Attributes inherited from G4VEmModel | |
G4ElementData * | fElementData |
G4VParticleChange * | pParticleChange |
G4PhysicsTable * | xSectionTable |
const G4Material * | pBaseMaterial |
const std::vector< G4double > * | theDensityFactor |
const std::vector< G4int > * | theDensityIdx |
size_t | idxTable |
G4bool | lossFlucFlag |
G4double | inveplus |
G4double | pFactor |
Definition at line 45 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 45 of file G4DNAModelInterface.hh
|
private |
Definition at line 135 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 135 of file G4DNAModelInterface.hh
G4DNAModelInterface::G4DNAModelInterface | ( | const G4String & | nam | ) |
G4DNAModelManager Constructor.
nam |
Definition at line 37 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 37 of file G4DNAModelInterface.cc
|
virtual |
~G4DNAModelManager Destructor
Definition at line 45 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 45 of file G4DNAModelInterface.cc
References fRegisteredModels.
|
private |
|
private |
Definition at line 402 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 402 of file G4DNAModelInterface.cc
References G4String::first(), fMaterialMolPerVol, fMaterialParticleModelTable, G4Material::GetMaterialTable(), G4Material::GetName(), G4DNAMolecularMaterial::GetNumMolPerVolTableFor(), G4DNAMolecularMaterial::Initialize(), G4DNAMolecularMaterial::Instance(), and it.
Referenced by Initialise().
|
private |
BuildMaterialParticleModelTable Method used to build a map allowing the code to quickly retrieve the good model for a particle/material couple.
p |
Definition at line 330 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 330 of file G4DNAModelInterface.cc
References G4Material::GetMatComponents(), G4Material::GetMaterialTable(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), InsertModelInTable(), it, k, and mat.
Referenced by Initialise().
|
virtual |
CrossSectionPerVolume Method called by the process and used to call the CrossSectionPerVolume method of the registered models. The method also calculates through G4DNAMolecularMaterial the number of molecule per volume unit for the current material or (component of a composite material).
material | |
p | |
ekin | |
emin | |
emax |
Reimplemented from G4VEmModel.
Definition at line 84 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 84 of file G4DNAModelInterface.cc
References G4VDNAModel::CrossSectionPerVolume(), fCSsumTot, fMaterialCS, fSampledMat, GetDNAModel(), G4Material::GetMatComponents(), G4Material::GetName(), GetNumMoleculePerVolumeUnitForMaterial(), GetNumMolPerVolUnitForComponentInComposite(), G4ParticleDefinition::GetParticleName(), and it.
|
private |
GetDNAModel.
material | |
particle | |
ekin |
Definition at line 586 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 586 of file G4DNAModelInterface.cc
References fMaterialParticleModelTable, material(), and particle.
Referenced by CrossSectionPerVolume(), and SampleSecondaries().
|
private |
Definition at line 636 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 636 of file G4DNAModelInterface.cc
References fMaterialMolPerVol, G4Material::GetIndex(), and G4Material::GetName().
Referenced by CrossSectionPerVolume().
|
private |
Definition at line 643 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 643 of file G4DNAModelInterface.cc
References fMaterialMolPerVol, G4Material::GetIndex(), and G4Material::GetName().
Referenced by CrossSectionPerVolume().
|
inline |
GetSelectedMaterial To allow the user to retrieve the selected material in case of a composite material.
Definition at line 119 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 119 of file G4DNAModelInterface.hh
References fSampledMat.
|
virtual |
Initialise Initialise method to call all the initialise methods of the registered models.
particle | |
cuts |
Implements G4VEmModel.
Definition at line 56 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 56 of file G4DNAModelInterface.cc
References BuildMaterialMolPerVolTable(), BuildMaterialParticleModelTable(), DBL_MAX, fpParticleChangeForGamma, fRegisteredModels, G4VEmModel::GetParticleChangeForGamma(), G4VEmModel::SetHighEnergyLimit(), and G4VEmModel::SetLowEnergyLimit().
|
private |
InsertModelInTable Used to put a model in the table after performing some checks.
matName | |
pName |
Definition at line 437 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 437 of file G4DNAModelInterface.cc
References kdfinder::abs(), eV, FatalException, fMaterialParticleModelTable, fName, fRegisteredModels, G4Exception(), and it.
Referenced by BuildMaterialParticleModelTable().
|
private |
void G4DNAModelInterface::RegisterModel | ( | G4VDNAModel * | model | ) |
RegisterModel Method used to associate a model with the interaction.
model |
Definition at line 316 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 316 of file G4DNAModelInterface.cc
References fRegisteredModels.
Referenced by RegisterModel().
void G4DNAModelInterface::RegisterModel | ( | G4VEmModel * | model, |
const G4ParticleDefinition * | particle | ||
) |
Definition at line 321 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 321 of file G4DNAModelInterface.cc
References G4VEmModel::GetName(), and RegisterModel().
|
virtual |
SampleSecondaries Used to call the SampleSecondaries method of the registered models. A sampling is done to select a component if the material is a composite one.
fVect | |
couple | |
aDynamicElectron | |
tmin | |
tmax |
Implements G4VEmModel.
Definition at line 208 of file G4DNAModelInterface.cc.
View newest version in sPHENIX GitHub at line 208 of file G4DNAModelInterface.cc
References DBL_MAX, FatalException, fCSsumTot, fMaterialCS, fpParticleChangeForGamma, fSampledMat, G4Exception(), G4UniformRand, GetDNAModel(), G4DynamicParticle::GetKineticEnergy(), G4Material::GetMatComponents(), G4MaterialCutsCouple::GetMaterial(), G4Material::GetName(), G4DynamicParticle::GetParticleDefinition(), G4ParticleDefinition::GetParticleName(), it, and G4VDNAModel::SampleSecondaries().
|
private |
value which contains the sum of all the component cross sections in case of a composite material
Definition at line 131 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 131 of file G4DNAModelInterface.hh
Referenced by CrossSectionPerVolume(), and SampleSecondaries().
map used to share information between CrossSectionPerVolume and SampleSecondaries
Definition at line 129 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 129 of file G4DNAModelInterface.hh
Referenced by CrossSectionPerVolume(), and SampleSecondaries().
|
private |
Definition at line 138 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 138 of file G4DNAModelInterface.hh
Referenced by BuildMaterialMolPerVolTable(), GetNumMoleculePerVolumeUnitForMaterial(), and GetNumMolPerVolUnitForComponentInComposite().
|
private |
map: [materialName][particleName] = vector of models
Definition at line 136 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 136 of file G4DNAModelInterface.hh
Referenced by BuildMaterialMolPerVolTable(), GetDNAModel(), and InsertModelInTable().
|
private |
name of the interaction
Definition at line 123 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 123 of file G4DNAModelInterface.hh
Referenced by InsertModelInTable().
|
private |
pointer used to change the characteristics of the current particle
Definition at line 125 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 125 of file G4DNAModelInterface.hh
Referenced by Initialise(), and SampleSecondaries().
|
private |
vector containing all the registered models
Definition at line 127 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 127 of file G4DNAModelInterface.hh
Referenced by Initialise(), InsertModelInTable(), RegisterModel(), and ~G4DNAModelInterface().
|
private |
for the user to retrieve selected material/component
Definition at line 133 of file G4DNAModelInterface.hh.
View newest version in sPHENIX GitHub at line 133 of file G4DNAModelInterface.hh
Referenced by CrossSectionPerVolume(), GetSelectedMaterial(), and SampleSecondaries().