LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "PropagationTimeModel.h"
Public Member Functions | |
PropagationTimeModel (const fhicl::ParameterSet &VUVTimingParams, const fhicl::ParameterSet &VISTimingParams, CLHEP::HepRandomEngine &scintTimeEngine, const bool doReflectedLight=false, const bool GeoPropTimeOnly=false) | |
void | propagationTime (std::vector< double > &arrivalTimes, const geo::Point_t &x0, const size_t OpChannel, const bool Reflected=false) |
Private Member Functions | |
void | generateVUVParams (const fhicl::ParameterSet &VUVTimingParams, CLHEP::HepRandomEngine &scintTimeEngine) |
void | getVUVTimes (std::vector< double > &arrivalTimes, const double distance_in_cm, const size_t angle_bin) |
void | getVUVTimesGeo (std::vector< double > &arrivalTimes, const double distance_in_cm) const |
void | getVISTimes (std::vector< double > &arrivalTimes, const geo::Point_t &scintPoint, const geo::Point_t &opDetPoint) |
geo::Point_t | cathodeCentre () const |
std::vector< geo::Point_t > | opDetCenters () const |
std::vector< int > | opDetOrientations () const |
Static Private Member Functions | |
static double | finter_d (const double *x, const double *par) |
static double | model_close (const double *x, const double *par) |
static double | model_far (const double *x, const double *par) |
Private Attributes | |
const bool | fGeoPropTimeOnly |
CLHEP::RandFlat | fUniformGen |
geo::GeometryCore const & | fGeom |
const double | fplane_depth |
const geo::Point_t | fcathode_centre |
const std::vector< geo::Point_t > | fOpDetCenter |
const std::vector< int > | fOpDetOrientation |
double | fstep_size |
double | fvuv_vgroup_mean |
double | fvuv_vgroup_max |
double | fmin_d |
double | finflexion_point_distance |
double | fangle_bin_timing_vuv |
std::vector< std::vector< CLHEP::RandGeneral > > | fVUVTimingGen |
std::vector< std::vector< double > > | fVUV_max |
std::vector< std::vector< double > > | fVUV_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 |
Definition at line 37 of file PropagationTimeModel.h.
phot::PropagationTimeModel::PropagationTimeModel | ( | const fhicl::ParameterSet & | VUVTimingParams, |
const fhicl::ParameterSet & | VISTimingParams, | ||
CLHEP::HepRandomEngine & | scintTimeEngine, | ||
const bool | doReflectedLight = false , |
||
const bool | GeoPropTimeOnly = false |
||
) |
Definition at line 22 of file PropagationTimeModel.cxx.
References fangle_bin_timing_vis, fangle_bin_timing_vuv, fcut_off_pars, fdistances_refl, fGeoPropTimeOnly, finflexion_point_distance, fmin_d, fradial_distances_refl, fstep_size, ftau_pars, fvis_vmean, fvuv_vgroup_max, fvuv_vgroup_mean, generateVUVParams(), and fhicl::ParameterSet::get().
|
private |
Definition at line 391 of file PropagationTimeModel.cxx.
References larg4::ISTPC::extractActiveLArVolume(), fGeom, geo::TPCGeo::GetCathodeCenter(), and geo::GeometryCore::TPC().
|
staticprivate |
|
private |
Definition at line 147 of file PropagationTimeModel.cxx.
References fangle_bin_timing_vuv, finflexion_point_distance, finter_d(), fmin_d, fstep_size, fVUV_max, fVUV_min, fvuv_vgroup_max, fvuv_vgroup_mean, fVUVTimingGen, fhicl::ParameterSet::get(), hh, phot::interpolate(), phot::interpolate3(), model_close(), model_far(), and lar::dump::vector().
Referenced by PropagationTimeModel().
|
private |
Definition at line 276 of file PropagationTimeModel.cxx.
References util::abs(), util::counter(), fangle_bin_timing_vis, phot::fast_acos(), fcathode_centre, fcut_off_pars, fdistances_refl, fmin_d, fplane_depth, fradial_distances_refl, fstep_size, ftau_pars, fUniformGen, fvis_vmean, fVUV_min, fvuv_vgroup_max, getVUVTimes(), phot::interpolate(), util::pi(), r, util::size(), and x.
Referenced by propagationTime().
|
private |
Definition at line 109 of file PropagationTimeModel.cxx.
References fmin_d, fstep_size, fVUV_max, fVUV_min, fvuv_vgroup_mean, and fVUVTimingGen.
Referenced by getVISTimes(), and propagationTime().
|
private |
Definition at line 135 of file PropagationTimeModel.cxx.
References fvuv_vgroup_mean.
Referenced by propagationTime().
|
staticprivate |
|
staticprivate |
|
private |
Definition at line 400 of file PropagationTimeModel.cxx.
References util::counter(), fGeom, geo::OpDetGeo::GetCenter(), geo::GeometryCore::NOpDets(), and geo::GeometryCore::OpDetGeoFromOpDet().
|
private |
Definition at line 410 of file PropagationTimeModel.cxx.
References util::counter(), fGeom, geo::OpDetGeo::Height(), geo::OpDetGeo::isBar(), geo::OpDetGeo::isSphere(), geo::GeometryCore::NOpDets(), geo::GeometryCore::OpDetGeoFromOpDet(), and geo::OpDetGeo::Width().
void phot::PropagationTimeModel::propagationTime | ( | std::vector< double > & | arrivalTimes, |
const geo::Point_t & | x0, | ||
const size_t | OpChannel, | ||
const bool | Reflected = false |
||
) |
Definition at line 70 of file PropagationTimeModel.cxx.
References util::abs(), fangle_bin_timing_vuv, phot::fast_acos(), fGeoPropTimeOnly, fOpDetCenter, fOpDetOrientation, getVISTimes(), getVUVTimes(), getVUVTimesGeo(), and util::pi().
|
private |
Definition at line 106 of file PropagationTimeModel.h.
Referenced by getVISTimes(), and PropagationTimeModel().
|
private |
Definition at line 96 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), propagationTime(), and PropagationTimeModel().
|
private |
Definition at line 89 of file PropagationTimeModel.h.
Referenced by getVISTimes().
|
private |
Definition at line 109 of file PropagationTimeModel.h.
Referenced by getVISTimes(), and PropagationTimeModel().
|
private |
Definition at line 107 of file PropagationTimeModel.h.
Referenced by getVISTimes(), and PropagationTimeModel().
|
private |
Definition at line 87 of file PropagationTimeModel.h.
Referenced by cathodeCentre(), opDetCenters(), and opDetOrientations().
|
private |
Definition at line 81 of file PropagationTimeModel.h.
Referenced by propagationTime(), and PropagationTimeModel().
|
private |
Definition at line 96 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), and PropagationTimeModel().
|
private |
Definition at line 96 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), getVISTimes(), getVUVTimes(), and PropagationTimeModel().
|
private |
Definition at line 92 of file PropagationTimeModel.h.
Referenced by propagationTime().
|
private |
Definition at line 93 of file PropagationTimeModel.h.
Referenced by propagationTime().
|
private |
Definition at line 88 of file PropagationTimeModel.h.
Referenced by getVISTimes().
|
private |
Definition at line 108 of file PropagationTimeModel.h.
Referenced by getVISTimes(), and PropagationTimeModel().
|
private |
Definition at line 96 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), getVISTimes(), getVUVTimes(), and PropagationTimeModel().
|
private |
Definition at line 110 of file PropagationTimeModel.h.
Referenced by getVISTimes(), and PropagationTimeModel().
|
private |
Definition at line 84 of file PropagationTimeModel.h.
Referenced by getVISTimes().
|
private |
Definition at line 106 of file PropagationTimeModel.h.
Referenced by getVISTimes(), and PropagationTimeModel().
|
private |
Definition at line 102 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), and getVUVTimes().
|
private |
Definition at line 103 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), getVISTimes(), and getVUVTimes().
|
private |
Definition at line 96 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), getVISTimes(), and PropagationTimeModel().
|
private |
Definition at line 96 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), getVUVTimes(), getVUVTimesGeo(), and PropagationTimeModel().
|
private |
Definition at line 99 of file PropagationTimeModel.h.
Referenced by generateVUVParams(), and getVUVTimes().