Import Geant4 10.3.0 source tree
This commit is contained in:
@@ -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......
|
||||
|
||||
Reference in New Issue
Block a user