70     fExcitationRatio(0.0),
 
   72     fFiniteRiseTime(false),
 
   73     fScintillationByParticleType(false),
 
   74     fScintillationTrackInfo(false),
 
  110           G4cout << 
"    Track secondaries first:  activated" << 
G4endl;
 
  113           G4cout << 
"    Track secondaries first:  inactivated" << 
G4endl;
 
  118         G4cout << 
"    Scintillation by Particle Type:  activated " << 
G4endl;
 
  122           G4cout << 
"    Track secondaries first:  activated" << 
G4endl;
 
  125           G4cout << 
"    Track secondaries first:  inactivated" << 
G4endl;
 
  148 #define DIR_CMDS "/process/optical" 
  149 #define GUIDANCE "Commands related to the optical physics simulation engine for " 
  161                                                                    "Set the verbose level");
 
  176                                                                    "Set the WLS time profile (delta or exponential)");
 
  190                                                                   "Set option of a finite rise-time for G4Scintillation - If set, the G4Scintillation process expects the user to have set the constant material property FAST/SLOWSCINTILLATIONRISETIME");
 
  196                                                                   "Set scintillation yield factor");
 
  203                                                                   "Set scintillation excitation ratio");
 
  210                                                                   "Activate/Inactivate scintillation process by particle type");
 
  216                                                                   "Activate/Inactivate scintillation track info");
 
  222                                                                   "Set option to track secondaries before finishing their parent track");
 
  236                                                                   "Set maximum number of photons per step");
 
  243                                                                   "Set maximum change of beta of parent particle per step");
 
  250                                                                   "Set option to track secondaries before finishing their parent track");
 
  271          G4cout <<
"G4OpticalPhysics:: Add Optical Physics Processes"<< 
G4endl;
 
  274   std::vector<G4VProcess*> OpProcesses;
 
  286   OpProcesses[
kRayleigh] = OpRayleighScatteringProcess;
 
  290   OpProcesses[
kMieHG] = OpMieHGScatteringProcess;
 
  295   OpProcesses[
kBoundary] = OpBoundaryProcess;
 
  300   OpProcesses[
kWLS] = OpWLSProcess;
 
  306      std::ostringstream o;
 
  307      o << 
"Optical Photon without a Process Manager";
 
  308      G4Exception(
"G4OpticalPhysics::ConstructProcess()",
"",
 
  336   OpProcesses[
kCerenkov] = CerenkovProcess;
 
  339   myParticleIterator->reset();
 
  341   while( (*myParticleIterator)() ){
 
  348        std::ostringstream o;
 
  349        o << 
"Particle " << particleName << 
"without a Process Manager";
 
  350        G4Exception(
"G4OpticalPhysics::ConstructProcess()",
"",
 
  438                                                 G4bool trackSecondariesFirst)
 
void SetScintillationByParticleType(const G4bool)
void SetMaxBetaChangePerStep(const G4double d)
void SetScintillationTrackInfo(const G4bool trackType)
static G4LossTableManager * Instance()
void SetFiniteRiseTime(const G4bool state)
Number of processes, no selected process. 
virtual void ConstructParticle()
void SetTrackSecondariesFirst(const G4bool state)
void SetMaxBetaChangePerStep(G4double)
This class is generic messenger. 
G4OpticalPhysicsMessenger * fMessenger
G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord=ordDefault)
Command & DeclareMethod(const G4String &name, const G4AnyMethod &fun, const G4String &doc="")
Scintillation process index. 
Mie scattering process index. 
const char * name(G4int ptype)
void SetFiniteRiseTime(G4bool)
Absorption process index. 
const G4String & GetParticleName() const 
void SetScintillationByParticleType(G4bool)
std::vector< G4bool > fProcessTrackSecondariesFirst
G4double fMaxBetaChange
max change of beta per step 
void UseTimeProfile(const G4String name)
virtual void ConstructProcess()
virtual ~G4OpticalPhysics()
Command & SetDefaultValue(const G4String &)
G4ParticleTable::G4PTblDicIterator * GetParticleIterator() const 
void SetScintillationYieldFactor(const G4double yieldfactor)
G4bool fInvokeSD
option to allow for G4OpBoundaryProcess to call/not call InvokeSD method 
std::vector< G4bool > fProcessUse
G4double fYieldFactor
scintillation yield factor 
G4GLOB_DLL std::ostream G4cout
G4bool fScintillationTrackInfo
option to allow for G4ScintillationTrackInformation to be attached to a scintillation photon's track ...
void SetMaxNumPhotonsPerStep(G4int)
G4bool fFiniteRiseTime
option to set a finite rise-time; Note: the G4Scintillation process expects the user to have set the ...
void Configure(G4OpticalProcessIndex, G4bool)
G4int AddProcess(G4VProcess *aProcess, G4int ordAtRestDoIt=ordInActive, G4int ordAlongSteptDoIt=ordInActive, G4int ordPostStepDoIt=ordInActive)
G4EmSaturation * EmSaturation()
G4int fMaxNumPhotons
max number of Cerenkov photons per step 
G4_DECLARE_PHYSCONSTR_FACTORY(G4OpticalPhysics)
void SetMaxNumPhotonsPerStep(const G4int NumPhotons)
G4double fExcitationRatio
scintillation excitation ratio 
void SetProcessOrdering(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt, G4int ordDoIt=ordDefault)
Command & SetStates(G4ApplicationState s0)
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 SetScintillationExcitationRatio(G4double)
G4String G4OpticalProcessName(G4int)
Return the name for a given optical process index. 
G4OpticalPhysics(G4int verbose=0, const G4String &name="Optical")
void SetScintillationYieldFactor(G4double)
void SetTrackSecondariesFirst(const G4bool state)
void SetProcessOrderingToLast(G4VProcess *aProcess, G4ProcessVectorDoItIndex idDoIt)
G4ProcessManager * GetProcessManager() const 
Command & SetCandidates(const G4String &)
void buildCommands(T *proc, const char *dir, const char *guidance)
G4bool IsApplicable(const G4ParticleDefinition &aParticleType) override
void SetScintillationTrackInfo(G4bool)
void SetWLSTimeProfile(G4String)
void SetTrackSecondariesFirst(G4OpticalProcessIndex, G4bool)
Command & SetParameterName(const G4String &, G4bool, G4bool=false)
static G4OpticalPhoton * OpticalPhotonDefinition()
Rayleigh scattering process index. 
G4bool IsApplicable(const G4ParticleDefinition &aParticleType) override
G4String fProfile
the WLS process time profile 
void PrintStatistics() const 
void AddSaturation(G4EmSaturation *sat)
G4bool fScintillationByParticleType
option to allow for the light yield to be a function of particle type and deposited energy in case of...