LArSoft
v07_13_02
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) const |
std::vector< double > | GetVisibleTimeOnlyCathode (double, int) const |
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) const |
G4double | bi_exp (G4double t, G4double tau1, G4double tau2) const |
G4double | scint_time (const G4Step &aStep, G4double ScintillationTime, G4double ScintillationRiseTime) const |
std::vector< double > | propagation_time (G4ThreeVector x0, int OpChannel, int NPhotons, bool Reflected=false) const |
G4double | sample_time (G4double tau1, G4double tau2) const |
double | reemission_energy () const |
void | average_position (G4Step const &aStep, double *xzyPos) const |
void | ProcessStep (const G4Step &step) |
Private Attributes | |
std::map< double, double > | tpbemission |
CLHEP::RandGeneral * | rgen0 |
G4EmSaturation * | emSaturation |
TF1 * | ParPropTimeTF1 |
float const * | ReflT0s |
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 |
bool | bPropagate |
Whether propagation of photons is enabled. More... | |
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 bPropagate, BuildThePhysicsTable(), emSaturation, ExcitationRatio, fd_break, fd_max, fFiniteRiseTime, ft0_break_point, ft0_max, ftf1_sampling_factor, fTrackSecondariesFirst, functions_vis, functions_vuv, phot::PhotonVisibilityService::IncludePropTime(), rgen0, detinfo::LArProperties::ScintByParticleType(), scintillationByParticleType, phot::PhotonVisibilityService::SetDirectLightPropFunctions(), phot::PhotonVisibilityService::SetReflectedCOLightPropFunctions(), theFastIntegralTable, theSlowIntegralTable, tpbemission, and YieldFactor.
larg4::OpFastScintillation::OpFastScintillation | ( | const OpFastScintillation & | right | ) |
Definition at line 202 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 223 of file OpFastScintillation.cxx.
References theFastIntegralTable, and theSlowIntegralTable.
|
inline |
Definition at line 209 of file OpFastScintillation.hh.
References emSaturation.
|
virtual |
Definition at line 244 of file OpFastScintillation.cxx.
References PostStepDoIt().
|
private |
|
inlineprivate |
Definition at line 412 of file OpFastScintillation.hh.
Referenced by sample_time().
|
protected |
Definition at line 759 of file OpFastScintillation.cxx.
References theFastIntegralTable, and theSlowIntegralTable.
Referenced by GetScintillationByParticleType(), and OpFastScintillation().
|
inline |
Definition at line 380 of file OpFastScintillation.hh.
References theFastIntegralTable, and theSlowIntegralTable.
Referenced by GetScintillationByParticleType().
|
inline |
Definition at line 374 of file OpFastScintillation.hh.
References theFastIntegralTable.
Referenced by OpFastScintillation().
|
inline |
Definition at line 338 of file OpFastScintillation.hh.
References fFiniteRiseTime.
Referenced by OpFastScintillation().
G4double larg4::OpFastScintillation::GetMeanFreePath | ( | const G4Track & | aTrack, |
G4double | , | ||
G4ForceCondition * | condition | ||
) |
Definition at line 927 of file OpFastScintillation.cxx.
G4double larg4::OpFastScintillation::GetMeanLifeTime | ( | const G4Track & | aTrack, |
G4ForceCondition * | condition | ||
) |
Definition at line 941 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 362 of file OpFastScintillation.hh.
References ExcitationRatio.
Referenced by OpFastScintillation().
|
inline |
Definition at line 350 of file OpFastScintillation.hh.
References YieldFactor.
Referenced by OpFastScintillation().
|
inline |
Definition at line 368 of file OpFastScintillation.hh.
References theSlowIntegralTable.
Referenced by OpFastScintillation().
|
inline |
Definition at line 332 of file OpFastScintillation.hh.
References fTrackSecondariesFirst.
Referenced by OpFastScintillation().
std::vector< double > larg4::OpFastScintillation::GetVisibleTimeOnlyCathode | ( | double | t0, |
int | number_photons | ||
) | const |
Definition at line 1136 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 propagation_time().
std::vector< double > larg4::OpFastScintillation::GetVUVTime | ( | double | distance, |
int | number_photons | ||
) | const |
Definition at line 1066 of file OpFastScintillation.cxx.
References fd_break, fd_max, larg4::finter_d(), ftf1_sampling_factor, functions_vuv, and larg4::LandauPlusExpoFinal().
Referenced by GetScintillationByParticleType(), and propagation_time().
|
inlinevirtual |
Definition at line 311 of file OpFastScintillation.hh.
Referenced by larg4::FastOpticalPhysics::ConstructProcess().
|
virtual |
Definition at line 257 of file OpFastScintillation.cxx.
References larg4::IonizationAndScintillation::Instance(), larg4::IonizationAndScintillation::NumberScintillationPhotons(), RecordPhotonsProduced(), and larg4::IonizationAndScintillation::Reset().
Referenced by AtRestDoIt().
|
private |
Definition at line 367 of file OpFastScintillation.cxx.
References larg4::OpDetPhotonTable::AddEnergyDeposit(), larg4::ParticleListAction::GetCurrentTrackID(), and larg4::OpDetPhotonTable::Instance().
Referenced by RecordPhotonsProduced().
|
private |
Definition at line 971 of file OpFastScintillation.cxx.
References geo::OpDetGeo::GetCenter(), GetVisibleTimeOnlyCathode(), GetVUVTime(), phot::PhotonVisibilityService::IncludeParPropTime(), phot::PhotonVisibilityService::IncludePropTime(), geo::GeometryCore::OpDetGeoFromOpDet(), ParPropTimeTF1, and ReflT0s.
Referenced by RecordPhotonsProduced().
|
protected |
Definition at line 392 of file OpFastScintillation.cxx.
References larg4::OpDetPhotonTable::AddLitePhoton(), larg4::OpDetPhotonTable::AddOpDetBacktrackerRecord(), larg4::OpDetPhotonTable::AddPhoton(), sim::OpDetBacktrackerRecord::AddScintillationPhotons(), average_position(), bPropagate, sim::OnePhoton::Energy, ExcitationRatio, fFiniteRiseTime, sim::LArG4Parameters::FillSimEnergyDeposits(), phot::PhotonVisibilityService::GetAllVisibilities(), larg4::ParticleListAction::GetCurrentTrackID(), phot::PhotonVisibilityService::GetReflT0s(), phot::PhotonVisibilityService::GetTimingTF1(), phot::PhotonVisibilityService::IncludeParPropTime(), sim::OnePhoton::InitialPosition, larg4::IonizationAndScintillation::Instance(), larg4::OpDetPhotonTable::Instance(), min, sim::OnePhoton::MotherTrackID, phot::PhotonVisibilityService::NOpChannels(), ParPropTimeTF1, ProcessStep(), propagation_time(), reemission_energy(), ReflT0s, scint_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().
|
private |
Definition at line 1043 of file OpFastScintillation.cxx.
References rgen0, and tpbemission.
Referenced by RecordPhotonsProduced().
|
inline |
Definition at line 212 of file OpFastScintillation.hh.
References emSaturation.
Referenced by SetScintillationByParticleType().
|
private |
Definition at line 1021 of file OpFastScintillation.cxx.
References bi_exp(), d, and single_exp().
Referenced by scint_time().
|
private |
Definition at line 950 of file OpFastScintillation.cxx.
References sample_time().
Referenced by RecordPhotonsProduced().
|
inline |
Definition at line 326 of file OpFastScintillation.hh.
References fFiniteRiseTime.
void larg4::OpFastScintillation::SetScintillationByParticleType | ( | const G4bool | scintType | ) |
Definition at line 913 of file OpFastScintillation.cxx.
References emSaturation, RemoveSaturation(), and scintillationByParticleType.
Referenced by GetSaturation().
|
inline |
Definition at line 356 of file OpFastScintillation.hh.
References ExcitationRatio.
|
inline |
|
inline |
Definition at line 320 of file OpFastScintillation.hh.
References fTrackSecondariesFirst.
|
inlineprivate |
Definition at line 406 of file OpFastScintillation.hh.
Referenced by sample_time().
|
private |
Whether propagation of photons is enabled.
Definition at line 299 of file OpFastScintillation.hh.
Referenced by OpFastScintillation(), and RecordPhotonsProduced().
|
private |
Definition at line 284 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 291 of file OpFastScintillation.hh.
Referenced by GetVUVTime(), and OpFastScintillation().
|
private |
Definition at line 292 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 294 of file OpFastScintillation.hh.
Referenced by GetVisibleTimeOnlyCathode(), and OpFastScintillation().
|
private |
Definition at line 294 of file OpFastScintillation.hh.
Referenced by GetVisibleTimeOnlyCathode(), and OpFastScintillation().
|
private |
Definition at line 293 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 290 of file OpFastScintillation.hh.
Referenced by GetVisibleTimeOnlyCathode(), and OpFastScintillation().
|
private |
Definition at line 289 of file OpFastScintillation.hh.
Referenced by GetVUVTime(), and OpFastScintillation().
|
private |
Definition at line 286 of file OpFastScintillation.hh.
Referenced by propagation_time(), and RecordPhotonsProduced().
|
private |
Definition at line 287 of file OpFastScintillation.hh.
Referenced by propagation_time(), and RecordPhotonsProduced().
|
private |
Definition at line 280 of file OpFastScintillation.hh.
Referenced by OpFastScintillation(), and reemission_energy().
|
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().
|
private |
Definition at line 279 of file OpFastScintillation.hh.
Referenced by OpFastScintillation(), and reemission_energy().
|
protected |
Definition at line 258 of file OpFastScintillation.hh.
Referenced by GetScintillationYieldFactor(), OpFastScintillation(), and SetScintillationYieldFactor().