CaloGeo class
#include <CaloGeo.h>

Public types

enum DetectorSide { kEtaPositive, kEtaNegative }

Constructors, destructors, conversion operators

CaloGeo() defaulted

Public functions

void build(ROOT::RDataFrame& geo, const std::string& rtree_base_path)
void load(const std::string& rtree_base_path, size_t rtree_cache_size = 5*1024*1024, size_t cell_store_cache_size = 10*1024*1024)
auto get_cell(unsigned int layer, const Position& pos) const -> const Cell & virtual
auto get_cell_id(unsigned int layer, const Position& pos) const -> unsigned long long
auto n_cells(unsigned int layer) const -> unsigned int
Get the number of cells in a layer.
auto n_cells() const -> unsigned int
Get the total number of cells.
auto n_layers() const -> unsigned int
Get the number of layers.
auto get_cell(unsigned long long id) const -> const Cell &
Get a cell by its ID.
auto get_cell_at_idx(unsigned int layer, size_t idx) const -> const Cell &
Get a cell by its index in a layer.
auto is_barrel(unsigned int layer) const -> bool
Check if a layer is a barrel layer.
auto is_xyz(unsigned int layer) const -> bool
Check if cuboid cells in a layer are described by (x, y, z)
auto is_eta_phi_r(unsigned int layer) const -> bool
Check if cuboid cells in a layer are described by (eta, phi, r)
auto is_eta_phi_z(unsigned int layer) const -> bool
Check if cuboid cells in a layer are described by (eta, phi, z)
auto zpos(unsigned int layer, const Position& pos, Cell::SubPos subpos) const -> double
Get the z position of a cell in a layer at a given position.
auto rpos(unsigned int layer, const Position& pos, Cell::SubPos subpos) const -> double
Get the r position of a cell in a layer at a given position.
auto min_eta(unsigned int layer, DetectorSide side) const -> double
Get the min eta extent of a layer on a given detector side.
auto max_eta(unsigned int layer, DetectorSide side) const -> double
Get the max eta extent of a layer on a given detector side.
void set_alt_geo_handler(unsigned int layer, std::shared_ptr<CaloGeo> handler)
Set an alternative geometry handler for a layer.
void set_alt_geo_handler(unsigned int first_layer, unsigned int last_layer, std::shared_ptr<CaloGeo> handler)
Set an alternative geometry handler for a range of layers.