4 #ifndef IPHOTONLIBRARY_H 5 #define IPHOTONLIBRARY_H 51 virtual int NVoxels()
const = 0;
54 {
return Voxel < (std::size_t)
NVoxels(); }
Index OpChannel(Index detNum, Index channel)
virtual float GetReflT0(size_t Voxel, size_t OpChannel) const =0
virtual float GetReflCount(size_t Voxel, size_t OpChannel) const =0
virtual ~IPhotonLibrary()=default
virtual Counts_t GetReflCounts(size_t Voxel) const =0
virtual float GetCount(size_t Voxel, size_t OpChannel) const =0
virtual Counts_t GetCounts(size_t Voxel) const =0
Returns a pointer to NOpChannels() visibility values, one per channel.
std::vector< float > const * Params_t
virtual bool isVoxelValid(size_t Voxel) const
virtual int NOpChannels() const =0
General LArSoft Utilities.
virtual T0s_t GetReflT0s(size_t Voxel) const =0
virtual bool hasReflectedT0() const =0
Returns whether the current library deals with reflected light timing.
size_t LibrarySize() const
Returns the number of elements in the library.
const float * Counts_t
Type for visibility count per optical channel.
Interface shared by all PhotonLibrary-like classes.
const float * T0s_t
Type for time of arrival per optical channel.
virtual bool hasReflected() const =0
Returns whether the current library deals with reflected light count.
virtual int NVoxels() const =0