15 #ifndef PHOTONLIBHYPOTHESIS_H
16 #define PHOTONLIBHYPOTHESIS_H
19 #define USING_LARSOFT 1
22 #if USING_LARSOFT == 0
38 namespace flashmatch {
71 #if USING_LARSOFT == 1
double _global_qe
Global QE for direct light.
void FillEstimateLibrary(const QCluster_t &, Flash_t &) const
Fills the estimate using the photon library (ICARUS, SBND)
double _global_qe_refl
Global QE for reflected light.
Abstract base class for factory (to be implemented per flash)
BaseFlashHypothesis * create(const std::string instance_name)
creation method
fhicl::ParameterSet Config_t
Configuration object.
PhotonLibHypothesisFactory()
ctor
void add_factory(const std::string name, flashmatch::FlashHypothesisFactoryBase *factory)
Factory registration method (should be called by global factory instance in algorithm header) ...
Struct to represent an optical flash.
~PhotonLibHypothesisFactory()
dtor
Class def header for a class FlashHypothesisFactory.
Class def header for a class BaseFlashFilter.
Collection of charge deposition 3D point (cluster)
void FillEstimateSemiAnalytical(const QCluster_t &, Flash_t &) const
Fills the estimate using the semi analytical approach (SBND)
Class def header for exception classes in OpT0Finder package.
void FillEstimate(const QCluster_t &, Flash_t &) const
Method to simply fill provided reference of flashmatch::Flash_t.
bool _use_semi_analytical
If the semi-analytical approach should be used.
std::vector< double > _qe_v
PMT-wise relative QE.
void _Configure_(const Config_t &pset)
virtual ~PhotonLibHypothesis()
Default destructor.
phot::PhotonVisibilityService const *const _vis
double _sigma_qe
Sigma for Gaussian centered on Global QE.
static FlashHypothesisFactory & get()
Static sharable instance getter.
const std::string & name() const
Name getter, defined in a logger instance attribute.
PhotonLibHypothesis(const std::string name="PhotonLibHypothesis")
Default constructor.