Import Geant4 10.7.0 source tree
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user