HerdSoftware  0.3.2
Public Member Functions | Public Attributes | List of all members
Herd::SiliconDetectorGeoParams::WaferLookupTable Struct Reference

Internal lookup table used to speedup WaferID queries as function of position. More...

#include <SiliconDetectorGeoParams.h>

Public Member Functions

 WaferLookupTable ()
 map of all the waferIDs covered by each cell. More...
 
const std::vector< unsigned int > & WaferIDsAtPos (std::array< float, 2 > position)
 
size_t PosToCellID (std::array< float, 2 > position)
 
void UpdateNCells (std::array< size_t, 2 > newNcells)
 
void UpdateSurface (std::array< float, 2 > newOrigin, std::array< float, 2 > newSizes)
 
void UpdateInternals (std::vector< Point > waferPositions, std::array< float, 2 > waferSizes, std::pair< RefFrame::Direction, RefFrame::Direction > segmDirections)
 

Public Attributes

bool isValid = false
 
std::array< size_t, 2 > ncells
 
std::array< float, 2 > sizes
 Number of cells in the lookup table [primary segm dir, secondary segm dir]. More...
 
std::array< float, 2 > cellDimension
 Total size of the lookup table [primary segm dir, secondary segm dir]. More...
 
Rectangle surface
 Physical dimension of the lookup table cell [primary segm dir, secondary segm dir]. More...
 
std::vector< std::vector< unsigned int > > waferIDs
 

Detailed Description

Internal lookup table used to speedup WaferID queries as function of position.

The LUT divides the detector surface in cells and for each cell stores the list of waferIDs covered by it. Input position is then converted to a cell number by simple math operations and the corresponding wafers are then checked for intersection more thoroughly.

Constructor & Destructor Documentation

◆ WaferLookupTable()

Herd::SiliconDetectorGeoParams::WaferLookupTable::WaferLookupTable ( )
inline

map of all the waferIDs covered by each cell.

Member Function Documentation

◆ PosToCellID()

size_t Herd::SiliconDetectorGeoParams::WaferLookupTable::PosToCellID ( std::array< float, 2 >  position)

◆ UpdateInternals()

void Herd::SiliconDetectorGeoParams::WaferLookupTable::UpdateInternals ( std::vector< Point waferPositions,
std::array< float, 2 >  waferSizes,
std::pair< RefFrame::Direction, RefFrame::Direction segmDirections 
)

◆ UpdateNCells()

void Herd::SiliconDetectorGeoParams::WaferLookupTable::UpdateNCells ( std::array< size_t, 2 >  newNcells)

◆ UpdateSurface()

void Herd::SiliconDetectorGeoParams::WaferLookupTable::UpdateSurface ( std::array< float, 2 >  newOrigin,
std::array< float, 2 >  newSizes 
)

◆ WaferIDsAtPos()

const std::vector< unsigned int > & Herd::SiliconDetectorGeoParams::WaferLookupTable::WaferIDsAtPos ( std::array< float, 2 >  position)

Member Data Documentation

◆ cellDimension

std::array<float, 2> Herd::SiliconDetectorGeoParams::WaferLookupTable::cellDimension

Total size of the lookup table [primary segm dir, secondary segm dir].

◆ isValid

bool Herd::SiliconDetectorGeoParams::WaferLookupTable::isValid = false

◆ ncells

std::array<size_t, 2> Herd::SiliconDetectorGeoParams::WaferLookupTable::ncells

◆ sizes

std::array<float, 2> Herd::SiliconDetectorGeoParams::WaferLookupTable::sizes

Number of cells in the lookup table [primary segm dir, secondary segm dir].

◆ surface

Rectangle Herd::SiliconDetectorGeoParams::WaferLookupTable::surface

Physical dimension of the lookup table cell [primary segm dir, secondary segm dir].

◆ waferIDs

std::vector<std::vector<unsigned int> > Herd::SiliconDetectorGeoParams::WaferLookupTable::waferIDs

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