66 G4cout <<
"Emfietzoglou Excitation model is constructed " <<
G4endl
87 G4cout <<
"Calling G4DNAEmfietzoglouExcitationModel::Initialise()" <<
G4endl;
93 G4cout <<
"G4DNAEmfietzoglouExcitationModel: low energy limit increased from " <<
100 G4cout <<
"G4DNAEmfietzoglouExcitationModel: high energy limit decreased from " <<
108 G4cout <<
"Emfietzoglou Excitation model is initialized " << G4endl
133 G4cout <<
"Calling CrossSectionPerVolume() of G4DNAEmfietzoglouExcitationModel" <<
G4endl;
141 if(waterDensity!= 0.0)
155 G4cout <<
"__________________________________" <<
G4endl;
156 G4cout <<
"°°° G4DNAEmfietzoglouExcitationModel - XS INFO START" <<
G4endl;
158 G4cout <<
"°°° Cross section per water molecule (cm^2)=" << sigma/
cm/
cm <<
G4endl;
159 G4cout <<
"°°° Cross section per water molecule (cm^-1)=" << sigma*waterDensity/(1./
cm) << G4endl;
161 G4cout <<
"°°° G4DNAEmfietzoglouExcitationModel - XS INFO END" <<
G4endl;
179 G4cout <<
"Calling SampleSecondaries() of G4DNAEmfietzoglouExcitationModel" <<
G4endl;
186 G4double newEnergy = electronEnergy0 - excitationEnergy;
223 const G4double aj[]={0.0205, 0.0209, 0.0130, 0.0026, 0.0025};
224 const G4double cj[]={4.9801, 3.3850, 2.8095, 1.9242, 3.4624};
225 const G4double pj[]={0.4757, 0.3483, 0.4443, 0.3429, 0.4379};
234 G4double excitationSigma = ( aj[level] / (2.*
pi*Bohr_radius))
236 * std::log(cj[level]*(t/r))
237 * std::pow((1.- (exc/t)), pj[level]);
238 sigma = excitationSigma /
density;
250 std::deque<double> values;
256 values.push_front(partial);
267 if (values[i] > value)
return i;
284 return totalCrossSection;
static G4Electron * ElectronDefinition()
G4double LowEnergyLimit() const
G4double ExcitationEnergy(G4int level)
G4int RandomSelect(G4double energy)
G4double GetKineticEnergy() const
const std::vector< G4double > * fpWaterDensity
G4double HighEnergyLimit() const
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
G4double Sum(G4double energy)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &=*(new G4DataVector()))
G4DNAWaterExcitationStructure waterExcitation
void ProposeMomentumDirection(G4double Px, G4double Py, G4double Pz)
const G4String & GetParticleName() const
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
void SetHighEnergyLimit(G4double)
G4double PartialCrossSection(G4double energy, G4int level)
G4GLOB_DLL std::ostream G4cout
const std::vector< double > * GetNumMolPerVolTableFor(const G4Material *) const
const G4ThreeVector & GetMomentumDirection() const
const G4double * GetAtomicNumDensityVector() const
static G4DNAChemistryManager * Instance()
static G4DNAMolecularMaterial * Instance()
virtual G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
void CreateWaterMolecule(ElectronicModification, G4int, const G4Track *)
Method used by DNA physics model to create a water molecule.
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
const G4Track * GetCurrentTrack() const
G4DNAEmfietzoglouExcitationModel(const G4ParticleDefinition *p=0, const G4String &nam="DNAEmfietzoglouExcitationModel")
void SetProposedKineticEnergy(G4double proposedKinEnergy)
G4ParticleChangeForGamma * fParticleChangeForGamma
void SetLowEnergyLimit(G4double)
virtual ~G4DNAEmfietzoglouExcitationModel()
G4ParticleChangeForGamma * GetParticleChangeForGamma()