Import Geant4 10.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-12-09 12:35:28 +01:00
parent 4ec577e5c4
commit a3452e42ac
3514 changed files with 210500 additions and 89628 deletions
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm7/include/DetectorConstruction.hh
/// \brief Definition of the DetectorConstruction class
//
// $Id: DetectorConstruction.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: DetectorConstruction.hh 101250 2016-11-10 08:54:02Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -43,72 +43,66 @@ class G4Material;
class G4UniformMagField;
class DetectorMessenger;
const G4int MaxTally = 21; // 0 + 20
const G4int kMaxTally = 20;
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class DetectorConstruction : public G4VUserDetectorConstruction
{
public:
public:
DetectorConstruction();
~DetectorConstruction();
DetectorConstruction();
virtual ~DetectorConstruction();
public:
void SetSizeX (G4double);
void SetSizeYZ (G4double);
void SetMaterial (G4String);
void SetMagField (G4double);
void SetSizeX (G4double);
void SetSizeYZ (G4double);
void SetMaterial (const G4String&);
void SetWorldMaterial (const G4String&);
void SetMagField (G4double);
void SetTallyNumber (G4int);
void SetTallySize (G4int, G4ThreeVector);
void SetTallyMaterial (G4int, G4String);
void SetTallyPosition (G4int, G4ThreeVector);
void SetTallyNumber (G4int);
void SetTallySize (G4int, const G4ThreeVector&);
void SetTallyPosition (G4int, const G4ThreeVector&);
virtual
G4VPhysicalVolume* Construct();
void UpdateGeometry();
virtual G4VPhysicalVolume* Construct();
public:
G4double GetWorldSizeX() {return fWorldSizeX;};
G4double GetWorldSizeYZ() {return fWorldSizeYZ;};
G4Material* GetWorldMaterial() {return fWorldMaterial;};
G4double GetAbsorSizeX() {return fAbsorSizeX;};
G4double GetAbsorSizeYZ() {return fAbsorSizeYZ;};
G4Material* GetAbsorMaterial() {return fAbsorMaterial;};
inline G4double GetWorldSizeX() const {return fWorldSizeX;};
inline G4double GetWorldSizeYZ() const {return fWorldSizeYZ;};
inline G4double GetAbsorSizeX() const {return fAbsorSizeX;};
inline G4double GetAbsorSizeYZ() const {return fAbsorSizeYZ;};
inline G4int GetTallyNumber() const {return fTallyNumber;};
inline const G4Material* GetWorldMaterial() const {return fWorldMaterial;};
inline const G4Material* GetAbsorMaterial() const {return fAbsorMaterial;};
G4int GetTallyNumber() {return fTallyNumber;};
G4double GetTallyMass(G4int n) {return fTallyMass[n];};
G4LogicalVolume* GetLogicalTally(G4int n) {return fLTally[n];}
G4double GetTallyMass(G4int n) const;
const G4LogicalVolume* GetLogicalTally(G4int n) const;
void PrintParameters();
private:
void PrintParameters() const;
G4double fWorldSizeX;
G4double fWorldSizeYZ;
G4Material* fWorldMaterial;
G4double fAbsorSizeX;
G4double fAbsorSizeYZ;
G4Material* fAbsorMaterial;
G4UniformMagField* fMagField;
G4LogicalVolume* fLAbsor;
G4int fTallyNumber;
G4ThreeVector fTallySize[MaxTally];
G4Material* fTallyMaterial[MaxTally];
G4double fTallyMass[MaxTally];
G4ThreeVector fTallyPosition[MaxTally];
G4LogicalVolume* fLTally[MaxTally];
DetectorMessenger* fDetectorMessenger;
private:
private:
void DefineMaterials();
G4VPhysicalVolume* ConstructVolumes();
void DefineMaterials();
G4double fWorldSizeX;
G4double fWorldSizeYZ;
G4double fAbsorSizeX;
G4double fAbsorSizeYZ;
G4Material* fAbsorMaterial;
G4Material* fWorldMaterial;
G4UniformMagField* fMagField;
G4LogicalVolume* fLAbsor;
G4LogicalVolume* fLWorld;
G4int fTallyNumber;
G4ThreeVector fTallySize[kMaxTally];
G4double fTallyMass[kMaxTally];
G4ThreeVector fTallyPosition[kMaxTally];
G4LogicalVolume* fLTally[kMaxTally];
DetectorMessenger* fDetectorMessenger;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm7/include/DetectorMessenger.hh
/// \brief Definition of the DetectorMessenger class
//
// $Id: DetectorMessenger.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: DetectorMessenger.hh 101250 2016-11-10 08:54:02Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -49,28 +49,29 @@ class G4UIcmdWithoutParameter;
class DetectorMessenger: public G4UImessenger
{
public:
public:
DetectorMessenger(DetectorConstruction* );
~DetectorMessenger();
DetectorMessenger(DetectorConstruction* );
virtual ~DetectorMessenger();
virtual void SetNewValue(G4UIcommand*, G4String);
virtual void SetNewValue(G4UIcommand*, G4String);
private:
private:
DetectorConstruction* fDetector;
DetectorConstruction* fDetector;
G4UIdirectory* fTestemDir;
G4UIdirectory* fDetDir;
G4UIcmdWithAString* fMaterCmd;
G4UIcmdWithADoubleAndUnit* fSizeXCmd;
G4UIcmdWithADoubleAndUnit* fSizeYZCmd;
G4UIcmdWithADoubleAndUnit* fMagFieldCmd;
G4UIdirectory* fTestemDir;
G4UIdirectory* fDetDir;
G4UIcmdWithAString* fMaterCmd;
G4UIcmdWithAString* fWMaterCmd;
G4UIcmdWithADoubleAndUnit* fSizeXCmd;
G4UIcmdWithADoubleAndUnit* fSizeYZCmd;
G4UIcmdWithADoubleAndUnit* fMagFieldCmd;
G4UIcmdWithAnInteger* fTalNbCmd;
G4UIcommand* fTalDefCmd;
G4UIcommand* fTalPosiCmd;
G4UIcmdWithoutParameter* fUpdateCmd;
G4UIcmdWithAnInteger* fTalNbCmd;
G4UIcommand* fTalDefCmd;
G4UIcommand* fTalPosiCmd;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm7/include/G4ScreenedNuclearRecoil.hh
/// \brief Definition of the G4ScreenedNuclearRecoil class
//
// $Id: G4ScreenedNuclearRecoil.hh 91266 2015-06-29 06:48:42Z gcosmo $
// $Id: G4ScreenedNuclearRecoil.hh 98273 2016-07-04 17:57:34Z gcosmo $
//
//
// G4ScreenedNuclearRecoil.hh,v 1.24 2008/05/01 19:58:59 marcus Exp
@@ -215,22 +215,22 @@ public:
/// \brief Construct the process and set some physics parameters for it.
/// \param processName the name to assign the process
/// \param ScreeningKey the name of a screening function to use.
/// \The default functions are "zbl" (recommended for soft scattering),
/// \"lj" (recommended for backscattering) and "mol" (Moliere potential)
/// The default functions are "zbl" (recommended for soft scattering),
/// "lj" (recommended for backscattering) and "mol" (Moliere potential)
/// \param GenerateRecoils if frue, ions struck by primary are converted
/// \into new moving particles.
/// into new moving particles.
/// If false, energy is deposited, but no new moving ions are created.
/// \param RecoilCutoff energy below which no new moving particles will be
/// \created, even if a GenerateRecoils is true.
/// \Also, a moving primary particle will be stopped if its energy falls
/// \below this limit.
/// created, even if a GenerateRecoils is true.
/// Also, a moving primary particle will be stopped if its energy falls
/// below this limit.
/// \param PhysicsCutoff the energy transfer to which screening tables are
/// \ calucalted.
/// \There is no really
/// \compelling reason to change it from the 10.0 eV default.
/// \However, see the paper on running this
/// \in thin targets for further discussion, and its interaction
/// \with SetMFPScaling()
/// calucalted.
/// There is no really
/// compelling reason to change it from the 10.0 eV default.
/// However, see the paper on running this
/// in thin targets for further discussion, and its interaction
/// with SetMFPScaling()
G4ScreenedNuclearRecoil(const G4String& processName = "ScreenedElastic",
const G4String &ScreeningKey="zbl", G4bool GenerateRecoils=1,
@@ -256,7 +256,7 @@ public:
/// \param aParticleType the type of particle to build tables for
virtual void DumpPhysicsTable(const G4ParticleDefinition& aParticleType);
/// \brief deterine if the moving particle is within the strong force
/// \range of the selected nucleus
/// range of the selected nucleus
/// \param A the nucleon number of the beam
/// \param A1 the nucleon number of the target
/// \param apsis the distance of closest approach
@@ -274,15 +274,15 @@ public:
// clear all data tables to allow changing energy cutoff, materials, etc.
/// \brief set the upper energy beyond which this process has no
/// \cross section
/// cross section
///
/// \This funciton is used to coordinate this process with G4MSC.
/// \Typically, G4MSC should
/// \not be allowed to operate in a range which overlaps that of this
/// \process. The criterion which is most reasonable
/// \is that the transition should be somewhere in the modestly
/// \relativistic regime (500 MeV/u for example).
/// \param energy energy per nucleon for the cutoff
/// This funciton is used to coordinate this process with G4MSC.
/// Typically, G4MSC should
/// not be allowed to operate in a range which overlaps that of this
/// process. The criterion which is most reasonable
/// is that the transition should be somewhere in the modestly
/// relativistic regime (500 MeV/u for example).
/// param energy energy per nucleon for the cutoff
void SetMaxEnergyForScattering(G4double energy) {processMaxEnergy=energy;}
@@ -291,7 +291,7 @@ public:
/// \brief enable or disable all energy deposition by this process
/// \param flag if true, enable deposition of energy (the default).
/// \If false, disable deposition.
/// If false, disable deposition.
void AllowEnergyDeposition(G4bool flag) {registerDepositedEnergy=flag;}
@@ -299,11 +299,11 @@ public:
G4bool GetAllowEnergyDeposition() const {return registerDepositedEnergy;}
/// \brief enable or disable the generation of recoils.
/// \If recoils are disabled, the energy they would have received is just
/// \deposited.
/// \param flag if true, create recoil ions in cases in which the energy
/// \is above the recoilCutoff.
/// \If false, just deposit the energy.
/// If recoils are disabled, the energy they would have received is just
/// deposited.
/// param flag if true, create recoil ions in cases in which the energy
/// is above the recoilCutoff.
/// If false, just deposit the energy.
void EnableRecoils(G4bool flag) { generateRecoils=flag; }
@@ -26,7 +26,7 @@
/// \file electromagnetic/TestEm7/include/RunAction.hh
/// \brief Definition of the RunAction class
//
// $Id: RunAction.hh 66241 2012-12-13 18:34:42Z gunter $
// $Id: RunAction.hh 101250 2016-11-10 08:54:02Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
@@ -52,7 +52,7 @@ class RunAction : public G4UserRunAction
public:
RunAction(DetectorConstruction*, PhysicsList*, PrimaryGeneratorAction*);
~RunAction();
virtual ~RunAction();
virtual void BeginOfRunAction(const G4Run*);
virtual void EndOfRunAction(const G4Run*);
@@ -23,11 +23,11 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
/// \file radioactivedecay/rdecay01/include/SteppingVerbose.hh
/// \file electromagnetic/TestEm7/include/SteppingVerbose.hh
/// \brief Definition of the SteppingVerbose class
//
//
// $Id: SteppingVerbose.hh 70906 2013-06-07 10:36:44Z gcosmo $
// $Id: SteppingVerbose.hh 98273 2016-07-04 17:57:34Z gcosmo $
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......