LArSoft
v06_85_00
Liquid Argon Software toolkit - http://larsoft.org/
|
#include "OpFastScintillation.hh"
Public Member Functions | |
OpFastScintillation (const G4String &processName="Scintillation", G4ProcessType type=fElectromagnetic) | |
OpFastScintillation (const OpFastScintillation &right) | |
~OpFastScintillation () | |
virtual G4bool | IsApplicable (const G4ParticleDefinition &aParticleType) |
G4double | GetMeanFreePath (const G4Track &aTrack, G4double, G4ForceCondition *) |
G4double | GetMeanLifeTime (const G4Track &aTrack, G4ForceCondition *) |
virtual G4VParticleChange * | PostStepDoIt (const G4Track &aTrack, const G4Step &aStep) |
virtual G4VParticleChange * | AtRestDoIt (const G4Track &aTrack, const G4Step &aStep) |
void | SetTrackSecondariesFirst (const G4bool state) |
void | SetFiniteRiseTime (const G4bool state) |
G4bool | GetTrackSecondariesFirst () const |
G4bool | GetFiniteRiseTime () const |
void | SetScintillationYieldFactor (const G4double yieldfactor) |
G4double | GetScintillationYieldFactor () const |
void | SetScintillationExcitationRatio (const G4double excitationratio) |
G4double | GetScintillationExcitationRatio () const |
G4PhysicsTable * | GetFastIntegralTable () const |
G4PhysicsTable * | GetSlowIntegralTable () const |
void | AddSaturation (G4EmSaturation *sat) |
void | RemoveSaturation () |
G4EmSaturation * | GetSaturation () const |
void | SetScintillationByParticleType (const G4bool) |
G4bool | GetScintillationByParticleType () const |
void | DumpPhysicsTable () const |
std::vector< double > | GetVUVTime (double, int) |
std::vector< double > | GetVisibleTimeOnlyCathode (double, int) |
Protected Member Functions | |
void | BuildThePhysicsTable () |
bool | RecordPhotonsProduced (const G4Step &aStep, double N) |
Protected Attributes | |
G4PhysicsTable * | theSlowIntegralTable |
G4PhysicsTable * | theFastIntegralTable |
G4bool | fTrackSecondariesFirst |
G4bool | fFiniteRiseTime |
G4double | YieldFactor |
G4double | ExcitationRatio |
G4bool | scintillationByParticleType |
Private Member Functions | |
G4double | single_exp (G4double t, G4double tau2) |
G4double | bi_exp (G4double t, G4double tau1, G4double tau2) |
G4double | sample_time (G4double tau1, G4double tau2) |
void | ProcessStep (const G4Step &step) |
Private Attributes | |
G4EmSaturation * | emSaturation |
TF1 const * | functions_vuv [8] |
TF1 const * | functions_vis [5] |
double | fd_break |
double | fd_max |
double | ftf1_sampling_factor |
double | ft0_max |
double | ft0_break_point |
Definition at line 114 of file OpFastScintillation.hh.
larg4::OpFastScintillation::OpFastScintillation | ( | const G4String & | processName = "Scintillation" , |
G4ProcessType | type = fElectromagnetic |
||
) |
Definition at line 151 of file OpFastScintillation.cxx.
References BuildThePhysicsTable(), emSaturation, ExcitationRatio, fd_break, fd_max, fFiniteRiseTime, ft0_break_point, ft0_max, ftf1_sampling_factor, fTrackSecondariesFirst, functions_vis, functions_vuv, phot::PhotonVisibilityService::IncludePropTime(), detinfo::LArProperties::ScintByParticleType(), scintillationByParticleType, phot::PhotonVisibilityService::SetDirectLightPropFunctions(), phot::PhotonVisibilityService::SetReflectedCOLightPropFunctions(), theFastIntegralTable, theSlowIntegralTable, and YieldFactor.
larg4::OpFastScintillation::OpFastScintillation | ( | const OpFastScintillation & | right | ) |
Definition at line 188 of file OpFastScintillation.cxx.
References BuildThePhysicsTable(), emSaturation, ExcitationRatio, fFiniteRiseTime, fTrackSecondariesFirst, GetFastIntegralTable(), GetFiniteRiseTime(), GetSaturation(), GetScintillationByParticleType(), GetScintillationExcitationRatio(), GetScintillationYieldFactor(), GetSlowIntegralTable(), GetTrackSecondariesFirst(), scintillationByParticleType, theFastIntegralTable, theSlowIntegralTable, and YieldFactor.
larg4::OpFastScintillation::~OpFastScintillation | ( | ) |
Definition at line 209 of file OpFastScintillation.cxx.
References theFastIntegralTable, and theSlowIntegralTable.
|
inline |
Definition at line 209 of file OpFastScintillation.hh.
References emSaturation.
|
virtual |
Definition at line 230 of file OpFastScintillation.cxx.
References PostStepDoIt().
|
inlineprivate |
Definition at line 395 of file OpFastScintillation.hh.
Referenced by sample_time().
|
protected |
Definition at line 878 of file OpFastScintillation.cxx.
References theFastIntegralTable, and theSlowIntegralTable.
Referenced by GetScintillationByParticleType(), and OpFastScintillation().
|
inline |
Definition at line 363 of file OpFastScintillation.hh.
References theFastIntegralTable, and theSlowIntegralTable.
Referenced by GetScintillationByParticleType().
|
inline |
Definition at line 357 of file OpFastScintillation.hh.
References theFastIntegralTable.
Referenced by OpFastScintillation().
|
inline |
Definition at line 321 of file OpFastScintillation.hh.
References fFiniteRiseTime.
Referenced by OpFastScintillation().
G4double larg4::OpFastScintillation::GetMeanFreePath | ( | const G4Track & | aTrack, |
G4double | , | ||
G4ForceCondition * | condition | ||
) |
Definition at line 1046 of file OpFastScintillation.cxx.
G4double larg4::OpFastScintillation::GetMeanLifeTime | ( | const G4Track & | aTrack, |
G4ForceCondition * | condition | ||
) |
Definition at line 1060 of file OpFastScintillation.cxx.
|
inline |
Definition at line 215 of file OpFastScintillation.hh.
References emSaturation, and SetScintillationByParticleType().
Referenced by OpFastScintillation().
|
inline |
Definition at line 222 of file OpFastScintillation.hh.
References BuildThePhysicsTable(), DumpPhysicsTable(), GetVisibleTimeOnlyCathode(), GetVUVTime(), RecordPhotonsProduced(), and scintillationByParticleType.
Referenced by OpFastScintillation().
|
inline |
Definition at line 345 of file OpFastScintillation.hh.
References ExcitationRatio.
Referenced by OpFastScintillation().
|
inline |
Definition at line 333 of file OpFastScintillation.hh.
References YieldFactor.
Referenced by OpFastScintillation().
|
inline |
Definition at line 351 of file OpFastScintillation.hh.
References theSlowIntegralTable.
Referenced by OpFastScintillation().
|
inline |
Definition at line 315 of file OpFastScintillation.hh.
References fTrackSecondariesFirst.
Referenced by OpFastScintillation().
std::vector< double > larg4::OpFastScintillation::GetVisibleTimeOnlyCathode | ( | double | t0, |
int | number_photons | ||
) |
Definition at line 1165 of file OpFastScintillation.cxx.
References larg4::finter_d(), ft0_break_point, ft0_max, ftf1_sampling_factor, functions_vis, and larg4::LandauPlusExpoFinal().
Referenced by GetScintillationByParticleType(), and RecordPhotonsProduced().
std::vector< double > larg4::OpFastScintillation::GetVUVTime | ( | double | distance, |
int | number_photons | ||
) |
Definition at line 1095 of file OpFastScintillation.cxx.
References fd_break, fd_max, larg4::finter_d(), ftf1_sampling_factor, functions_vuv, and larg4::LandauPlusExpoFinal().
Referenced by GetScintillationByParticleType(), and RecordPhotonsProduced().
|
inlinevirtual |
Definition at line 294 of file OpFastScintillation.hh.
Referenced by larg4::FastOpticalPhysics::ConstructProcess().
|
virtual |
Definition at line 243 of file OpFastScintillation.cxx.
References larg4::IonizationAndScintillation::Instance(), larg4::IonizationAndScintillation::NumberScintillationPhotons(), RecordPhotonsProduced(), and larg4::IonizationAndScintillation::Reset().
Referenced by AtRestDoIt().
|
private |
Definition at line 353 of file OpFastScintillation.cxx.
References larg4::OpDetPhotonTable::AddEnergyDeposit(), larg4::ParticleListAction::GetCurrentTrackID(), and larg4::OpDetPhotonTable::Instance().
Referenced by RecordPhotonsProduced().
|
protected |
Definition at line 378 of file OpFastScintillation.cxx.
References larg4::OpDetPhotonTable::AddOpDetBacktrackerRecord(), larg4::OpDetPhotonTable::AddPhoton(), sim::OpDetBacktrackerRecord::AddScintillationPhotons(), energy, sim::OnePhoton::Energy, ExcitationRatio, fFiniteRiseTime, sim::LArG4Parameters::FillSimEnergyDeposits(), phot::PhotonVisibilityService::GetAllVisibilities(), geo::OpDetGeo::GetCenter(), larg4::ParticleListAction::GetCurrentTrackID(), phot::PhotonVisibilityService::GetReflT0s(), phot::PhotonVisibilityService::GetTimingTF1(), GetVisibleTimeOnlyCathode(), GetVUVTime(), phot::PhotonVisibilityService::IncludeParPropTime(), phot::PhotonVisibilityService::IncludePropTime(), sim::OnePhoton::InitialPosition, larg4::IonizationAndScintillation::Instance(), larg4::OpDetPhotonTable::Instance(), min, sim::OnePhoton::MotherTrackID, phot::PhotonVisibilityService::NOpChannels(), sim::LArG4Parameters::NoPhotonPropagation(), geo::GeometryCore::OpDetGeoFromOpDet(), ProcessStep(), sample_time(), scintillationByParticleType, sim::OnePhoton::SetInSD, phot::PhotonVisibilityService::StoreReflected(), phot::PhotonVisibilityService::StoreReflT0(), theFastIntegralTable, theSlowIntegralTable, sim::OnePhoton::Time, sim::LArG4Parameters::UseLitePhotons(), and larg4::IonizationAndScintillation::VisibleEnergyDeposit().
Referenced by GetScintillationByParticleType(), and PostStepDoIt().
|
inline |
Definition at line 212 of file OpFastScintillation.hh.
References emSaturation.
Referenced by SetScintillationByParticleType().
|
private |
Definition at line 1069 of file OpFastScintillation.cxx.
References bi_exp(), d, and single_exp().
Referenced by RecordPhotonsProduced().
|
inline |
Definition at line 309 of file OpFastScintillation.hh.
References fFiniteRiseTime.
void larg4::OpFastScintillation::SetScintillationByParticleType | ( | const G4bool | scintType | ) |
Definition at line 1032 of file OpFastScintillation.cxx.
References emSaturation, RemoveSaturation(), and scintillationByParticleType.
Referenced by GetSaturation().
|
inline |
Definition at line 339 of file OpFastScintillation.hh.
References ExcitationRatio.
|
inline |
|
inline |
Definition at line 303 of file OpFastScintillation.hh.
References fTrackSecondariesFirst.
|
inlineprivate |
Definition at line 389 of file OpFastScintillation.hh.
Referenced by sample_time().
|
private |
Definition at line 272 of file OpFastScintillation.hh.
Referenced by AddSaturation(), GetSaturation(), OpFastScintillation(), RemoveSaturation(), and SetScintillationByParticleType().
|
protected |
Definition at line 260 of file OpFastScintillation.hh.
Referenced by GetScintillationExcitationRatio(), OpFastScintillation(), RecordPhotonsProduced(), and SetScintillationExcitationRatio().
|
private |
Definition at line 276 of file OpFastScintillation.hh.
Referenced by GetVUVTime(), and OpFastScintillation().
|
private |
Definition at line 277 of file OpFastScintillation.hh.
Referenced by GetVUVTime(), and OpFastScintillation().
|
protected |
Definition at line 256 of file OpFastScintillation.hh.
Referenced by GetFiniteRiseTime(), OpFastScintillation(), RecordPhotonsProduced(), and SetFiniteRiseTime().
|
private |
Definition at line 279 of file OpFastScintillation.hh.
Referenced by GetVisibleTimeOnlyCathode(), and OpFastScintillation().
|
private |
Definition at line 279 of file OpFastScintillation.hh.
Referenced by GetVisibleTimeOnlyCathode(), and OpFastScintillation().
|
private |
Definition at line 278 of file OpFastScintillation.hh.
Referenced by GetVisibleTimeOnlyCathode(), GetVUVTime(), and OpFastScintillation().
|
protected |
Definition at line 255 of file OpFastScintillation.hh.
Referenced by GetTrackSecondariesFirst(), OpFastScintillation(), and SetTrackSecondariesFirst().
|
private |
Definition at line 275 of file OpFastScintillation.hh.
Referenced by GetVisibleTimeOnlyCathode(), and OpFastScintillation().
|
private |
Definition at line 274 of file OpFastScintillation.hh.
Referenced by GetVUVTime(), and OpFastScintillation().
|
protected |
Definition at line 262 of file OpFastScintillation.hh.
Referenced by GetScintillationByParticleType(), OpFastScintillation(), RecordPhotonsProduced(), and SetScintillationByParticleType().
|
protected |
Definition at line 253 of file OpFastScintillation.hh.
Referenced by BuildThePhysicsTable(), DumpPhysicsTable(), GetFastIntegralTable(), OpFastScintillation(), RecordPhotonsProduced(), and ~OpFastScintillation().
|
protected |
Definition at line 252 of file OpFastScintillation.hh.
Referenced by BuildThePhysicsTable(), DumpPhysicsTable(), GetSlowIntegralTable(), OpFastScintillation(), RecordPhotonsProduced(), and ~OpFastScintillation().
|
protected |
Definition at line 258 of file OpFastScintillation.hh.
Referenced by GetScintillationYieldFactor(), OpFastScintillation(), and SetScintillationYieldFactor().