#include <ConstantInfoDefinitions.h>
|
| constexpr bool | is_HECIW_or_FCal (const int cell) const |
| constexpr bool | is_PS (const int cell) const |
| constexpr int | sampling (const int cell) const |
| constexpr int | intra_calorimeter_sampling (const int cell) const |
| constexpr int | subcalo (const int cell) const |
| constexpr int | region (const int cell) const |
| constexpr int | get_neighbours (const unsigned int neigh_options, const int cell, int *neigh_arr) const |
| | Places the neighbours according to the option(s) in neigh_options in the array and returns the number of such neighbours (not the total number of neighbours of the cell).
|
| constexpr int | get_number_of_neighbours (const unsigned int neigh_options, const int cell) const |
| CUDA_HOS_DEV void | fill_eta_phi_map () |
| constexpr int | get_closest_cell (const int sampling, const float test_eta, const float test_phi) const |
|
| static constexpr bool | is_tile (const int cell) |
Definition at line 220 of file ConstantInfoDefinitions.h.
◆ fill_eta_phi_map()
| CUDA_HOS_DEV void CaloRecGPU::GeometryArr::fill_eta_phi_map |
( |
| ) |
|
|
inline |
Definition at line 306 of file ConstantInfoDefinitions.h.
307 {
309 {
311 }
312
313 struct DeAllocWrapper
314 {
317 {
318 buf =
new int[Helpers::int_ceil_div(new_size,
sizeof(
int))];
319 }
321 {
323 }
324 CUDA_HOS_DEV DeAllocWrapper (
const DeAllocWrapper &) =
delete;
325 CUDA_HOS_DEV DeAllocWrapper (DeAllocWrapper &&) =
delete;
326 CUDA_HOS_DEV DeAllocWrapper & operator=(
const DeAllocWrapper &) =
delete;
327 CUDA_HOS_DEV DeAllocWrapper & operator=(DeAllocWrapper &&) =
delete;
328 };
329
330
331
332
333
334
335 DeAllocWrapper wrapper(
etaPhiToCell.finish_initializing_buffer_size());
336
337#if CALORECGPU_ETA_PHI_MAP_DEBUG
338 printf(
"CALORECGPU ETA PHI MAP DEBUG OUTPUT: Max occupied cells is %d\n",
etaPhiToCell.get_max_real_overlap());
339#endif
341
342 }
EtaPhiToCellMap etaPhiToCell
constexpr int sampling(const int cell) const
◆ get_closest_cell()
| int CaloRecGPU::GeometryArr::get_closest_cell |
( |
const int | sampling, |
|
|
const float | test_eta, |
|
|
const float | test_phi ) const |
|
inlineconstexpr |
Definition at line 344 of file ConstantInfoDefinitions.h.
345 {
347
348 const int n_cells =
etaPhiToCell.get_possible_cells_from_coords(
sampling, test_eta, test_phi, cells);
349
350 if (n_cells < 1)
351 {
352 return -1;
353 }
354 else if (n_cells == 1)
355 {
357 }
358 else
359 {
361 int ret = -1;
362
363 for (
int i = 0;
i < n_cells; ++
i)
364 {
365 const int this_cell =
cells[
i];
366
367 const float delta_eta =
eta[this_cell] - test_eta;
369
370 using namespace std;
371
372 const float this_dist = fabsf(delta_eta) + fabsf(delta_phi);
373 if (this_dist < distance || (this_dist == distance && this_cell > ret))
374 {
376 ret = this_cell;
377 }
378 }
379 return ret;
380 }
381 }
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
static CUDA_HOS_DEV T angular_difference(const T x, const T y)
static constexpr int s_max_overlap_cells
◆ get_neighbours()
| int CaloRecGPU::GeometryArr::get_neighbours |
( |
const unsigned int | neigh_options, |
|
|
const int | cell, |
|
|
int * | neigh_arr ) const |
|
inlineconstexpr |
Places the neighbours according to the option(s) in neigh_options in the array and returns the number of such neighbours (not the total number of neighbours of the cell).
We're using C arrays for more immediate CUDA compatibility.
Definition at line 296 of file ConstantInfoDefinitions.h.
297 {
298 return neighbours.get_neighbours(neigh_options, cell, neigh_arr);
299 }
◆ get_number_of_neighbours()
| int CaloRecGPU::GeometryArr::get_number_of_neighbours |
( |
const unsigned int | neigh_options, |
|
|
const int | cell ) const |
|
inlineconstexpr |
◆ intra_calorimeter_sampling()
| int CaloRecGPU::GeometryArr::intra_calorimeter_sampling |
( |
const int | cell | ) |
const |
|
inlineconstexpr |
Definition at line 273 of file ConstantInfoDefinitions.h.
274 {
276 return cell_info.intra_calorimeter_sampling();
277 }
OtherCellInfo::carrier otherCellInfo[NCaloCells]
◆ is_HECIW_or_FCal()
| bool CaloRecGPU::GeometryArr::is_HECIW_or_FCal |
( |
const int | cell | ) |
const |
|
inlineconstexpr |
◆ is_PS()
| bool CaloRecGPU::GeometryArr::is_PS |
( |
const int | cell | ) |
const |
|
inlineconstexpr |
◆ is_tile()
| constexpr bool CaloRecGPU::GeometryArr::is_tile |
( |
const int | cell | ) |
|
|
inlinestaticconstexpr |
◆ region()
| int CaloRecGPU::GeometryArr::region |
( |
const int | cell | ) |
const |
|
inlineconstexpr |
◆ sampling()
| int CaloRecGPU::GeometryArr::sampling |
( |
const int | cell | ) |
const |
|
inlineconstexpr |
◆ subcalo()
| int CaloRecGPU::GeometryArr::subcalo |
( |
const int | cell | ) |
const |
|
inlineconstexpr |
◆ deta
◆ dphi
◆ dr
◆ dx
◆ dy
◆ dz
◆ eta
◆ etaPhiToCell
◆ nCellsPerSampling
| int CaloRecGPU::GeometryArr::nCellsPerSampling[NumSamplings] |
◆ neighbours
| NeighArr CaloRecGPU::GeometryArr::neighbours |
◆ otherCellInfo
◆ phi
◆ volume
The documentation for this struct was generated from the following file: