53     fpMolWaterDensity = 0;
 
   65         G4cout << 
"Emfietzoglou excitation model is constructed " << 
G4endl;
 
   82     std::map< G4String,G4DNACrossSectionDataSet*,std::less<G4String> >::iterator 
pos;
 
   83     for (pos = tableData.begin(); pos != tableData.end(); ++
pos)
 
   98         G4cout << 
"Calling G4DNAEmfietzoglouExcitationModel::Initialise()" << 
G4endl;
 
  100     G4String fileElectron(
"dna/sigma_excitation_e_emfietzoglou");
 
  106     G4double scaleFactor = (1.e-22 / 3.343) * 
m*
m;
 
  126     if (particle==electronDef)
 
  134         G4cout << 
"Emfietzoglou excitation model is initialized " << G4endl
 
  145     if (isInitialised) { 
return; }
 
  147     isInitialised = 
true;
 
  158     if (verboseLevel > 3)
 
  159         G4cout << 
"Calling CrossSectionPerVolume() of G4DNAEmfietzoglouExcitationModel" << 
G4endl;
 
  171     if(waterDensity!= 0.0)
 
  175         std::map< G4String,G4double,std::less<G4String> >::iterator pos1;
 
  176         pos1 = lowEnergyLimit.find(particleName);
 
  177         if (pos1 != lowEnergyLimit.end())
 
  179             lowLim = pos1->second;
 
  182         std::map< G4String,G4double,std::less<G4String> >::iterator pos2;
 
  183         pos2 = highEnergyLimit.find(particleName);
 
  184         if (pos2 != highEnergyLimit.end())
 
  186             highLim = pos2->second;
 
  189         if (ekin >= lowLim && ekin < highLim)
 
  191             std::map< G4String,G4DNACrossSectionDataSet*,std::less<G4String> >::iterator 
pos;
 
  192             pos = tableData.find(particleName);
 
  194             if (pos != tableData.end())
 
  204                 G4Exception(
"G4DNAEmfietzoglouExcitationModel::CrossSectionPerVolume",
"em0002",
 
  209         if (verboseLevel > 2)
 
  211             G4cout << 
"__________________________________" << 
G4endl;
 
  212             G4cout << 
"G4DNAEmfietzoglouExcitationModel - XS INFO START" << 
G4endl;
 
  213             G4cout << 
"Kinetic energy(eV)=" << ekin/
eV << 
" particle : " << particleName << 
G4endl;
 
  214             G4cout << 
"Cross section per water molecule (cm^2)=" << sigma/
cm/
cm << 
G4endl;
 
  215             G4cout << 
"Cross section per water molecule (cm^-1)=" << sigma*waterDensity/(1./
cm) << G4endl;
 
  217             G4cout << 
"G4DNAEmfietzoglouExcitationModel - XS INFO END" << 
G4endl;
 
  222     return sigma*waterDensity;
 
  234     if (verboseLevel > 3)
 
  235         G4cout << 
"Calling SampleSecondaries() of G4DNAEmfietzoglouExcitationModel" << 
G4endl;
 
  241     G4int level = RandomSelect(k,particleName);
 
  243     G4double newEnergy = k - excitationEnergy;
 
  268     std::map< G4String,G4DNACrossSectionDataSet*,std::less<G4String> >::iterator 
pos;
 
  269     pos = tableData.find(particle);
 
  271     if (pos != tableData.end())
 
  296                 value += valuesBuffer[i];
 
  307                 if (valuesBuffer[i] > value)
 
  309                     delete[] valuesBuffer;
 
  312                 value -= valuesBuffer[i];
 
  315             if (valuesBuffer) 
delete[] valuesBuffer;
 
  321         G4Exception(
"G4DNAEmfietzoglouExcitationModel::RandomSelect",
"em0002",
 
static G4Electron * ElectronDefinition()
 
G4double LowEnergyLimit() const 
 
virtual G4double FindValue(G4double x, G4int componentId=0) const =0
 
G4double GetKineticEnergy() const 
 
G4double HighEnergyLimit() const 
 
virtual const G4VEMDataSet * GetComponent(G4int componentId) const 
 
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
 
virtual G4bool LoadData(const G4String &argFileName)
 
G4ParticleDefinition * GetDefinition() const 
 
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &=*(new G4DataVector()))
 
void ProposeMomentumDirection(G4double Px, G4double Py, G4double Pz)
 
const G4String & GetParticleName() const 
 
void ProposeLocalEnergyDeposit(G4double anEnergyPart)
 
void SetHighEnergyLimit(G4double)
 
G4double ExcitationEnergy(G4int level)
 
G4GLOB_DLL std::ostream G4cout
 
const std::vector< double > * GetNumMolPerVolTableFor(const G4Material *) const 
 
static constexpr double m
 
const XML_Char int const XML_Char * value
 
const G4ThreeVector & GetMomentumDirection() const 
 
static constexpr double cm
 
static constexpr double eV
 
virtual G4double FindValue(G4double e, G4int componentId=0) const 
 
virtual size_t NumberOfComponents(void) const 
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
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 *)
 
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()
 
static constexpr double keV
 
static const G4double pos
 
G4ParticleChangeForGamma * GetParticleChangeForGamma()