1 #ifndef PHOTONLIBRARYHYBRID_H 5 #define PHOTONLIBRARYHYBRID_H 24 virtual float GetCount(
size_t Voxel,
size_t OpChannel)
const override;
27 virtual const float* GetCounts(
size_t Voxel)
const override;
31 virtual const float*
GetReflCounts(
size_t Voxel)
const override {
return 0; }
32 virtual float GetReflCount(
size_t Voxel,
size_t OpChannel)
const override {
return 0; }
36 virtual const float*
GetReflT0s(
size_t Voxel)
const override {
return 0; }
37 virtual float GetReflT0(
size_t Voxel,
size_t OpChannel)
const override {
return 0; }
39 virtual int NOpChannels()
const override {
return fRecords.size(); }
40 virtual int NVoxels()
const override;
48 double Eval(
double x)
const {
return exp(
norm + decay * x) / (x *
x); }
bool operator<(const Exception &e) const
FitFunc(float n, float d)
Representation of a region of space diced into voxels.
double Eval(double x) const
bool operator<(size_t v) const
virtual const float * GetReflCounts(size_t Voxel) const override
std::vector< Exception > exceptions
virtual float GetReflCount(size_t Voxel, size_t OpChannel) const override
virtual bool hasReflectedT0() const override
Don't implement reflected light timing.
const sim::PhotonVoxelDef & fVoxDef
virtual int NOpChannels() const override
General LArSoft Utilities.
virtual const float * GetReflT0s(size_t Voxel) const override
Exception(size_t _vox, float _vis)
std::vector< OpDetRecord > fRecords
Interface shared by all PhotonLibrary-like classes.
virtual bool hasReflected() const override
Don't implement reflected light.
virtual float GetReflT0(size_t Voxel, size_t OpChannel) const override