#include <OpFastScintillation.hh>
Classes | |
struct | Dims |
struct | OpticalDetector |
Public Member Functions | |
OpFastScintillation (const G4String &processName="Scintillation", G4ProcessType type=fElectromagnetic) | |
~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 |
void | getVUVTimes (std::vector< double > &arrivalTimes, const double distance_in_cm, const size_t angle_bin) |
void | generateParam (const size_t index, const size_t angle_bin) |
void | getVISTimes (std::vector< double > &arrivalTimes, const TVector3 &ScintPoint, const TVector3 &OpDetPoint) |
void | detectedDirectHits (std::map< size_t, int > &DetectedNum, const double Num, geo::Point_t const &ScintPoint) const |
void | detectedReflecHits (std::map< size_t, int > &ReflDetectedNum, const double Num, geo::Point_t const &ScintPoint) const |
Protected Member Functions | |
void | BuildThePhysicsTable () |
bool | RecordPhotonsProduced (const G4Step &aStep, double N) |
Protected Attributes | |
std::unique_ptr< G4PhysicsTable > | theSlowIntegralTable |
std::unique_ptr< G4PhysicsTable > | theFastIntegralTable |
G4bool | fTrackSecondariesFirst |
G4bool | fFiniteRiseTime |
G4double | YieldFactor |
G4double | ExcitationRatio |
G4bool | scintillationByParticleType |
Private Member Functions | |
bool | usesSemiAnalyticModel () const |
Returns whether the semi-analytic visibility parametrization is being used. More... | |
int | VUVHits (const double Nphotons_created, geo::Point_t const &ScintPoint, OpticalDetector const &opDet) const |
int | VISHits (geo::Point_t const &ScintPoint, OpticalDetector const &opDet, const double cathode_hits_rec, const std::array< double, 3 > hotspot) const |
G4double | single_exp (const G4double t, const G4double tau2) const |
G4double | bi_exp (const G4double t, const G4double tau1, const G4double tau2) const |
G4double | scint_time (const G4Step &aStep, G4double ScintillationTime, G4double ScintillationRiseTime) const |
void | propagationTime (std::vector< double > &arrival_time_dist, G4ThreeVector x0, const size_t OpChannel, bool Reflected=false) |
G4double | sample_time (const G4double tau1, const G4double tau2) const |
double | reemission_energy () const |
void | average_position (G4Step const &aStep, double *xzyPos) const |
double | Rectangle_SolidAngle (const double a, const double b, const double d) const |
double | Rectangle_SolidAngle (Dims const &o, const std::array< double, 3 > v) const |
double | Disk_SolidAngle (const double d, const double h, const double b) const |
double | Omega_Dome_Model (const double distance, const double theta) const |
G4double | Gaisser_Hillas (const double x, const double *par) const |
void | ProcessStep (const G4Step &step) |
bool | isOpDetInSameTPC (geo::Point_t const &ScintPoint, geo::Point_t const &OpDetPoint) const |
bool | isScintInActiveVolume (geo::Point_t const &ScintPoint) |
double | interpolate (const std::vector< double > &xData, const std::vector< double > &yData, double x, bool extrapolate, size_t i=0) const |
void | interpolate3 (std::array< double, 3 > &inter, const std::vector< double > &xData, const std::vector< double > &yData1, const std::vector< double > &yData2, const std::vector< double > &yData3, double x, bool extrapolate) const |
Static Private Member Functions | |
static std::vector < geo::BoxBoundedGeo > | extractActiveVolumes (geo::GeometryCore const &geom) |
Private Attributes | |
std::map< double, double > | tpbemission |
std::unique_ptr < CLHEP::RandGeneral > | fTPBEm |
G4EmSaturation * | emSaturation |
phot::MappedFunctions_t | ParPropTimeTF1 |
phot::MappedT0s_t | ReflT0s |
double | fstep_size |
double | fmin_d |
double | fmax_d |
double | fvuv_vgroup_mean |
double | fvuv_vgroup_max |
double | finflexion_point_distance |
double | fangle_bin_timing_vuv |
std::vector< std::vector < double > > | fparameters [7] |
std::vector< std::vector< TF1 > > | VUV_timing |
std::vector< std::vector < double > > | VUV_max |
std::vector< std::vector < double > > | VUV_min |
double | fvis_vmean |
double | fangle_bin_timing_vis |
std::vector< double > | fdistances_refl |
std::vector< double > | fradial_distances_refl |
std::vector< std::vector < std::vector< double > > > | fcut_off_pars |
std::vector< std::vector < std::vector< double > > > | ftau_pars |
double | fdelta_angulo_vuv |
bool | fIsFlatPDCorr |
std::vector< std::vector < double > > | fGHvuvpars_flat |
std::vector< double > | fborder_corr_angulo_flat |
std::vector< std::vector < double > > | fborder_corr_flat |
bool | fIsDomePDCorr |
std::vector< std::vector < double > > | fGHvuvpars_dome |
std::vector< double > | fborder_corr_angulo_dome |
std::vector< std::vector < double > > | fborder_corr_dome |
bool | fStoreReflected |
double | fdelta_angulo_vis |
std::vector< double > | fvis_distances_x_flat |
std::vector< double > | fvis_distances_r_flat |
std::vector< std::vector < std::vector< double > > > | fvispars_flat |
std::vector< double > | fvis_distances_x_dome |
std::vector< double > | fvis_distances_r_dome |
std::vector< std::vector < std::vector< double > > > | fvispars_dome |
double | fplane_depth |
double | fcathode_zdimension |
double | fcathode_ydimension |
TVector3 | fcathode_centre |
std::vector < geo::BoxBoundedGeo > const | fActiveVolumes |
double | fradius |
Dims | fcathode_plane |
int | fL_abs_vuv |
std::vector< geo::Point_t > | fOpDetCenter |
std::vector< int > | fOpDetType |
std::vector< double > | fOpDetLength |
std::vector< double > | fOpDetHeight |
bool const | bPropagate |
Whether propagation of photons is enabled. More... | |
phot::PhotonVisibilityService const *const | fPVS |
Photon visibility service instance. More... | |
bool const | fUseNhitsModel = false |
Whether the semi-analytic model is being used for photon visibility. More... | |
bool const | fOnlyActiveVolume = false |
Whether photon propagation is performed only from active volumes. More... | |
bool const | fOnlyOneCryostat = false |
bool const | fOpaqueCathode = false |
Whether the cathodes are fully opaque; currently hard coded "no". More... | |
Definition at line 130 of file OpFastScintillation.hh.
larg4::OpFastScintillation::OpFastScintillation | ( | const G4String & | processName = "Scintillation" , |
G4ProcessType | type = fElectromagnetic |
||
) |
Definition at line 180 of file OpFastScintillation.cxx.
larg4::OpFastScintillation::~OpFastScintillation | ( | ) |
Definition at line 400 of file OpFastScintillation.cxx.
|
inline |
Definition at line 216 of file OpFastScintillation.hh.
|
virtual |
Definition at line 414 of file OpFastScintillation.cxx.
|
private |
Definition at line 1103 of file OpFastScintillation.cxx.
|
private |
Definition at line 1850 of file OpFastScintillation.cxx.
|
protected |
Definition at line 871 of file OpFastScintillation.cxx.
void larg4::OpFastScintillation::detectedDirectHits | ( | std::map< size_t, int > & | DetectedNum, |
const double | Num, | ||
geo::Point_t const & | ScintPoint | ||
) | const |
Definition at line 1500 of file OpFastScintillation.cxx.
void larg4::OpFastScintillation::detectedReflecHits | ( | std::map< size_t, int > & | ReflDetectedNum, |
const double | Num, | ||
geo::Point_t const & | ScintPoint | ||
) | const |
Definition at line 1522 of file OpFastScintillation.cxx.
|
private |
Definition at line 2014 of file OpFastScintillation.cxx.
|
inline |
Definition at line 541 of file OpFastScintillation.hh.
|
staticprivate |
Definition at line 2173 of file OpFastScintillation.cxx.
|
private |
Definition at line 1857 of file OpFastScintillation.cxx.
void larg4::OpFastScintillation::generateParam | ( | const size_t | index, |
const size_t | angle_bin | ||
) |
Definition at line 1253 of file OpFastScintillation.cxx.
|
inline |
Definition at line 535 of file OpFastScintillation.hh.
|
inline |
Definition at line 499 of file OpFastScintillation.hh.
G4double larg4::OpFastScintillation::GetMeanFreePath | ( | const G4Track & | aTrack, |
G4double | , | ||
G4ForceCondition * | condition | ||
) |
Definition at line 998 of file OpFastScintillation.cxx.
G4double larg4::OpFastScintillation::GetMeanLifeTime | ( | const G4Track & | aTrack, |
G4ForceCondition * | condition | ||
) |
Definition at line 1005 of file OpFastScintillation.cxx.
|
inline |
Definition at line 230 of file OpFastScintillation.hh.
|
inline |
Definition at line 241 of file OpFastScintillation.hh.
|
inline |
Definition at line 523 of file OpFastScintillation.hh.
|
inline |
Definition at line 511 of file OpFastScintillation.hh.
|
inline |
Definition at line 529 of file OpFastScintillation.hh.
|
inline |
Definition at line 493 of file OpFastScintillation.hh.
void larg4::OpFastScintillation::getVISTimes | ( | std::vector< double > & | arrivalTimes, |
const TVector3 & | ScintPoint, | ||
const TVector3 & | OpDetPoint | ||
) |
Definition at line 1375 of file OpFastScintillation.cxx.
void larg4::OpFastScintillation::getVUVTimes | ( | std::vector< double > & | arrivalTimes, |
const double | distance_in_cm, | ||
const size_t | angle_bin | ||
) |
Definition at line 1352 of file OpFastScintillation.cxx.
|
private |
Definition at line 1933 of file OpFastScintillation.cxx.
|
private |
Definition at line 1962 of file OpFastScintillation.cxx.
|
inlinevirtual |
Definition at line 472 of file OpFastScintillation.hh.
|
private |
Definition at line 1823 of file OpFastScintillation.cxx.
|
private |
Definition at line 1837 of file OpFastScintillation.cxx.
|
private |
Definition at line 2141 of file OpFastScintillation.cxx.
|
virtual |
Definition at line 425 of file OpFastScintillation.cxx.
|
private |
Definition at line 522 of file OpFastScintillation.cxx.
|
private |
Definition at line 1029 of file OpFastScintillation.cxx.
|
protected |
Definition at line 546 of file OpFastScintillation.cxx.
|
private |
Definition at line 2076 of file OpFastScintillation.cxx.
|
private |
Definition at line 2087 of file OpFastScintillation.cxx.
|
private |
Definition at line 1096 of file OpFastScintillation.cxx.
|
inline |
Definition at line 223 of file OpFastScintillation.hh.
|
private |
Definition at line 1075 of file OpFastScintillation.cxx.
|
private |
Definition at line 1012 of file OpFastScintillation.cxx.
|
inline |
Definition at line 487 of file OpFastScintillation.hh.
void larg4::OpFastScintillation::SetScintillationByParticleType | ( | const G4bool | scintType | ) |
Definition at line 985 of file OpFastScintillation.cxx.
|
inline |
Definition at line 517 of file OpFastScintillation.hh.
|
inline |
Definition at line 505 of file OpFastScintillation.hh.
|
inline |
Definition at line 481 of file OpFastScintillation.hh.
|
private |
Definition at line 1844 of file OpFastScintillation.cxx.
|
private |
Returns whether the semi-analytic visibility parametrization is being used.
Definition at line 1493 of file OpFastScintillation.cxx.
|
private |
Definition at line 1692 of file OpFastScintillation.cxx.
|
private |
Definition at line 1596 of file OpFastScintillation.cxx.
|
private |
Whether propagation of photons is enabled.
Definition at line 425 of file OpFastScintillation.hh.
|
private |
Definition at line 338 of file OpFastScintillation.hh.
|
protected |
Definition at line 290 of file OpFastScintillation.hh.
|
private |
Definition at line 409 of file OpFastScintillation.hh.
|
private |
Definition at line 360 of file OpFastScintillation.hh.
|
private |
Definition at line 351 of file OpFastScintillation.hh.
|
private |
Definition at line 390 of file OpFastScintillation.hh.
|
private |
Definition at line 385 of file OpFastScintillation.hh.
|
private |
Definition at line 391 of file OpFastScintillation.hh.
|
private |
Definition at line 386 of file OpFastScintillation.hh.
|
private |
Definition at line 408 of file OpFastScintillation.hh.
|
private |
Definition at line 415 of file OpFastScintillation.hh.
|
private |
Definition at line 407 of file OpFastScintillation.hh.
|
private |
Definition at line 407 of file OpFastScintillation.hh.
|
private |
Definition at line 363 of file OpFastScintillation.hh.
|
private |
Definition at line 396 of file OpFastScintillation.hh.
|
private |
Definition at line 381 of file OpFastScintillation.hh.
|
private |
Definition at line 361 of file OpFastScintillation.hh.
|
protected |
Definition at line 286 of file OpFastScintillation.hh.
|
private |
Definition at line 389 of file OpFastScintillation.hh.
|
private |
Definition at line 384 of file OpFastScintillation.hh.
|
private |
Definition at line 351 of file OpFastScintillation.hh.
|
private |
Definition at line 388 of file OpFastScintillation.hh.
|
private |
Definition at line 383 of file OpFastScintillation.hh.
|
private |
Definition at line 416 of file OpFastScintillation.hh.
|
private |
Definition at line 351 of file OpFastScintillation.hh.
|
private |
Definition at line 351 of file OpFastScintillation.hh.
Whether photon propagation is performed only from active volumes.
Definition at line 433 of file OpFastScintillation.hh.
Allows running even if light on cryostats C:1
and higher is not supported. Currently hard coded "no"
Definition at line 436 of file OpFastScintillation.hh.
Whether the cathodes are fully opaque; currently hard coded "no".
Definition at line 438 of file OpFastScintillation.hh.
|
private |
Definition at line 417 of file OpFastScintillation.hh.
|
private |
Definition at line 420 of file OpFastScintillation.hh.
|
private |
Definition at line 419 of file OpFastScintillation.hh.
|
private |
Definition at line 418 of file OpFastScintillation.hh.
|
private |
Definition at line 352 of file OpFastScintillation.hh.
|
private |
Definition at line 407 of file OpFastScintillation.hh.
|
private |
Photon visibility service instance.
Definition at line 428 of file OpFastScintillation.hh.
|
private |
Definition at line 362 of file OpFastScintillation.hh.
|
private |
Definition at line 414 of file OpFastScintillation.hh.
|
private |
Definition at line 351 of file OpFastScintillation.hh.
|
private |
Definition at line 394 of file OpFastScintillation.hh.
|
private |
Definition at line 364 of file OpFastScintillation.hh.
|
private |
Definition at line 334 of file OpFastScintillation.hh.
|
protected |
Definition at line 285 of file OpFastScintillation.hh.
Whether the semi-analytic model is being used for photon visibility.
Definition at line 431 of file OpFastScintillation.hh.
|
private |
Definition at line 403 of file OpFastScintillation.hh.
|
private |
Definition at line 399 of file OpFastScintillation.hh.
|
private |
Definition at line 402 of file OpFastScintillation.hh.
|
private |
Definition at line 398 of file OpFastScintillation.hh.
|
private |
Definition at line 360 of file OpFastScintillation.hh.
|
private |
Definition at line 404 of file OpFastScintillation.hh.
|
private |
Definition at line 400 of file OpFastScintillation.hh.
|
private |
Definition at line 351 of file OpFastScintillation.hh.
|
private |
Definition at line 351 of file OpFastScintillation.hh.
|
private |
Definition at line 340 of file OpFastScintillation.hh.
|
private |
Definition at line 341 of file OpFastScintillation.hh.
|
protected |
Definition at line 292 of file OpFastScintillation.hh.
|
protected |
Definition at line 283 of file OpFastScintillation.hh.
|
protected |
Definition at line 282 of file OpFastScintillation.hh.
|
private |
Definition at line 333 of file OpFastScintillation.hh.
|
private |
Definition at line 356 of file OpFastScintillation.hh.
|
private |
Definition at line 357 of file OpFastScintillation.hh.
|
private |
Definition at line 354 of file OpFastScintillation.hh.
|
protected |
Definition at line 288 of file OpFastScintillation.hh.