LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
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 14 of file IPhotonLibrary.h.

Member Typedef Documentation

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

Type for visibility count per optical channel.

Definition at line 17 of file IPhotonLibrary.h.

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

Definition at line 28 of file IPhotonLibrary.h.

using phot::IPhotonLibrary::Params_t = std::vector<float> const*

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

Definition at line 24 of file IPhotonLibrary.h.

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

Type for time of arrival per optical channel.

Definition at line 20 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.

Referenced by phot::PhotonVisibilityService::GetLibraryEntries().

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 50 of file IPhotonLibrary.h.

References NVoxels().

Referenced by phot::PhotonVisibilityService::HasLibraryEntries().

50 { 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 53 of file IPhotonLibrary.h.

References NOpChannels(), and NVoxels().

Referenced by phot::PhotonLibrary::CreateEmptyLibrary(), and phot::PhotonLibrary::LoadLibraryFromFile().

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

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

Referenced by LibrarySize().

virtual int phot::IPhotonLibrary::NVoxels ( ) const
pure virtual

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