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