Geant4  10.01.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 SetMaxNumPhotonsPerStep (G4int)
 
void SetMaxBetaChangePerStep (G4double)
 
void SetScintillationYieldFactor (G4double)
 
void SetScintillationExcitationRatio (G4double)
 
void SetWLSTimeProfile (G4String)
 
void SetScintillationByParticleType (G4bool)
 
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< 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 86 of file G4OpticalPhysics.cc.

References fMessenger.

G4OpticalPhysics::G4OpticalPhysics ( const G4OpticalPhysics right)
private

Not implemented.

Member Function Documentation

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

Definition at line 437 of file G4OpticalPhysics.cc.

References fProcessUse, and kNoProcess.

Referenced by G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4OpticalPhysics::ConstructParticle ( void  )
protectedvirtual

Instantiate particles.

Implements G4VPhysicsConstructor.

Definition at line 137 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 257 of file G4OpticalPhysics.cc.

References G4ProcessManager::AddDiscreteProcess(), G4ProcessManager::AddProcess(), G4Scintillation::AddSaturation(), aParticleIterator, UIhelpers::buildCommands(), DIR_CMDS, G4LossTableManager::EmSaturation(), FatalException, fExcitationRatio, fFiniteRiseTime, fMaxBetaChange, fMaxNumPhotons, fProcessTrackSecondariesFirst, fProcessUse, fProfile, fScintillationByParticleType, fYieldFactor, G4cout, G4endl, G4Exception(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetProcessManager(), GUIDANCE, idxAtRest, idxPostStep, G4LossTableManager::Instance(), G4Cerenkov::IsApplicable(), G4Scintillation::IsApplicable(), 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 93 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 431 of file G4OpticalPhysics.cc.

References fFiniteRiseTime.

Referenced by G4OpticalPhysicsMessenger::SetNewValue().

+ 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 391 of file G4OpticalPhysics.cc.

References fMaxBetaChange.

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

+ 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 383 of file G4OpticalPhysics.cc.

References fMaxNumPhotons.

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

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetScintillationByParticleType ( G4bool  scintillationByParticleType)

Definition at line 412 of file G4OpticalPhysics.cc.

References fScintillationByParticleType.

Referenced by G4OpticalPhysicsMessenger::SetNewValue().

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetScintillationExcitationRatio ( G4double  excitationRatio)

Set the scintillation excitation ratio

Definition at line 375 of file G4OpticalPhysics.cc.

References fExcitationRatio.

Referenced by LXePhysicsList::LXePhysicsList().

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetScintillationYieldFactor ( G4double  yieldFactor)

Set the scintillation yield factor

Definition at line 367 of file G4OpticalPhysics.cc.

References fYieldFactor.

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

+ Here is the caller graph for this function:

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

Definition at line 418 of file G4OpticalPhysics.cc.

References fProcessTrackSecondariesFirst, and kNoProcess.

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

+ Here is the caller graph for this function:

void G4OpticalPhysics::SetWLSTimeProfile ( G4String  profile)

Set the WLS time profile (delta or exponential)

Definition at line 399 of file G4OpticalPhysics.cc.

References fProfile.

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

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4OpticalPhysics::fExcitationRatio
private

scintillation excitation ratio

Definition at line 123 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 131 of file G4OpticalPhysics.hh.

Referenced by ConstructProcess(), and SetFiniteRiseTime().

G4double G4OpticalPhysics::fMaxBetaChange
private

max change of beta per step

Definition at line 117 of file G4OpticalPhysics.hh.

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

G4int G4OpticalPhysics::fMaxNumPhotons
private

max number of Cerenkov photons per step

Definition at line 114 of file G4OpticalPhysics.hh.

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

G4OpticalPhysicsMessenger* G4OpticalPhysics::fMessenger
private

Definition at line 104 of file G4OpticalPhysics.hh.

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

std::vector<G4bool> G4OpticalPhysics::fProcessTrackSecondariesFirst
private
std::vector<G4bool> G4OpticalPhysics::fProcessUse
private
G4String G4OpticalPhysics::fProfile
private

the WLS process time profile

Definition at line 126 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 136 of file G4OpticalPhysics.hh.

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

G4double G4OpticalPhysics::fYieldFactor
private

scintillation yield factor

Definition at line 120 of file G4OpticalPhysics.hh.

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


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