Import Geant4 10.6.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2019-06-28 11:59:04 +02:00
parent 28a70706e0
commit d0f911957d
1056 changed files with 95168 additions and 78160 deletions
+36 -60
View File
@@ -45,10 +45,6 @@
#ifndef G4OpWLS_h
#define G4OpWLS_h 1
/////////////
// Includes
/////////////
#include "globals.hh"
#include "templates.hh"
#include "Randomize.hh"
@@ -70,72 +66,52 @@
// Class inherits publicly from G4VDiscreteProcess
// Class Description - End:
/////////////////////
// Class Definition
/////////////////////
class G4VWLSTimeGeneratorProfile;
class G4OpWLS : public G4VDiscreteProcess
class G4OpWLS : public G4VDiscreteProcess
{
public:
////////////////////////////////
// Constructors and Destructor
////////////////////////////////
explicit G4OpWLS(const G4String& processName = "OpWLS",
G4ProcessType type = fOptical);
virtual ~G4OpWLS();
G4OpWLS(const G4String& processName = "OpWLS",
G4ProcessType type = fOptical);
~G4OpWLS();
virtual G4bool IsApplicable(const G4ParticleDefinition& aParticleType) override;
// Returns true -> 'is applicable' only for an optical photon.
private:
virtual void BuildPhysicsTable(const G4ParticleDefinition& aParticleType) override;
// Build the WLS integral table at the right time
G4OpWLS(const G4OpWLS &right);
virtual G4double GetMeanFreePath(const G4Track& aTrack,
G4double,
G4ForceCondition*) override;
// Returns the absorption length for bulk absorption of optical
// photons in media with a specified attenuation length.
//////////////
// Operators
//////////////
virtual G4VParticleChange* PostStepDoIt(const G4Track& aTrack,
const G4Step& aStep) override;
// This is the method implementing bulk absorption of optical
// photons.
G4OpWLS& operator=(const G4OpWLS &right);
virtual G4PhysicsTable* GetIntegralTable() const;
// Returns the address of the WLS integral table.
public:
virtual void DumpPhysicsTable() const;
// Prints the WLS integral table.
////////////
// Methods
////////////
G4bool IsApplicable(const G4ParticleDefinition& aParticleType);
// Returns true -> 'is applicable' only for an optical photon.
void BuildPhysicsTable(const G4ParticleDefinition& aParticleType);
// Build the WLS integral table at the right time
G4double GetMeanFreePath(const G4Track& aTrack,
G4double ,
G4ForceCondition* );
// Returns the absorption length for bulk absorption of optical
// photons in media with a specified attenuation length.
G4VParticleChange* PostStepDoIt(const G4Track& aTrack,
const G4Step& aStep);
// This is the method implementing bulk absorption of optical
// photons.
G4PhysicsTable* GetIntegralTable() const;
// Returns the address of the WLS integral table.
void DumpPhysicsTable() const;
// Prints the WLS integral table.
void UseTimeProfile(const G4String name);
// Selects the time profile generator
void UseTimeProfile(const G4String name);
// Selects the time profile generator
protected:
G4VWLSTimeGeneratorProfile* WLSTimeGeneratorProfile;
G4PhysicsTable* theIntegralTable;
G4VWLSTimeGeneratorProfile* WLSTimeGeneratorProfile;
G4PhysicsTable* theIntegralTable;
private:
G4OpWLS(const G4OpWLS &right) = delete;
G4OpWLS& operator=(const G4OpWLS &right) = delete;
};
////////////////////
@@ -145,7 +121,7 @@ protected:
inline
G4bool G4OpWLS::IsApplicable(const G4ParticleDefinition& aParticleType)
{
return ( &aParticleType == G4OpticalPhoton::OpticalPhoton() );
return (&aParticleType == G4OpticalPhoton::OpticalPhoton());
}
inline
@@ -159,12 +135,12 @@ void G4OpWLS::DumpPhysicsTable() const
{
G4int PhysicsTableSize = theIntegralTable->entries();
G4PhysicsOrderedFreeVector *v;
for (G4int i = 0 ; i < PhysicsTableSize ; i++ )
{
v = (G4PhysicsOrderedFreeVector*)(*theIntegralTable)[i];
v->DumpValues();
}
for (G4int i = 0; i < PhysicsTableSize; i++)
{
v = (G4PhysicsOrderedFreeVector*)(*theIntegralTable)[i];
v->DumpValues();
}
}
#endif /* G4OpWLS_h */