1 #ifndef SEMIANALYTICALMODEL_H 2 #define SEMIANALYTICALMODEL_H 23 #include "boost/math/policies/policy.hpp" 29 typedef boost::math::policies::policy<boost::math::policies::promote_double<false>>
39 const bool doReflectedLight =
false,
40 const bool includeAnodeReflections =
false,
41 const bool useXeAbsorption =
false);
50 bool AnodeMode =
false)
const;
75 const double cathode_visibility,
77 bool AnodeMode =
false)
const;
87 const int OpDetOrientation)
const;
std::vector< double > fvis_distances_x_dome
std::vector< std::vector< double > > fborder_corr_flat_lateral
double VISVisibility(geo::Point_t const &ScintPoint, OpticalDetector const &opDet, const double cathode_visibility, geo::Point_t const &hotspot, bool AnodeMode=false) const
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
bool isOpDetInSameTPC(geo::Point_t const &ScintPoint, geo::Point_t const &OpDetPoint) const
boost::math::policies::policy< boost::math::policies::promote_double< false > > noLDoublePromote
double VUVVisibility(geo::Point_t const &ScintPoint, OpticalDetector const &opDet) const
double fFieldCageTransparencyCathode
const bool fIncludeAnodeReflections
double Rectangle_SolidAngle(const double a, const double b, const double d) const
std::vector< std::vector< std::vector< double > > > fvispars_dome
const larg4::ISTPC fISTPC
std::vector< std::vector< double > > fGHvuvpars_flat_lateral
std::vector< double > fvis_distances_r_flat
const TVector3 fcathode_centre
const std::vector< geo::BoxBoundedGeo > fActiveVolumes
std::vector< std::vector< double > > fborder_corr_dome
double VUVAbsorptionLength() const
geo::GeometryCore const & fGeom
SemiAnalyticalModel(const fhicl::ParameterSet &VUVHits, const fhicl::ParameterSet &VISHits, const bool doReflectedLight=false, const bool includeAnodeReflections=false, const bool useXeAbsorption=false)
double fFieldCageTransparencyLateral
Definitions of geometry vector data types.
const bool fUseXeAbsorption
std::vector< double > fborder_corr_angulo_flat
std::vector< double > fvis_distances_r_dome
bool fApplyFieldCageTransparency
std::vector< double > fborder_corr_angulo_dome
std::vector< std::vector< std::vector< double > > > fvispars_flat_lateral
double Gaisser_Hillas(const double x, const double *par) const
Description of geometry of one entire detector.
std::vector< double > fvis_distances_x_flat_lateral
const bool fDoReflectedLight
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
General LArSoft Utilities.
std::vector< std::vector< double > > fGHvuvpars_flat
void detectedDirectVisibilities(std::vector< double > &DetectedVisibilities, geo::Point_t const &ScintPoint) const
double fanode_plane_depth
double Omega_Dome_Model(const double distance, const double theta) const
std::vector< std::vector< double > > fGHvuvpars_dome
double Disk_SolidAngle(const double d, const double h, const double b) const
std::vector< double > fvis_distances_x_flat
double fvuv_absorption_length
void detectedReflectedVisibilities(std::vector< double > &ReflDetectedVisibilities, geo::Point_t const &ScintPoint, bool AnodeMode=false) const
std::vector< std::vector< std::vector< double > > > fvispars_flat
std::vector< double > fvis_distances_r_flat_lateral
std::vector< OpticalDetector > opticalDetectors() const
const TVector3 fanode_centre
const std::vector< OpticalDetector > fOpDetector
double fAnodeReflectivity
std::vector< std::vector< double > > fborder_corr_flat
std::vector< double > fborder_corr_angulo_flat_lateral