Import Geant4 10.3.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2016-06-30 14:12:05 +02:00
parent a654a7ab1f
commit 4ec577e5c4
2021 changed files with 100995 additions and 78277 deletions
@@ -23,7 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4VMultipleScattering.hh 93264 2015-10-14 09:30:04Z gcosmo $
// $Id: G4VMultipleScattering.hh 97432 2016-06-03 07:23:39Z gcosmo $
//
// -------------------------------------------------------------------
//
@@ -102,7 +102,7 @@ public:
// Virtual methods to be implemented for the concrete model
//------------------------------------------------------------------------
virtual G4bool IsApplicable(const G4ParticleDefinition& p) = 0;
virtual G4bool IsApplicable(const G4ParticleDefinition& p) override = 0;
virtual void PrintInfo() = 0;
@@ -119,10 +119,10 @@ public:
//------------------------------------------------------------------------
// Initialise for build of tables
void PreparePhysicsTable(const G4ParticleDefinition&);
void PreparePhysicsTable(const G4ParticleDefinition&) override;
// Build physics table during initialisation
void BuildPhysicsTable(const G4ParticleDefinition&);
void BuildPhysicsTable(const G4ParticleDefinition&) override;
// Print out of generic class parameters
void PrintInfoDefinition();
@@ -131,7 +131,7 @@ public:
// Return false in case of failure at I/O
G4bool StorePhysicsTable(const G4ParticleDefinition*,
const G4String& directory,
G4bool ascii = false);
G4bool ascii = false) override;
// Retrieve Physics from a file.
// (return true if the Physics Table can be build by using file)
@@ -140,33 +140,33 @@ public:
// should be placed under the directory specifed by the argument.
G4bool RetrievePhysicsTable(const G4ParticleDefinition*,
const G4String& directory,
G4bool ascii);
G4bool ascii) override;
// This is called in the beginning of tracking for a new track
void StartTracking(G4Track*);
void StartTracking(G4Track*) override;
// The function overloads the corresponding function of the base
// class.It limits the step near to boundaries only
// and invokes the method GetMscContinuousStepLimit at every step.
G4double AlongStepGetPhysicalInteractionLength(
const G4Track&,
G4double previousStepSize,
G4double currentMinimalStep,
G4double& currentSafety,
G4GPILSelection* selection);
const G4Track&,
G4double previousStepSize,
G4double currentMinimalStep,
G4double& currentSafety,
G4GPILSelection* selection) override;
// The function overloads the corresponding function of the base
// class.
G4double PostStepGetPhysicalInteractionLength(
const G4Track&,
G4double previousStepSize,
G4ForceCondition* condition);
const G4Track&,
G4double previousStepSize,
G4ForceCondition* condition) override;
// Along step actions
G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&);
G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&) override;
// Post step actions
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&);
G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&) override;
// This method does not used for tracking, it is intended only for tests
G4double ContinuousStepLimit(const G4Track& track,
@@ -185,7 +185,7 @@ public:
// Add model for region, smaller value of order defines which
// model will be selected for a given energy interval
void AddEmModel(G4int order, G4VEmModel*, const G4Region* region = 0);
void AddEmModel(G4int order, G4VEmModel*, const G4Region* region = nullptr);
// Assign a model to a process
void SetEmModel(G4VMscModel*, G4int index = 1);
@@ -234,19 +234,23 @@ protected:
// This method is not used for tracking, it returns mean free path value
G4double GetMeanFreePath(const G4Track& track,
G4double,
G4ForceCondition* condition);
G4ForceCondition* condition) override;
// This method is not used for tracking, it returns step limit
G4double GetContinuousStepLimit(const G4Track& track,
G4double previousStepSize,
G4double currentMinimalStep,
G4double& currentSafety);
G4double& currentSafety) override ;
// return number of already added models
inline size_t NumberOfModels() const;
private:
// hide assignment operator
G4VMultipleScattering(G4VMultipleScattering &);
G4VMultipleScattering & operator=(const G4VMultipleScattering &right);
G4VMultipleScattering(G4VMultipleScattering &) = delete;
G4VMultipleScattering &
operator=(const G4VMultipleScattering &right) = delete;
// ======== Parameters of the class fixed at construction =========
@@ -285,6 +289,8 @@ private:
G4VMscModel* currentModel;
G4VEnergyLossProcess* fIonisation;
G4double geomMin;
G4double minDisplacement2;
G4double physStepLimit;
G4double tPathLength;
G4double gPathLength;
@@ -403,4 +409,11 @@ inline const G4ParticleDefinition* G4VMultipleScattering::FirstParticle() const
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline size_t G4VMultipleScattering::NumberOfModels() const
{
return modelManager->NumberOfModels();
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#endif