53#ifndef G4Scintillation_h
54#define G4Scintillation_h 1
116 const G4Step& aStep)
override;
118 const G4Step& aStep)
override;
239 G4bool fTrackSecondariesFirst;
243 G4bool fScintillationByParticleType;
244 G4bool fScintillationTrackInfo;
247 G4bool fEnhancedTimeConstants;
249#ifdef G4DEBUG_SCINTILLATION
250 G4double ScintTrackEDep, ScintTrackYield;
270 fTrackSecondariesFirst = state;
275 return fTrackSecondariesFirst;
280 fFiniteRiseTime = state;
285 return fFiniteRiseTime;
291 fYieldFactor = yieldfactor;
302 fExcitationRatio = ratio;
307 return fExcitationRatio;
344 return fEmSaturation;
349 return fScintillationByParticleType;
354 fEnhancedTimeConstants = val;
359 return fEnhancedTimeConstants;
364 fScintillationTrackInfo = trackType;
369 return fScintillationTrackInfo;
374 fStackingFlag = stackingFlag;
383 return std::exp(-1.0 * t / tau2) / tau2;
389 return std::exp(-1.0 * t / tau2) * (1 - std::exp(-1.0 * t / tau1)) / tau2 /
390 tau2 * (tau1 + tau2);
static G4OpticalPhoton * OpticalPhotonDefinition()
G4bool GetScintillationTrackInfo() const
G4PhysicsTable * fIntegralTable3
G4VParticleChange * AtRestDoIt(const G4Track &aTrack, const G4Step &aStep) override
G4EmSaturation * GetSaturation() const
void SetScintillationYieldFactor(const G4double yieldfactor)
G4PhysicsTable * GetIntegralTable1() const
void SetTrackSecondariesFirst(const G4bool state)
void SetStackPhotons(const G4bool)
G4double GetMeanFreePath(const G4Track &aTrack, G4double, G4ForceCondition *) override
void BuildPhysicsTable(const G4ParticleDefinition &aParticleType) override
G4double GetScintillationYieldByParticleType(const G4Track &aTrack, const G4Step &aStep)
void SetScintillationExcitationRatio(const G4double ratio)
G4PhysicsTable * fIntegralTable1
void SetScintillationTrackInfo(const G4bool trackType)
void SetEnhancedTimeConstants(G4bool)
G4bool GetEnhancedTimeConstants() const
G4bool GetFiniteRiseTime() const
G4double GetMeanLifeTime(const G4Track &aTrack, G4ForceCondition *) override
G4PhysicsTable * GetIntegralTable2() const
G4PhysicsTable * GetIntegralTable3() const
G4VParticleChange * PostStepDoIt(const G4Track &aTrack, const G4Step &aStep) override
void AddSaturation(G4EmSaturation *sat)
G4bool IsApplicable(const G4ParticleDefinition &aParticleType) override
G4double GetScintillationYieldFactor() const
void DumpPhysicsTable() const
void SetFiniteRiseTime(const G4bool state)
G4double GetScintillationExcitationRatio() const
G4PhysicsTable * GetFastIntegralTable() const
G4int GetNumPhotons() const
G4bool GetTrackSecondariesFirst() const
G4bool GetScintillationByParticleType() const
G4PhysicsTable * GetSlowIntegralTable() const
void PreparePhysicsTable(const G4ParticleDefinition &part) override
void SetScintillationByParticleType(const G4bool)
G4PhysicsTable * fIntegralTable2
G4bool GetStackPhotons() const