262 G4cout <<
"G4OpticalPhysics:: Add Optical Physics Processes"<<
G4endl;
265 std::vector<G4VProcess*> OpProcesses;
277 OpProcesses[
kRayleigh] = OpRayleighScatteringProcess;
281 OpProcesses[
kMieHG] = OpMieHGScatteringProcess;
285 OpProcesses[
kBoundary] = OpBoundaryProcess;
290 OpProcesses[
kWLS] = OpWLSProcess;
296 std::ostringstream o;
297 o <<
"Optical Photon without a Process Manager";
298 G4Exception(
"G4OpticalPhysics::ConstructProcess()",
"",
325 OpProcesses[
kCerenkov] = CerenkovProcess;
328 myParticleIterator->reset();
330 while( (*myParticleIterator)() ){
337 std::ostringstream o;
338 o <<
"Particle " << particleName <<
"without a Process Manager";
339 G4Exception(
"G4OpticalPhysics::ConstructProcess()",
"",
void SetScintillationByParticleType(const G4bool)
void SetMaxBetaChangePerStep(const G4double d)
static G4LossTableManager * Instance()
void SetFiniteRiseTime(const G4bool state)
Number of processes, no selected process.
void SetTrackSecondariesFirst(const G4bool state)
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
Scintillation process index.
G4bool IsApplicable(const G4ParticleDefinition &aParticleType)
G4ProcessManager * GetProcessManager() const
Mie scattering process index.
Absorption process index.
std::vector< G4bool > fProcessTrackSecondariesFirst
G4double fMaxBetaChange
max change of beta per step
void UseTimeProfile(const G4String name)
void SetScintillationYieldFactor(const G4double yieldfactor)
std::vector< G4bool > fProcessUse
const G4String & GetParticleName() const
G4double fYieldFactor
scintillation yield factor
G4GLOB_DLL std::ostream G4cout
void AddSaturation(G4EmSaturation *)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
G4EmSaturation * EmSaturation()
G4int fMaxNumPhotons
max number of Cerenkov photons per step
void SetMaxNumPhotonsPerStep(const G4int NumPhotons)
G4double fExcitationRatio
scintillation excitation ratio
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
Wave Length Shifting process index.
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
void SetScintillationExcitationRatio(const G4double ratio)
static G4OpticalPhoton * OpticalPhoton()
void SetTrackSecondariesFirst(const G4bool state)
void SetProcessOrderingToLast(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
void buildCommands(T *proc, const char *dir, const char *guidance)
Rayleigh scattering process index.
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const
void PrintStatistics() const
G4String fProfile
the WLS process time profile
G4bool fScintillationByParticleType
G4bool IsApplicable(const G4ParticleDefinition &aParticleType)