Public Types | Public Member Functions | List of all members
phot::IPhotonLibrary Class Referenceabstract

Interface shared by all PhotonLibrary-like classes. More...

#include <IPhotonLibrary.h>

Inheritance diagram for phot::IPhotonLibrary:
phot::PhotonLibrary phot::PhotonLibraryHybrid

Public Types

using Counts_t = const float *
 Type for visibility count per optical channel. More...
 
using T0s_t = const float *
 Type for time of arrival per optical channel. More...
 
using Params_t = std::vector< float > const *
 
using Functions_t = TF1 *
 

Public Member Functions

virtual ~IPhotonLibrary ()=default
 
virtual float GetCount (size_t Voxel, size_t OpChannel) const =0
 
virtual float GetReflCount (size_t Voxel, size_t OpChannel) const =0
 
virtual float GetReflT0 (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. More...
 
virtual Counts_t GetReflCounts (size_t Voxel) const =0
 
virtual T0s_t GetReflT0s (size_t Voxel) const =0
 
virtual bool hasReflected () const =0
 Returns whether the current library deals with reflected light count. More...
 
virtual bool hasReflectedT0 () const =0
 Returns whether the current library deals with reflected light timing. More...
 
virtual int NOpChannels () const =0
 
virtual int NVoxels () const =0
 
virtual bool isVoxelValid (size_t Voxel) const
 
size_t LibrarySize () const
 Returns the number of elements in the library. More...
 

Detailed Description

Interface shared by all PhotonLibrary-like classes.

Definition at line 15 of file IPhotonLibrary.h.

Member Typedef Documentation

using phot::IPhotonLibrary::Counts_t = const float*

Type for visibility count per optical channel.

Definition at line 19 of file IPhotonLibrary.h.

Type for parametrization function (which is not part of this interface yet).

Definition at line 30 of file IPhotonLibrary.h.

Type for function parameters (which is not part of this interface yet).

Definition at line 26 of file IPhotonLibrary.h.

using phot::IPhotonLibrary::T0s_t = const float*

Type for time of arrival per optical channel.

Definition at line 22 of file IPhotonLibrary.h.

Constructor & Destructor Documentation

virtual phot::IPhotonLibrary::~IPhotonLibrary ( )
virtualdefault

Member Function Documentation

virtual float phot::IPhotonLibrary::GetCount ( size_t  Voxel,
size_t  OpChannel 
) const
pure virtual
virtual Counts_t phot::IPhotonLibrary::GetCounts ( size_t  Voxel) const
pure virtual

Returns a pointer to NOpChannels() visibility values, one per channel.

Implemented in phot::PhotonLibrary, and phot::PhotonLibraryHybrid.

virtual float phot::IPhotonLibrary::GetReflCount ( size_t  Voxel,
size_t  OpChannel 
) const
pure virtual
virtual Counts_t phot::IPhotonLibrary::GetReflCounts ( size_t  Voxel) const
pure virtual
virtual float phot::IPhotonLibrary::GetReflT0 ( size_t  Voxel,
size_t  OpChannel 
) const
pure virtual
virtual T0s_t phot::IPhotonLibrary::GetReflT0s ( size_t  Voxel) const
pure virtual
virtual bool phot::IPhotonLibrary::hasReflected ( ) const
pure virtual

Returns whether the current library deals with reflected light count.

Implemented in phot::PhotonLibrary, and phot::PhotonLibraryHybrid.

virtual bool phot::IPhotonLibrary::hasReflectedT0 ( ) const
pure virtual

Returns whether the current library deals with reflected light timing.

Implemented in phot::PhotonLibrary, and phot::PhotonLibraryHybrid.

virtual bool phot::IPhotonLibrary::isVoxelValid ( size_t  Voxel) const
inlinevirtual

Reimplemented in phot::PhotonLibrary.

Definition at line 53 of file IPhotonLibrary.h.

54  { return Voxel < (std::size_t) NVoxels(); }
virtual int NVoxels() const =0
size_t phot::IPhotonLibrary::LibrarySize ( ) const
inline

Returns the number of elements in the library.

Definition at line 57 of file IPhotonLibrary.h.

57 { return NVoxels() * NOpChannels(); }
virtual int NOpChannels() const =0
virtual int NVoxels() const =0
virtual int phot::IPhotonLibrary::NOpChannels ( ) const
pure virtual
virtual int phot::IPhotonLibrary::NVoxels ( ) const
pure virtual

The documentation for this class was generated from the following file: