Geant4  10.00.p02
G4OpticalPhysics Class Reference

#include <G4OpticalPhysics.hh>

+ Inheritance diagram for G4OpticalPhysics:
+ Collaboration diagram for G4OpticalPhysics:

Public Member Functions

 G4OpticalPhysics (G4int verbose=0, const G4String &name="Optical")
 
virtual ~G4OpticalPhysics ()
 
void Configure (G4OpticalProcessIndex, G4bool)
 
void SetProcessVerbose (G4int, G4int)
 
void SetMaxNumPhotonsPerStep (G4int)
 
void SetMaxBetaChangePerStep (G4double)
 
void SetScintillationYieldFactor (G4double)
 
void SetScintillationExcitationRatio (G4double)
 
void SetWLSTimeProfile (G4String)
 
void SetScintillationByParticleType (G4bool)
 
void AddScintillationSaturation (G4EmSaturation *)
 
void SetTrackSecondariesFirst (G4OpticalProcessIndex, G4bool)
 
void SetFiniteRiseTime (G4bool)
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4int GetInstanceID () const
 

Protected Member Functions

virtual void ConstructParticle ()
 
virtual void ConstructProcess ()
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 

Private Member Functions

 G4OpticalPhysics (const G4OpticalPhysics &right)
 Not implemented. More...
 
G4OpticalPhysicsoperator= (const G4OpticalPhysics &right)
 Not implemented. More...
 
void PrintStatistics () const
 

Private Attributes

G4OpticalPhysicsMessengerfMessenger
 
std::vector< G4boolfProcessUse
 
std::vector< G4intfProcessVerbose
 
std::vector< G4boolfProcessTrackSecondariesFirst
 
G4int fMaxNumPhotons
 max number of Cerenkov photons per step More...
 
G4double fMaxBetaChange
 max change of beta per step More...
 
G4double fYieldFactor
 scintillation yield factor More...
 
G4double fExcitationRatio
 scintillation excitation ratio More...
 
G4String fProfile
 the WLS process time profile More...
 
G4bool fFiniteRiseTime
 option to set a finite rise-time; Note: the G4Scintillation process expects the user to have set the constant material property FAST/SLOWSCINTILLATIONRISETIME More...
 
G4bool fScintillationByParticleType
 option to allow for the light yield to be a function of particle type and deposited energy in case of non-linear light emission in scintillators More...
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel
 
G4String namePhysics
 
G4int typePhysics
 
G4ParticleTabletheParticleTable
 
G4int g4vpcInstanceID
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 61 of file G4OpticalPhysics.hh.

Constructor & Destructor Documentation

G4OpticalPhysics::G4OpticalPhysics ( G4int  verbose = 0,
const G4String name = "Optical" 
)
G4OpticalPhysics::~G4OpticalPhysics ( )
virtual

Definition at line 85 of file G4OpticalPhysics.cc.

References fMessenger.

G4OpticalPhysics::G4OpticalPhysics ( const G4OpticalPhysics right)
private

Not implemented.

Member Function Documentation

void G4OpticalPhysics::AddScintillationSaturation ( G4EmSaturation saturation)

Adds Birks Saturation to the G4Scintillation Process

Definition at line 294 of file G4OpticalPhysics.cc.

References G4Scintillation::AddSaturation().

+ Here is the call graph for this function:

void G4OpticalPhysics::Configure ( G4OpticalProcessIndex  index,
G4bool  isUse 
)

Definition at line 326 of file G4OpticalPhysics.cc.

References fProcessUse, and kNoProcess.

void G4OpticalPhysics::ConstructParticle ( void  )
protectedvirtual

Instantiate particles.

Implements G4VPhysicsConstructor.

Definition at line 126 of file G4OpticalPhysics.cc.

References G4OpticalPhoton::OpticalPhotonDefinition().

+ Here is the call graph for this function:

void G4OpticalPhysics::ConstructProcess ( void  )
protectedvirtual

Implements G4VPhysicsConstructor.

Definition at line 140 of file G4OpticalPhysics.cc.

