|
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef CALODETDESCR_CALODETDESCRMANAGER_H
15 #define CALODETDESCR_CALODETDESCRMANAGER_H
21 #include "boost/range/iterator_range.hpp"
26 class CaloCellPacker_400_500_test;
45 constexpr
static const char* caloMgrStaticKey =
"CaloMgrStatic";
244 int sampling_or_module,
246 double eta,
double phi)
const;
262 double phi_min,
double phi_max,
263 std::vector<IdentifierHash> & cell_list)
const;
267 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
269 std::vector<IdentifierHash> & cell_list)
const;
273 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
275 std::vector<IdentifierHash> & cell_list)
const;
279 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
281 int sampling_or_module,
282 std::vector<IdentifierHash> & cell_list)
const;
288 int sampling_or_module,
bool barrel,
289 std::vector<IdentifierHash> & cell_list)
const;
293 void cellsInZone(
double eta_min,
double eta_max,
double phi_min,
295 std::vector<IdentifierHash> & cell_list)
const;
309 int sampling_or_module,
315 int& sampling_or_module,
358 int sampling_or_module,
365 double eta,
double phi)
const;
370 double eta,
double phi)
const;
407 void add(std::unique_ptr<CaloDetDescriptor>
descr);
511 if ( caloCellHash < m_element_vec.size() )
512 return m_element_vec[caloCellHash] ;
513 else return nullptr ;
521 else return nullptr ;
525 #endif // CALODETDESCR_CALODETDESCRMANAGER_H
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
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...
boost::iterator_range< calo_element_const_iterator > calo_element_range
calo_descr_size calo_descriptors_size() const
number of descriptors
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
void add(CaloDetDescrElement *element)
add Calo DD element to the elements vector
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
std::string m_lar_geometry
LAr geometry label (full atlas/TB) for backwards compatibility.
This class initializes the Calo (LAr and Tile) offline identifiers.
boost::iterator_range< calo_nonconst_element_const_iterator > calo_nonconst_element_range
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
std::vector< CaloDetDescrElement * > calo_element_vec
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.
CaloConstIteratorAdaptor< calo_element_vec::const_iterator > calo_element_const_iterator
calo_descr_vec m_descr_vec
vector of descriptors
Helper class for offline cell identifiers.
std::vector< CaloDetDescriptor * > calo_descr_vec
std::vector< IdentifierHash > m_subCalo_min
offsets for subcalo's elements
boost::iterator_range< calo_descr_const_iterator > calo_descr_range
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_vec::const_iterator calo_nonconst_descr_const_iterator
calo_descr_const_iterator tile_descriptors_end() const
end of tile descriptors vector
calo_element_const_iterator element_begin() const
first element
CaloConstIteratorAdaptor< calo_descr_vec::const_iterator > calo_descr_const_iterator
calo_element_vec::const_iterator calo_nonconst_element_const_iterator
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.
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.
boost::iterator_range< calo_nonconst_descr_const_iterator > calo_nonconst_descr_range
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.
calo_descr_vec::size_type calo_descr_size
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.
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.
calo_element_vec::size_type calo_element_vec_size
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