51#ifndef G4OpticalParameters_h
52#define G4OpticalParameters_h 1
81 switch ( processNumber ) {
86 case kMieHG:
return "OpMieHG";
88 case kWLS:
return "OpWLS";
89 case kWLS2:
return "OpWLS2";
90 default:
return "NoProcess";
202 std::map<G4String, G4bool> processActivation;
205 G4bool cerenkovStackPhotons;
206 G4bool cerenkovTrackSecondariesFirst;
207 G4int cerenkovVerboseLevel;
208 G4int cerenkovMaxPhotons;
221 G4bool scintFiniteRiseTime;
226 G4bool scintByParticleType;
237 G4bool scintEnhancedTimeConstants;
239 G4int scintVerboseLevel;
240 G4bool scintTrackSecondariesFirst;
244 G4int wlsVerboseLevel;
248 G4int wls2VerboseLevel;
251 G4int absorptionVerboseLevel;
254 G4int rayleighVerboseLevel;
257 G4int mieVerboseLevel;
262 G4int boundaryVerboseLevel;
265#ifdef G4MULTITHREADED
266 static G4Mutex opticalParametersMutex;
std::ostringstream G4ExceptionDescription
@ kWLS
Wave Length Shifting process index.
@ kScintillation
Scintillation process index.
@ kWLS2
Second Wave Length Shifting process index.
@ kRayleigh
Rayleigh scattering process index.
@ kAbsorption
Absorption process index.
@ kBoundary
Boundary process index.
@ kNoProcess
Number of processes, no selected process.
@ kCerenkov
Cerenkov process index.
@ kMieHG
Mie scattering process index.
G4String G4OpticalProcessName(G4int)
Return the name for a given optical process index.
G4bool GetBoundaryInvokeSD() const
void SetScintByParticleType(G4bool)
void SetCerenkovMaxBetaChange(G4double)
void SetRayleighVerboseLevel(G4int)
void SetCerenkovMaxPhotonsPerStep(G4int)
void SetBoundaryInvokeSD(G4bool)
void Configure(G4OpticalProcessIndex, G4bool)
void SetBoundaryVerboseLevel(G4int)
G4int GetCerenkovVerboseLevel() const
void SetWLS2VerboseLevel(G4int)
void SetScintTrackSecondariesFirst(G4bool)
void SetScintEnhancedTimeConstants(G4bool)
friend std::ostream & operator<<(std::ostream &os, const G4OpticalParameters &)
G4int GetScintVerboseLevel() const
void StreamInfo(std::ostream &os) const
void SetTrackSecondariesFirst(G4OpticalProcessIndex, G4bool)
G4int GetAbsorptionVerboseLevel() const
void SetScintVerboseLevel(G4int)
void SetScintStackPhotons(G4bool)
G4bool GetScintStackPhotons() const
G4int GetBoundaryVerboseLevel() const
G4int GetRayleighVerboseLevel() const
G4int GetWLS2VerboseLevel() const
G4String GetWLS2TimeProfile() const
G4bool GetTrackSecondariesFirst(G4OpticalProcessIndex)
G4int GetMieVerboseLevel() const
void SetVerboseLevel(G4int)
void SetWLS2TimeProfile(const G4String &)
G4int GetCerenkovMaxPhotonsPerStep() const
static G4OpticalParameters * Instance()
G4double GetCerenkovMaxBetaChange() const
G4double GetScintExcitationRatio() const
G4bool GetConfiguration(G4OpticalProcessIndex)
G4int GetVerboseLevel() const
void SetAbsorptionVerboseLevel(G4int)
G4bool GetProcessActivation(const G4String &) const
void SetCerenkovStackPhotons(G4bool)
void SetCerenkovTrackSecondariesFirst(G4bool)
void SetScintFiniteRiseTime(G4bool)
G4String GetWLSTimeProfile() const
G4bool GetScintEnhancedTimeConstants() const
G4bool GetScintByParticleType() const
void SetMieVerboseLevel(G4int)
void SetScintTrackInfo(G4bool)
void SetWLSTimeProfile(const G4String &)
G4bool GetScintFiniteRiseTime() const
void SetCerenkovVerboseLevel(G4int)
G4double GetScintYieldFactor() const
G4bool GetScintTrackInfo() const
void SetScintExcitationRatio(G4double)
G4bool GetCerenkovTrackSecondariesFirst() const
void SetScintYieldFactor(G4double)
void SetWLSVerboseLevel(G4int)
G4int GetWLSVerboseLevel() const
void SetProcessActivation(const G4String &, G4bool)
G4bool GetScintTrackSecondariesFirst() const
G4bool GetCerenkovStackPhotons() const