References G4ProcessManager::AddDiscreteProcess(), G4ProcessManager::AddProcess(), G4Scintillation::AddSaturation(), aParticleIterator, G4LossTableManager::EmSaturation(), FatalException, fExcitationRatio, fFiniteRiseTime, fMaxBetaChange, fMaxNumPhotons, fProcessTrackSecondariesFirst, fProcessUse, fProcessVerbose, fProfile, fScintillationByParticleType, fYieldFactor, G4cout, G4endl, G4Exception(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetProcessManager(), idxAtRest, idxPostStep, G4LossTableManager::Instance(), G4Cerenkov::IsApplicable(), G4Scintillation::IsApplicable(), G4Threading::IsWorkerThread(), kAbsorption, kBoundary, kCerenkov, kMieHG, kNoProcess, kRayleigh, kScintillation, kWLS, G4VPhysicsConstructor::namePhysics, G4OpticalPhoton::OpticalPhoton(), PrintStatistics(), G4Scintillation::SetFiniteRiseTime(), G4Cerenkov::SetMaxBetaChangePerStep(), G4Cerenkov::SetMaxNumPhotonsPerStep(), G4ProcessManager::SetProcessOrdering(), G4ProcessManager::SetProcessOrderingToLast(), G4Scintillation::SetScintillationByParticleType(), G4Scintillation::SetScintillationExcitationRatio(), G4Scintillation::SetScintillationYieldFactor(), G4Scintillation::SetTrackSecondariesFirst(), G4Cerenkov::SetTrackSecondariesFirst(), G4OpWLS::UseTimeProfile(), and G4VPhysicsConstructor::verboseLevel.

+ Here is the call graph for this function:

G4OpticalPhysics& G4OpticalPhysics::operator= ( const G4OpticalPhysics right)
private

Not implemented.

void G4OpticalPhysics::PrintStatistics ( ) const
private

Definition at line 92 of file G4OpticalPhysics.cc.

References fExcitationRatio, fMaxBetaChange, fMaxNumPhotons, fProcessTrackSecondariesFirst, fProcessUse, fProfile, fScintillationByParticleType, fYieldFactor, G4cout, G4endl, G4OpticalProcessName(), kCerenkov, kNoProcess, kScintillation, and kWLS.

Referenced by ConstructProcess().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetFiniteRiseTime ( G4bool  finiteRiseTime)

Definition at line 320 of file G4OpticalPhysics.cc.

References fFiniteRiseTime, and G4Scintillation::SetFiniteRiseTime().

Referenced by G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetMaxBetaChangePerStep ( G4double  maxBetaChange)

Limit step to the specified maximum change of beta of the parent particle

Definition at line 278 of file G4OpticalPhysics.cc.

References fMaxBetaChange, and G4Cerenkov::SetMaxBetaChangePerStep().

Referenced by LXePhysicsList::LXePhysicsList(), and G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetMaxNumPhotonsPerStep ( G4int  maxNumPhotons)

Limit step to the specified maximum number of Cherenkov photons

Definition at line 270 of file G4OpticalPhysics.cc.

References fMaxNumPhotons, and G4Cerenkov::SetMaxNumPhotonsPerStep().

Referenced by LXePhysicsList::LXePhysicsList(), and G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetProcessVerbose ( G4int  index,
G4int  verbose 
)

Definition at line 339 of file G4OpticalPhysics.cc.

References fProcessVerbose, and kNoProcess.

void G4OpticalPhysics::SetScintillationByParticleType ( G4bool  scintillationByParticleType)

Definition at line 301 of file G4OpticalPhysics.cc.

References fScintillationByParticleType, and G4Scintillation::SetScintillationByParticleType().

Referenced by G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetScintillationExcitationRatio ( G4double  excitationRatio)

Set the scintillation excitation ratio

Definition at line 262 of file G4OpticalPhysics.cc.

References fExcitationRatio, and G4Scintillation::SetScintillationExcitationRatio().

Referenced by LXePhysicsList::LXePhysicsList().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetScintillationYieldFactor ( G4double  yieldFactor)

Set the scintillation yield factor

Definition at line 254 of file G4OpticalPhysics.cc.

References fYieldFactor, and G4Scintillation::SetScintillationYieldFactor().

Referenced by LXePhysicsList::LXePhysicsList(), and G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetTrackSecondariesFirst ( G4OpticalProcessIndex  index,
G4bool  trackSecondariesFirst 
)

Definition at line 307 of file G4OpticalPhysics.cc.

References fProcessTrackSecondariesFirst, kCerenkov, kNoProcess, kScintillation, G4Scintillation::SetTrackSecondariesFirst(), and G4Cerenkov::SetTrackSecondariesFirst().

Referenced by LXePhysicsList::LXePhysicsList(), and G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetWLSTimeProfile ( G4String  profile)

Set the WLS time profile (delta or exponential)

Definition at line 286 of file G4OpticalPhysics.cc.

References fProfile, and G4OpWLS::UseTimeProfile().

Referenced by LXePhysicsList::LXePhysicsList(), and G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4OpticalPhysics::fExcitationRatio
private

scintillation excitation ratio

Definition at line 129 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), PrintStatistics(), and SetScintillationExcitationRatio().

G4bool G4OpticalPhysics::fFiniteRiseTime
private

option to set a finite rise-time; Note: the G4Scintillation process expects the user to have set the constant material property FAST/SLOWSCINTILLATIONRISETIME

Definition at line 137 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), and SetFiniteRiseTime().

G4double G4OpticalPhysics::fMaxBetaChange
private

max change of beta per step

Definition at line 123 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), PrintStatistics(), and SetMaxBetaChangePerStep().

G4int G4OpticalPhysics::fMaxNumPhotons
private

max number of Cerenkov photons per step

Definition at line 120 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), PrintStatistics(), and SetMaxNumPhotonsPerStep().

G4OpticalPhysicsMessenger* G4OpticalPhysics::fMessenger
private

Definition at line 107 of file G4OpticalPhysics.hh.

Referenced by G4OpticalPhysics(), and ~G4OpticalPhysics().

std::vector<G4bool> G4OpticalPhysics::fProcessTrackSecondariesFirst
private
std::vector<G4bool> G4OpticalPhysics::fProcessUse
private
std::vector<G4int> G4OpticalPhysics::fProcessVerbose
private

Definition at line 113 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), G4OpticalPhysics(), and SetProcessVerbose().

G4String G4OpticalPhysics::fProfile
private

the WLS process time profile

Definition at line 132 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), PrintStatistics(), and SetWLSTimeProfile().

G4bool G4OpticalPhysics::fScintillationByParticleType
private

option to allow for the light yield to be a function of particle type and deposited energy in case of non-linear light emission in scintillators

Definition at line 142 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), PrintStatistics(), and SetScintillationByParticleType().

G4double G4OpticalPhysics::fYieldFactor
private

scintillation yield factor

Definition at line 126 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), PrintStatistics(), and SetScintillationYieldFactor().


The documentation for this class was generated from the following files: