1 #ifndef PROPAGATIONTIMEMODEL_H 2 #define PROPAGATIONTIMEMODEL_H 21 #include "CLHEP/Random/RandFlat.h" 22 #include "CLHEP/Random/RandGeneral.h" 25 class HepRandomEngine;
43 CLHEP::HepRandomEngine& scintTimeEngine,
44 const bool doReflectedLight =
false,
45 const bool GeoPropTimeOnly =
false);
48 void propagationTime(std::vector<double>& arrivalTimes,
50 const size_t OpChannel,
51 const bool Reflected =
false);
55 CLHEP::HepRandomEngine& scintTimeEngine);
58 void getVUVTimes(std::vector<double>& arrivalTimes,
59 const double distance_in_cm,
60 const size_t angle_bin);
62 void getVUVTimesGeo(std::vector<double>& arrivalTimes,
const double distance_in_cm)
const;
65 void getVISTimes(std::vector<double>& arrivalTimes,
70 std::vector<geo::Point_t> opDetCenters()
const;
71 std::vector<int> opDetOrientations()
const;
74 static double finter_d(
const double*
x,
const double* par);
76 static double model_close(
const double* x,
const double* par);
78 static double model_far(
const double* x,
const double* par);
96 double fstep_size,
fvuv_vgroup_mean, fvuv_vgroup_max, fmin_d, finflexion_point_distance,
97 fangle_bin_timing_vuv;
110 std::vector<std::vector<std::vector<double>>>
ftau_pars;
const std::vector< geo::Point_t > fOpDetCenter
const std::vector< int > fOpDetOrientation
CLHEP::RandFlat fUniformGen
std::vector< std::vector< std::vector< double > > > fcut_off_pars
geo::GeometryCore const & fGeom
double finter_d(double *x, double *par)
double model_far(double *x, double *par)
double model_close(double *x, double *par)
std::vector< std::vector< CLHEP::RandGeneral > > fVUVTimingGen
Definitions of geometry vector data types.
const geo::Point_t fcathode_centre
std::vector< std::vector< double > > fVUV_min
const double fplane_depth
std::vector< double > fradial_distances_refl
std::vector< std::vector< std::vector< double > > > ftau_pars
Description of geometry of one entire detector.
Provides a base class aware of world box coordinates.
std::vector< double > fdistances_refl
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
General LArSoft Utilities.
const bool fGeoPropTimeOnly
std::vector< std::vector< double > > fVUV_max