All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
sim::PhotonVoxel Class Reference

Representation of a single small volume (voxel). More...

#include <PhotonVoxels.h>

Public Types

using DefaultPoint = geo::Point_t
 

Public Member Functions

 PhotonVoxel ()=default
 
 PhotonVoxel (geo::Point_t const &min, geo::Point_t const &max)
 
 PhotonVoxel (double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
 
 PhotonVoxel (double xMin, double xMax, double yMin, double yMax, double zMin, double zMax, int N=0)
 
 PhotonVoxel ()
 
TVector3 GetLowerCorner () const
 
TVector3 GetUpperCorner () const
 
TVector3 GetCenter () const
 
template<typename Point = DefaultPoint>
decltype(auto) GetLowerCorner () const
 Returns the voxel vertex (type Point) with the lowest coordinates. More...
 
template<typename Point = DefaultPoint>
decltype(auto) GetUpperCorner () const
 Returns the voxel vertex (type Point) with the highest coordinates. More...
 
template<typename Point = DefaultPoint>
Point GetCenter () const
 Returns the center of the voxel (type Point). More...
 

Public Attributes

geo::Point_t fVoxelMax
 

Private Attributes

double xVoxelMin
 
double xVoxelMax
 
double yVoxelMin
 
double yVoxelMax
 
double zVoxelMin
 
double zVoxelMax
 
int NPhotons
 

Detailed Description

Representation of a single small volume (voxel).

Definition at line 20 of file larsim/larsim/Simulation/PhotonVoxels.h.

Member Typedef Documentation

Definition at line 34 of file larsim/larsim/Simulation/PhotonVoxels.h.

Constructor & Destructor Documentation

sim::PhotonVoxel::PhotonVoxel ( )
default
sim::PhotonVoxel::PhotonVoxel ( geo::Point_t const &  min,
geo::Point_t const &  max 
)
inline

Definition at line 23 of file larsim/larsim/Simulation/PhotonVoxels.h.

23  : fVoxelMin(min), fVoxelMax(max)
24  {}
sim::PhotonVoxel::PhotonVoxel ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  zMin,
double  zMax 
)
inline

Definition at line 25 of file larsim/larsim/Simulation/PhotonVoxels.h.

26  : PhotonVoxel({xMin, yMin, zMin}, {xMax, yMax, zMax})
sim::PhotonVoxel::PhotonVoxel ( double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  zMin,
double  zMax,
int  N = 0 
)
sim::PhotonVoxel::PhotonVoxel ( )

Member Function Documentation

TVector3 sim::PhotonVoxel::GetCenter ( ) const
template<typename Point >
TVector3 sim::PhotonVoxel::GetCenter ( ) const

Returns the center of the voxel (type Point).

Definition at line 199 of file larsim/larsim/Simulation/PhotonVoxels.h.

200 {
201  return geo::vect::convertTo<Point>(geo::vect::middlePoint({fVoxelMin, fVoxelMax}));
202 }
geo::Point_t middlePoint(BeginIter begin, EndIter end)
Returns the middle of the specified points.
sim::PhotonVoxel::GetLowerCorner ( ) const

Definition at line 185 of file larsim/larsim/Simulation/PhotonVoxels.h.

186 {
187  return geo::vect::convertTo<Point>(fVoxelMin);
188 }
template<typename Point = DefaultPoint>
TVector3 sim::PhotonVoxel::GetLowerCorner ( ) const

Returns the voxel vertex (type Point) with the lowest coordinates.

Definition at line 36 of file sbncode/sbncode/OpT0Finder/flashmatch/Base/FMWKTools/PhotonVoxels.cxx.

sim::PhotonVoxel::GetUpperCorner ( ) const

Definition at line 192 of file larsim/larsim/Simulation/PhotonVoxels.h.

193 {
194  return geo::vect::convertTo<Point>(fVoxelMax);
195 }
template<typename Point = DefaultPoint>
TVector3 sim::PhotonVoxel::GetUpperCorner ( ) const

Returns the voxel vertex (type Point) with the highest coordinates.

Definition at line 44 of file sbncode/sbncode/OpT0Finder/flashmatch/Base/FMWKTools/PhotonVoxels.cxx.

Member Data Documentation

geo::Point_t sim::PhotonVoxel::fVoxelMax
Initial value:
{xMax, yMax, zMax})
{}
private:
geo::Point_t fVoxelMin

Definition at line 26 of file larsim/larsim/Simulation/PhotonVoxels.h.

int sim::PhotonVoxel::NPhotons
private
double sim::PhotonVoxel::xVoxelMax
private
double sim::PhotonVoxel::xVoxelMin
private
double sim::PhotonVoxel::yVoxelMax
private
double sim::PhotonVoxel::yVoxelMin
private
double sim::PhotonVoxel::zVoxelMax
private
double sim::PhotonVoxel::zVoxelMin
private

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