63     G4cout << 
"Sanche Excitation model is constructed " << 
G4endl<< 
"Energy range: "    85   G4cout << 
"Calling G4DNASancheExcitationModel::Initialise()" << 
G4endl;
    91     G4cout << 
"G4DNASancheExcitationModel: low energy limit increased from " <<
    98     G4cout << 
"G4DNASancheExcitationModel: high energy limit decreased from " <<
   107     G4cout << 
"Sanche Excitation model is initialized " << G4endl
   123   char *path = getenv(
"G4LEDATA");
   124   std::ostringstream eFullFileName;
   125   eFullFileName << path << 
"/dna/sigma_excitationvib_e_sanche.dat";
   126   std::ifstream input(eFullFileName.str().c_str());
   130     G4Exception(
"G4DNASancheExcitationModel::Initialise",
"em0003",
   131         FatalException,
"Missing data file:/dna/sigma_excitationvib_e_sanche.dat");
   154     for(
size_t i = 0 ; i < 9 ;++i)
   157       levelXS.push_back(xs);
   175   G4cout << 
"Calling CrossSectionPerVolume() of G4DNASancheExcitationModel"   184   if(waterDensity!= 0.0)
   199       G4cout << 
"__________________________________" << 
G4endl;
   200       G4cout << 
"=== G4DNASancheExcitationModel - XS INFO START" << 
G4endl;
   202       G4cout << 
"=== Cross section per water molecule (cm^2)=" << sigma/
cm/
cm << 
G4endl;
   203       G4cout << 
"=== Cross section per water molecule (cm^-1)=" << sigma*waterDensity/(1./
cm) << G4endl;
   204       G4cout << 
"=== G4DNASancheExcitationModel - XS INFO END" << 
G4endl;
   209   return sigma*2*waterDensity;
   225   G4cout << 
"Calling SampleSecondaries() of G4DNASancheExcitationModel"   231   G4double newEnergy = electronEnergy0 - excitationEnergy;
   251   if (electronEnergy0 < highEnergyLimit && newEnergy>0.)
   266   std::vector<double>::iterator 
t2 = std::upper_bound(
tdummyVec.begin(),
   268   std::vector<double>::iterator 
t1 = t2 - 1;
   278   static const double conv_factor =  1
e-16 * 
cm * 
cm;
   280   sigma *= conv_factor;
   281   if (sigma == 0.) sigma = 1
e-30;
   289   std::vector<double>::iterator 
t2 = std::upper_bound(
tdummyVec.begin(),
   291   std::vector<double>::iterator 
t1 = t2 - 1;
   301   static const double conv_factor =  1
e-16 * 
cm * 
cm;
   303   sigma *= conv_factor;
   304   if (sigma == 0.) sigma = 1
e-30;
   312   static G4double energies[9] = { 0.01, 0.024, 0.061, 0.092, 0.204, 0.417, 0.460,
   314   return (energies[level] * 
eV);
   326   std::deque<double> values;
   332     values.push_front(partial);
   343     if (values[i] > value)
   367   return totalCrossSection;
 G4double LowEnergyLimit() const
 
virtual void SampleSecondaries(std::vector< G4DynamicParticle *> *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin, G4double maxEnergy)
 
G4DNASancheExcitationModel(const G4ParticleDefinition *p=0, const G4String &nam="DNASancheExcitationModel")
 
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
 
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
 
G4double PartialCrossSection(G4double energy, G4int level)
 
std::vector< double > fEnergyTotalXS
 
G4double TotalCrossSection(G4double t)
 
void SetHighEnergyLimit(G4double)
 
G4double LinInterpolate(G4double e1, G4double e2, G4double e, G4double xs1, G4double xs2)
 
virtual G4double CrossSectionPerVolume(const G4Material *material, const G4ParticleDefinition *p, G4double ekin, G4double emin, G4double emax)
 
G4double GetKineticEnergy() const
 
const G4String & GetParticleName() const
 
G4GLOB_DLL std::ostream G4cout
 
const std::vector< G4double > * fpWaterDensity
 
G4double HighEnergyLimit() const
 
G4ParticleChangeForGamma * fParticleChangeForGamma
 
virtual ~G4DNASancheExcitationModel()
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4double VibrationEnergy(G4int level)
 
static G4DNAMolecularMaterial * Instance()
 
const G4ThreeVector & GetMomentumDirection() const
 
G4int RandomSelect(G4double energy)
 
std::vector< double > tdummyVec
 
void SetLowEnergyLimit(G4double)
 
G4ParticleChangeForGamma * GetParticleChangeForGamma()
 
std::vector< std::vector< double > > fEnergyLevelXS