Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNABornExcitationModel.hh,v 1.4 2010-03-27 12:46:51 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNABornExcitationModel_h
@@ -38,7 +37,7 @@
#include "G4LogLogInterpolation.hh"
#include "G4Electron.hh"
#include "G4Proton.hh"
#include "G4WaterExcitationStructure.hh"
#include "G4DNAWaterExcitationStructure.hh"
#include "G4NistManager.hh"
class G4DNABornExcitationModel : public G4VEmModel
@@ -71,7 +70,8 @@ protected:
private:
G4Material* nistwater;
// Water density table
const std::vector<G4double>* fpMolWaterDensity;
std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
@@ -93,7 +93,7 @@ private:
// Final state
G4WaterExcitationStructure waterStructure;
G4DNAWaterExcitationStructure waterStructure;
//
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNABornIonisationModel.hh,v 1.5 2010-03-28 18:33:19 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNABornIonisationModel_h
@@ -41,7 +40,7 @@
#include "G4LogLogInterpolation.hh"
#include "G4WaterIonisationStructure.hh"
#include "G4DNAWaterIonisationStructure.hh"
#include "G4VAtomDeexcitation.hh"
#include "G4NistManager.hh"
@@ -78,10 +77,11 @@ protected:
private:
// Water density table
const std::vector<G4double>* fpMolWaterDensity;
//deexcitation manager to produce fluo photns and e-
G4VAtomDeexcitation* fAtomDeexcitation;
G4Material* nistwater;
std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
@@ -99,7 +99,7 @@ private:
// Final state
G4WaterIonisationStructure waterStructure;
G4DNAWaterIonisationStructure waterStructure;
G4double RandomizeEjectedElectronEnergy(G4ParticleDefinition * aParticleDefinition, G4double incomingParticleEnergy, G4int shell) ;
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAChampionElasticModel.hh,v 1.4 2010-11-11 22:32:22 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNAChampionElasticModel_h
@@ -71,8 +70,9 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpMolWaterDensity;
G4Material* nistwater;
G4double killBelowEnergy;
G4double lowEnergyLimit;
G4double highEnergyLimit;
@@ -130,15 +130,21 @@ private:
};
inline void G4DNAChampionElasticModel::SetKillBelowThreshold (G4double threshold)
inline void G4DNAChampionElasticModel::SetKillBelowThreshold (G4double /*threshold*/)
{
killBelowEnergy = threshold;
// SI - commented on 19/06/2013
/*
killBelowEnergy = threshold;
if (threshold < 1*eV)
if (threshold < 1*eV)
G4Exception ("*** WARNING : the G4DNAChampionElasticModel class is not validated below 1 eV !","",JustWarning,"") ;
if (threshold < 0.025*eV) threshold = 0.025*eV;
if (threshold < 0.025*eV) threshold = 0.025*eV;
*/
G4Exception ("*** WARNING : G4DNAChampionElasticModel::SetKillBelowThreshold INACTIVE for now","",JustWarning,"") ;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNADingfelderChargeDecreaseModel.hh,v 1.2 2010-01-07 18:10:19 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNADingfelderChargeDecreaseModel_h
@@ -67,8 +66,8 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
G4Material* nistwater;
// Water density table
const std::vector<G4double>* fpMolWaterDensity;
std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNADingfelderChargeIncreaseModel.hh,v 1.2 2010-01-07 18:10:19 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNADingfelderChargeIncreaseModel_h
@@ -68,8 +67,9 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpMolWaterDensity;
G4Material* nistwater;
std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAEmfietzoglouExcitationModel.hh,v 1.3 2010-03-26 19:52:44 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNAEmfietzoglouExcitationModel_h
@@ -34,7 +33,7 @@
#include "G4ParticleChangeForGamma.hh"
#include "G4ProductionCutsTable.hh"
#include "G4WaterExcitationStructure.hh"
#include "G4DNAWaterExcitationStructure.hh"
#include <deque>
#include "Randomize.hh"
#include "G4Electron.hh"
@@ -73,8 +72,9 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpWaterDensity;
G4Material* nistwater;
G4double lowEnergyLimit;
G4double highEnergyLimit;
G4bool isInitialised;
@@ -88,7 +88,7 @@ private:
G4int nLevels;
G4WaterExcitationStructure waterExcitation;
G4DNAWaterExcitationStructure waterExcitation;
//
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAMeltonAttachmentModel.hh,v 1.1 2010-09-08 13:46:45 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -66,18 +65,23 @@ public:
G4double tmin,
G4double maxEnergy);
inline void SetDissociationFlag(G4bool);
inline G4bool GetDissociationFlag();
protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpWaterDensity;
G4Material* nistwater;
G4double lowEnergyLimit;
G4double highEnergyLimit;
G4double lowEnergyLimitOfModel;
G4bool isInitialised;
G4int verboseLevel;
G4bool fDissociationFlag;
// Cross section
@@ -94,6 +98,17 @@ private:
};
inline void G4DNAMeltonAttachmentModel::SetDissociationFlag(G4bool flag)
{
fDissociationFlag = flag;
}
inline G4bool G4DNAMeltonAttachmentModel::GetDissociationFlag()
{
return fDissociationFlag;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#endif
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAMillerGreenExcitationModel.hh,v 1.2 2010-01-07 18:10:19 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNAMillerGreenExcitationModel_h
@@ -37,7 +36,7 @@
#include "G4Proton.hh"
#include "G4DNAGenericIonsManager.hh"
#include "G4DNAEmfietzoglouExcitationModel.hh"
#include "G4WaterExcitationStructure.hh"
#include "G4DNAWaterExcitationStructure.hh"
#include "Randomize.hh"
#include "G4NistManager.hh"
@@ -70,8 +69,9 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpMolWaterDensity;
G4Material* nistwater;
std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
@@ -90,7 +90,7 @@ private:
G4int nLevels;
G4WaterExcitationStructure waterExcitation;
G4DNAWaterExcitationStructure waterExcitation;
G4double S_1s(G4double t,
G4double energyTransferred,
@@ -23,6 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAMolecularReaction.hh 64057 2012-10-30 15:04:49Z gcosmo $
//
// Author: Mathieu Karamitros (kara@cenbg.in2p3.fr)
//
@@ -23,6 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAMolecularStepByStepModel.hh 65022 2012-11-12 16:43:12Z gcosmo $
//
// Author: Mathieu Karamitros (kara@cenbg.in2p3.fr)
//
@@ -64,15 +65,6 @@ public:
G4DNAMolecularStepByStepModel(const G4DNAMolecularStepByStepModel&);
/** Assignment operator
* \param other Object to assign from
* \return A reference to this
*/
G4DNAMolecularStepByStepModel& operator=(const G4DNAMolecularStepByStepModel& /*other*/)
{
return *this;
}
G4IT_ADD_CLONE(G4VITModel, G4DNAMolecularStepByStepModel)
virtual void PrintInfo();
@@ -84,13 +76,20 @@ public:
protected:
const G4DNAMolecularReactionTable*& fMolecularReactionTable;
G4VDNAReactionModel* fReactionModel;
private :
/** Assignment operator
* \param other Object to assign from
* \return A reference to this
*/
G4DNAMolecularStepByStepModel& operator=(const G4DNAMolecularStepByStepModel& /*other*/);
};
inline void G4DNAMolecularStepByStepModel::SetReactionModel(G4VDNAReactionModel* reactionModel)
{
fReactionModel = reactionModel;
((G4DNAMolecularReaction*) fReactionProcess)-> SetReactionModel(reactionModel);
((G4DNAMoleculeEncounterStepper*) fTimeStepper) -> SetReactionModel(reactionModel);
((G4DNAMolecularReaction*) fpReactionProcess)-> SetReactionModel(reactionModel);
((G4DNAMoleculeEncounterStepper*) fpTimeStepper) -> SetReactionModel(reactionModel);
}
inline G4VDNAReactionModel* G4DNAMolecularStepByStepModel::GetReactionModel()
@@ -23,6 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAMoleculeEncounterStepper.hh 64057 2012-10-30 15:04:49Z gcosmo $
//
// Author: Mathieu Karamitros (kara@cenbg.in2p3.fr)
//
@@ -65,7 +66,8 @@ public:
G4DNAMoleculeEncounterStepper(const G4DNAMoleculeEncounterStepper&);
G4IT_ADD_CLONE(G4VITTimeStepper,G4DNAMoleculeEncounterStepper)
virtual void PrepareForAllProcessors();
virtual void Prepare();
// virtual void PrepareForAllProcessors();
virtual G4double CalculateStep(const G4Track&, const G4double&);
inline void SetReactionModel(G4VDNAReactionModel*);
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNARuddIonisationExtendedModel.hh,v 1.1 2010-11-03 10:44:26 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNARuddIonisationExtendedModel_h
@@ -40,7 +39,7 @@
#include "G4Proton.hh"
#include "G4LogLogInterpolation.hh"
#include "G4WaterIonisationStructure.hh"
#include "G4DNAWaterIonisationStructure.hh"
#include "G4VAtomDeexcitation.hh"
#include "G4NistManager.hh"
@@ -73,10 +72,11 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpWaterDensity;
//deexcitation manager to produce fluo photns and e-
G4VAtomDeexcitation* fAtomDeexcitation;
G4Material* nistwater;
std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
@@ -96,7 +96,7 @@ private:
// Final state
G4WaterIonisationStructure waterStructure;
G4DNAWaterIonisationStructure waterStructure;
G4double RandomizeEjectedElectronEnergy(G4ParticleDefinition* particleDefinition,
G4double incomingParticleEnergy,
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNARuddIonisationModel.hh,v 1.4 2010-01-07 18:10:19 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNARuddIonisationModel_h
@@ -40,7 +39,7 @@
#include "G4Proton.hh"
#include "G4LogLogInterpolation.hh"
#include "G4WaterIonisationStructure.hh"
#include "G4DNAWaterIonisationStructure.hh"
#include "G4VAtomDeexcitation.hh"
#include "G4NistManager.hh"
@@ -73,10 +72,12 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpWaterDensity;
//deexcitation manager to produce fluo photns and e-
G4VAtomDeexcitation* fAtomDeexcitation;
G4Material* nistwater;
std::map<G4String,G4double,std::less<G4String> > lowEnergyLimit;
std::map<G4String,G4double,std::less<G4String> > highEnergyLimit;
@@ -100,7 +101,7 @@ private:
// Final state
G4WaterIonisationStructure waterStructure;
G4DNAWaterIonisationStructure waterStructure;
G4double RandomizeEjectedElectronEnergy(G4ParticleDefinition* particleDefinition,
G4double incomingParticleEnergy,
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNASancheExcitationModel.hh,v 1.3 2010/11/11 23:43:35 sincerti Exp $
// $Id$
// GEANT4 tag $Name: $
//
@@ -34,9 +34,11 @@
#ifndef G4DNASancheExcitationModel_h
#define G4DNASancheExcitationModel_h 1
#include <deque>
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4VEmModel.hh"
#include "G4ParticleChangeForGamma.hh"
#include <deque>
#include "G4Electron.hh"
#include "G4NistManager.hh"
@@ -68,15 +70,18 @@ public:
G4double PartialCrossSection(G4double energy,G4int level);
inline void ExtendLowEnergyLimit (G4double /*threshold*/);
inline void ExtendLowEnergyLimit (G4double /*threshold*/);
inline void SetVerboseLevel(int verbose){verboseLevel = verbose;}
protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpWaterDensity;
G4Material* nistwater;
G4double lowEnergyLimit;
G4double highEnergyLimit;
G4bool isInitialised;
@@ -108,7 +113,7 @@ private:
inline void G4DNASancheExcitationModel::ExtendLowEnergyLimit (G4double threshold)
{
lowEnergyLimit = threshold;
if (lowEnergyLimit < 2*eV)
if (lowEnergyLimit < 2*CLHEP::eV)
G4Exception ("*** WARNING : the G4DNASancheExcitationModel class is not validated below 2 eV !","",JustWarning,"") ;
}
@@ -23,6 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNASancheSolvatationModel.hh 64057 2012-10-30 15:04:49Z gcosmo $
//
// Author: Mathieu Karamitros (kara (AT) cenbg . in2p3 . fr)
//
@@ -71,9 +72,11 @@ public :
inline void SetVerbose(int);
protected:
// Water density table
const std::vector<G4double>* fpWaterDensity;
G4ThreeVector RadialDistributionOfProducts(G4double Rrms) const ;
G4ParticleChangeForGamma* fParticleChangeForGamma;
G4Material* fNistWater ;
G4bool fIsInitialised;
G4int fVerboseLevel;
@@ -23,13 +23,14 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNAScreenedRutherfordElasticModel.hh,v 1.4 2010-11-11 22:32:22 sincerti Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef G4DNAScreenedRutherfordElasticModel_h
#define G4DNAScreenedRutherfordElasticModel_h 1
#include <CLHEP/Units/SystemOfUnits.h>
#include "G4VEmModel.hh"
#include "G4ParticleChangeForGamma.hh"
#include "G4ProductionCutsTable.hh"
@@ -67,8 +68,9 @@ protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
// Water density table
const std::vector<G4double>* fpWaterDensity;
G4Material* nistwater;
G4double killBelowEnergy;
G4double lowEnergyLimit;
G4double intermediateEnergyLimit;
@@ -106,7 +108,7 @@ private:
inline void G4DNAScreenedRutherfordElasticModel::SetKillBelowThreshold (G4double threshold)
{
killBelowEnergy = threshold;
if (threshold < 9*eV)
if (threshold < 9*CLHEP::eV)
G4Exception ("*** WARNING : the G4DNAScreenedRutherfordElasticModel class is not validated below 9 eV !","",JustWarning,"") ;
}
@@ -23,6 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNASmoluchowskiReactionModel.hh 65695 2012-11-27 11:39:12Z gunter $
//
// Author: Mathieu Karamitros (kara (AT) cenbg . in2p3 . fr)
//
@@ -45,8 +46,8 @@
class G4DNAMolecularReactionData;
/**
* G4DNADiffusionControlledModel should be used
* for very fast reactions : the reactions between
* G4DNASmoluchowskiReactionModel should be used
* for very fast reactions (high reaction rate) : the reactions between
* reactants occuring at encounter.
* When the time step is constrained this model
* uses brownian bridge : "Absorbing (Smoluchowski) boundary condition"
@@ -54,15 +55,15 @@ class G4DNAMolecularReactionData;
* N. J. B. Green, Molecular Physics, 65: 6, 1399 1408(1988)
*/
class G4DNADiffusionControlledModel : public G4VDNAReactionModel
class G4DNASmoluchowskiReactionModel : public G4VDNAReactionModel
{
public :
G4DNADiffusionControlledModel();
virtual ~G4DNADiffusionControlledModel();
G4DNASmoluchowskiReactionModel();
virtual ~G4DNASmoluchowskiReactionModel();
G4DNADiffusionControlledModel(const G4DNADiffusionControlledModel&);
G4DNASmoluchowskiReactionModel(const G4DNASmoluchowskiReactionModel&);
G4IT_ADD_CLONE(G4VDNAReactionModel, G4DNADiffusionControlledModel)
G4IT_ADD_CLONE(G4VDNAReactionModel, G4DNASmoluchowskiReactionModel)
virtual void Initialise(const G4Molecule*, const G4Track&) ;
virtual void InitialiseToPrint(const G4Molecule*) ;
@@ -77,6 +78,7 @@ public :
private :
const std::vector<const G4DNAMolecularReactionData*>* fReactionData ;
G4DNADiffusionControlledModel& operator=(const G4DNADiffusionControlledModel&);
G4DNASmoluchowskiReactionModel& operator=(const G4DNASmoluchowskiReactionModel&);
};
#endif
@@ -23,6 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4DNATransformElectronModel.hh 64057 2012-10-30 15:04:49Z gcosmo $
//
// Author: Mathieu Karamitros (kara (AT) cenbg . in2p3 . fr)
//
@@ -70,15 +71,20 @@ public :
inline void SetVerbose(int);
inline void SetEpsilonEnergy(G4double);
protected:
G4ParticleChangeForGamma* fParticleChangeForGamma;
private:
G4Material* fNistWater;
// Water density table
const std::vector<G4double>* fpWaterDensity;
G4bool fIsInitialised;
G4int fVerboseLevel;
G4double fEpsilon;
G4DNATransformElectronModel & operator=(const G4DNATransformElectronModel &right);
G4DNATransformElectronModel(const G4DNATransformElectronModel&);
@@ -90,4 +96,9 @@ inline void G4DNATransformElectronModel::SetVerbose(int flag)
fVerboseLevel = flag ;
}
inline void G4DNATransformElectronModel::SetEpsilonEnergy(G4double eps)
{
fEpsilon = eps ;
}
#endif