10 #ifndef PHOTONVISIBILITYSERVICE_H 11 #define PHOTONVISIBILITYSERVICE_H 37 float GetVisibility(
double const* xyz,
unsigned int OpChannel,
bool wantReflected=
false )
const;
48 void SetLibraryEntry(
int VoxID,
int OpChannel,
float N,
bool wantReflected=
false );
49 float GetLibraryEntry(
int VoxID,
int OpChannel,
bool wantReflected=
false )
const;
52 float const*
GetReflT0s(
double const* xyz )
const;
57 const std::vector<float>*
GetTimingPar(
double const* xyz )
const;
84 const TVector3
LibLocation(
const double * xyz)
const;
137 #endif // UTIL_DETECTOR_PROPERTIES_H
TF1 * GetLibraryTimingTF1Entries(int VoxID) const
bool IncludePropTime() const
~PhotonVisibilityService()
void RetrieveLightProd(int &VoxID, double &N) const
bool UseParameterization() const
void SetDirectLightPropFunctions(TF1 const *functions[8], double &d_break, double &d_max, double &tf1_sampling_factor) const
const std::vector< float > * GetLibraryTimingParEntries(int VoxID) const
void SetLibraryTimingParEntry(int VoxID, int OpChannel, float value, size_t parnum)
sim::PhotonVoxelDef fVoxelDef
double fTF1_sampling_factor
const std::vector< float > * GetTimingPar(double const *xyz) const
#define DECLARE_ART_SERVICE(svc, scope)
float const * GetLibraryReflT0Entries(int VoxID) const
PhotonVisibilityService(fhicl::ParameterSet const &pset, art::ActivityRegistry ®)
int fParPropTime_MaxRange
void SetLibraryTimingTF1Entry(int VoxID, int OpChannel, TF1 func)
double GetQuenchingFactor(double dQdx) const
float const * GetLibraryEntries(int VoxID, bool wantReflected=false) const
void SetReflectedCOLightPropFunctions(TF1 const *functions[5], double &t0_max, double &t0_break_point) const
std::string fParPropTime_formula
void StoreLightProd(int VoxID, double N)
bool StoreReflected() const
size_t ParPropTimeNpar() const
float const * GetAllVisibilities(double const *xyz, bool wantReflected=false) const
void SetLibraryReflT0Entry(int VoxID, int OpChannel, float value)
TF1 * GetTimingTF1(double const *xyz) const
void reconfigure(fhicl::ParameterSet const &p)
void SetLibraryEntry(int VoxID, int OpChannel, float N, bool wantReflected=false)
const sim::PhotonVoxelDef & GetVoxelDef() const
General LArSoft Utilities.
std::string value(boost::any const &)
float GetLibraryTimingParEntry(int VoxID, int Channel, size_t npar) const
IPhotonLibrary * fTheLibrary
static double SolidAngleFactor(double const *xyz, unsigned int OpDet)
float GetLibraryReflT0Entry(int VoxID, int Channel) const
std::string ParPropTimeFormula() const
Interface shared by all PhotonLibrary-like classes.
bool IncludeParPropTime() const
const TVector3 LibLocation(const double *xyz) const
size_t NOpChannels() const
float GetLibraryEntry(int VoxID, int OpChannel, bool wantReflected=false) const
float const * GetReflT0s(double const *xyz) const
float GetVisibility(double const *xyz, unsigned int OpChannel, bool wantReflected=false) const
static double DistanceToOpDet(double const *xyz, unsigned int OpDet)