 |
ATLAS Offline Software
|
Go to the documentation of this file.
12 #ifndef CALODETDESCR_CALODETDESCRMANAGER_H
13 #define CALODETDESCR_CALODETDESCRMANAGER_H
24 class CaloCellPacker_400_500_test;
43 constexpr
static const char* caloMgrStaticKey =
"CaloMgrStatic";
241 int sampling_or_module,
243 double eta,
double phi)
const;
259 double phi_min,
double phi_max,
260 std::vector<IdentifierHash> & cell_list)
const;
264 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
266 std::vector<IdentifierHash> & cell_list)
const;
270 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
272 std::vector<IdentifierHash> & cell_list)
const;
276 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
278 int sampling_or_module,
279 std::vector<IdentifierHash> & cell_list)
const;
285 int sampling_or_module,
bool barrel,
286 std::vector<IdentifierHash> & cell_list)
const;
290 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
292 std::vector<IdentifierHash> & cell_list)
const;
306 int sampling_or_module,
312 int& sampling_or_module,
354 int sampling_or_module,
361 double eta,
double phi)
const;
366 double eta,
double phi)
const;
403 void add(std::unique_ptr<CaloDetDescriptor>
descr);
507 if ( caloCellHash < m_element_vec.size() )
508 return m_element_vec[caloCellHash] ;
509 else return nullptr ;
517 else return nullptr ;
521 #endif // CALODETDESCR_CALODETDESCRMANAGER_H
std::vector< CaloDetDescrElement * > calo_element_vec
calo_element_range element_range() const
Range over element vector.
std::vector< calo_element_const_iterator > m_subCalo_end
offsets for subcalo's elements
calo_descr_size tile_descriptors_size() const
number of tile descriptors
calo_descr_const_iterator calo_descriptors_begin() const
first descriptor in the vector
calo_descr_const_iterator tile_descriptors_begin() const
first tile descriptor (they are in separate vector)
void set_helper(const CaloCell_Base_ID *idHelper)
set calo Cell ID helper
Hold mappings of ranges to condition objects.
Scalar phi() const
phi method
calo_element_const_iterator element_end() const
end of element vector
std::vector< IdentifierHash > m_subCalo_max
offsets for subcalo's elements
Scalar eta() const
pseudorapidity method
std::ranges::subrange< calo_nonconst_element_const_iterator > calo_nonconst_element_range
calo_nonconst_descr_range calo_descriptors_range_nonconst()
Range over descriptors, with non-const elements.
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
calo_descr_size calo_descriptors_size() const
number of descriptors
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
std::vector< CaloDetDescriptor * > calo_descr_vec
calo_element_vec::const_iterator calo_nonconst_element_const_iterator
std::ranges::subrange< calo_descr_const_iterator > calo_descr_range
void add(CaloDetDescrElement *element)
add Calo DD element to the elements vector
calo_descr_vec::const_iterator calo_nonconst_descr_const_iterator
bool const RAWDATA *ch2 const
calo_descr_const_iterator calo_descriptors_end() const
end of descriptors vector
void set_lar_geometry(const std::string &geom)
set lar geometry label, distinguish between full atlas and TB
Tranform iterator over pointers to iterator over const pointers.
static void build_sample(CaloCell_ID::SUBCALO subCalo, bool barrel, int sampling_or_module, CaloCell_ID::CaloSample &sample)
translate between the 2 ways to label a sub-detector:
calo_descr_vec m_tile_descr_vec
vector of descriptors
void print() const
print out the contents
CaloDetDescrManager_Base()
Default Constructor.
const std::string & lar_geometry() const
get lar geometry label, distinguish between full atlas and TB
bool isInitialized() const
for backwards compatibility only
calo_element_vec::size_type calo_element_vec_size
std::ranges::subrange< calo_element_const_iterator > calo_element_range
std::string m_lar_geometry
LAr geometry label (full atlas/TB) for backwards compatibility.
This class initializes the Calo (LAr and Tile) offline identifiers.
Helper class for offline supercell identifiers.
const CaloIdManager * m_calo_mgr
Calo ID Manager helper.
void set_helper(const CaloCell_ID *idHelper)
set calo Cell ID helper
const CaloCell_Base_ID * getCaloCell_ID() const
get calo cell ID helper
SUBCALO
enumeration of sub calorimeters
friend class CaloCellPacker_400_500_test
Helper for CaloCompactCellTool_test.
calo_nonconst_element_range element_range_nonconst()
Range over element vector, with non-const elements.
calo_descr_vec m_descr_vec
vector of descriptors
Helper class for offline cell identifiers.
std::vector< IdentifierHash > m_subCalo_min
offsets for subcalo's elements
void cellsInZone(double eta_min, double eta_max, double phi_min, double phi_max, std::vector< IdentifierHash > &cell_list) const
the only client is CaloCellList class
const CaloIdManager * getCalo_Mgr() const
get calo ID manager
CONDCONT_DEF(CaloDetDescrManager, 206559529)
void add_tile(CaloDetDescriptor *descr)
add tile descriptor to the tile descriptors vector
~CaloDetDescrManager_Base()
destructor
calo_descr_const_iterator tile_descriptors_end() const
end of tile descriptors vector
calo_element_const_iterator element_begin() const
first element
const CaloDetDescrElement * get_element_FCAL_raw(const CaloDetDescriptor *reg, double eta, double phi) const
LArFCAl private methode to get element from raw eta,phi.
bool is_in(double eta, double phi, CaloCell_ID::CaloSample sample, double &etadist) const
return true if direction eta,phi crosses ANY of the corresponding descriptors
calo_descr_range calo_descriptors_range() const
Range over descriptors.
calo_descr_vec::size_type calo_descr_size
const CaloDetDescrElement * get_element_FCAL(const CaloDetDescriptor *reg, double eta, double phi) const
LArFCAl private methode to get element.
CaloDetDescrElement * get_element_nonconst(const Identifier &cellId)
get element by its identifier, non-const version.
This class provides the client interface for accessing the detector description information common to...
This is a base class for LAr and Tile Descriptors The primary goal is to speed up loops over all the ...
std::vector< calo_element_const_iterator > m_subCalo_begin
offsets for subcalo's elements
calo_element_vec_size element_size() const
total number of elements
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
static void decode_sample(CaloCell_ID::SUBCALO &subCalo, bool &barrel, int &sampling_or_module, CaloCell_ID::CaloSample sample)
translate between the 2 ways to label a sub-detector:
calo_nonconst_descr_range tile_descriptors_range_nonconst()
Range over tile descriptors, with non-const elements.
calo_descr_range tile_descriptors_range() const
Range over tile descriptors.
CaloDetDescrElement * release_element(IdentifierHash hash)
const CaloCell_ID * getCaloCell_ID() const
get calo cell ID helper
calo_element_vec m_element_vec
vector of Calo DD elements
void initialize()
initialization of the manager, used by the Converter when it creates the Manager
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
const CaloDetDescrElement * get_element_raw(CaloCell_ID::CaloSample sample, double eta, double phi) const
Get element from raw quantities (to build real fixed size clusters)
Helper base class for offline cell identifiers.
std::ranges::subrange< calo_nonconst_descr_const_iterator > calo_nonconst_descr_range
CaloDetDescriptor * get_descriptor_nonconst(const Identifier ®ionId)
get descriptor by region identifier, non-const version.
macros to associate a CLID to a type
Tranform iterator over pointers to iterator over const pointers.
const CaloCell_Base_ID * m_cell_id
Calo Cell ID helper.
const CaloDetDescriptor * get_descriptor_raw(CaloCell_ID::CaloSample sample, double eta, double phi) const
get descriptor by sample, eta and phi raw
const CaloDetDescriptor * get_descriptor(const Identifier ®ionId) const
get descriptor by region identifier