Import Geant4 10.7.0 source tree

This commit is contained in:
Gabriele Cosmo
2020-12-04 12:30:43 +01:00
parent 67ba86d073
commit dab42d2018
3770 changed files with 226369 additions and 286486 deletions
@@ -25,13 +25,13 @@
//
//
//
//
//
////////////////////////////////////////////////////////////////////////
// Optical Photon Rayleigh Scattering Class Definition
////////////////////////////////////////////////////////////////////////
//
// File: G4OpRayleigh.hh
// Description: Discrete Process -- Rayleigh scattering of optical photons
// Description: Discrete Process -- Rayleigh scattering of optical photons
// Version: 1.0
// Created: 1996-05-31
// Author: Juliet Armstrong
@@ -52,25 +52,25 @@
class G4OpRayleigh : public G4VDiscreteProcess
{
public:
public:
explicit G4OpRayleigh(const G4String& processName = "OpRayleigh",
G4ProcessType type = fOptical);
virtual ~G4OpRayleigh();
G4ProcessType type = fOptical);
virtual ~G4OpRayleigh();
virtual G4bool IsApplicable(const G4ParticleDefinition& aParticleType) override;
virtual G4bool IsApplicable(
const G4ParticleDefinition& aParticleType) override;
// Returns true -> 'is applicable' only for an optical photon.
virtual void BuildPhysicsTable(const G4ParticleDefinition& aParticleType) override;
virtual void BuildPhysicsTable(
const G4ParticleDefinition& aParticleType) override;
// Build thePhysicsTable at a right time
virtual G4double GetMeanFreePath(const G4Track& aTrack,
G4double,
virtual G4double GetMeanFreePath(const G4Track& aTrack, G4double,
G4ForceCondition*) override;
// Returns the mean free path for Rayleigh scattering
virtual G4VParticleChange* PostStepDoIt(const G4Track& aTrack,
const G4Step& aStep) override;
const G4Step& aStep) override;
// This is the method implementing Rayleigh scattering.
virtual G4PhysicsTable* GetPhysicsTable() const;
@@ -79,19 +79,20 @@ public:
virtual void DumpPhysicsTable() const;
// Prints the physics table.
protected:
virtual void PreparePhysicsTable(const G4ParticleDefinition&) override;
virtual void Initialise();
G4PhysicsTable* thePhysicsTable;
protected:
G4PhysicsTable* thePhysicsTable;
private:
G4OpRayleigh(const G4OpRayleigh &right) = delete;
G4OpRayleigh& operator=(const G4OpRayleigh &right) = delete;
private:
G4OpRayleigh(const G4OpRayleigh& right) = delete;
G4OpRayleigh& operator=(const G4OpRayleigh& right) = delete;
/// Calculates the mean free paths for a material as a function of
/// photon energy
G4PhysicsOrderedFreeVector*
CalculateRayleighMeanFreePaths(const G4Material* material) const;
G4PhysicsOrderedFreeVector* CalculateRayleighMeanFreePaths(
const G4Material* material) const;
size_t idx_rslength = 0;
};
@@ -100,18 +101,17 @@ private:
// Inline methods
////////////////////
inline
G4bool G4OpRayleigh::IsApplicable(const G4ParticleDefinition& aParticleType)
inline G4bool G4OpRayleigh::IsApplicable(
const G4ParticleDefinition& aParticleType)
{
return (&aParticleType == G4OpticalPhoton::OpticalPhoton());
}
inline
void G4OpRayleigh::DumpPhysicsTable() const
inline void G4OpRayleigh::DumpPhysicsTable() const
{
for (size_t i=0; i<thePhysicsTable->entries(); ++i)
for(size_t i = 0; i < thePhysicsTable->entries(); ++i)
{
((G4PhysicsOrderedFreeVector*)(*thePhysicsTable)[i])->DumpValues();
((G4PhysicsOrderedFreeVector*) (*thePhysicsTable)[i])->DumpValues();
}
}