LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
IPhotonLibrary.h
Go to the documentation of this file.
1 #ifndef IPHOTONLIBRARY_H
5 #define IPHOTONLIBRARY_H
6 
7 #include <cstddef> // size_t
8 
9 namespace phot
10 {
13  {
14  public:
16  virtual ~IPhotonLibrary(){}
17 
18  virtual float GetCount(size_t Voxel, size_t OpChannel) const = 0;
19  virtual float GetReflCount(size_t Voxel, size_t OpChannel) const = 0;
20  virtual float GetReflT0(size_t Voxel, size_t OpChannel) const = 0;
21 
23  virtual const float* GetCounts(size_t Voxel) const = 0;
24  virtual const float* GetReflCounts(size_t Voxel) const = 0;
25  virtual const float* GetReflT0s(size_t Voxel) const = 0;
26 
28  virtual bool hasReflected() const = 0;
29 
31  virtual bool hasReflectedT0() const = 0;
32 
33  virtual int NOpChannels() const = 0;
34  virtual int NVoxels() const = 0;
35 
37  size_t LibrarySize() const { return NVoxels() * NOpChannels(); }
38  };
39 } // namespace
40 
41 #endif
virtual float GetReflT0(size_t Voxel, size_t OpChannel) const =0
virtual const float * GetReflCounts(size_t Voxel) const =0
virtual float GetReflCount(size_t Voxel, size_t OpChannel) const =0
virtual float GetCount(size_t Voxel, size_t OpChannel) const =0
virtual const float * GetCounts(size_t Voxel) const =0
Returns a pointer to NOpChannels() visibility values, one per channel.
virtual int NOpChannels() const =0
General LArSoft Utilities.
virtual const float * 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.
Interface shared by all PhotonLibrary-like classes.
virtual bool hasReflected() const =0
Returns whether the current library deals with reflected light count.
virtual int NVoxels() const =0