ATLAS Offline Software
Loading...
Searching...
No Matches
CaloCell_ID.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOCELL_ID_H
6#define CALOCELL_ID_H
7
11
15
16#include <vector>
17#include <iostream>
18
19
20
21class IdentifierHash;
22
34{
35
36public:
37
39
41 CaloCell_ID(const LArEM_ID* em_id,
42 const LArHEC_ID* hec_id,
43 const LArFCAL_ID* fcal_id,
44 const LArMiniFCAL_ID* minifcal_id,
45 const TileID* tile_id) ;
46
48
49 // SUBCALO enumeration moved to CaloCell_Base_ID.
51
52 // CaloSample enumeration moved to CaloGeoHelpers/CaloSampling
54
55
57 virtual int initialize_from_dictionary(const IdDictMgr& dict_mgr);
59
60
63 const LArEM_ID* em_idHelper() const
64 {
65 return static_cast<const LArEM_ID*> (CaloCell_Base_ID::em_idHelper());
66 }
67
69 const LArHEC_ID* hec_idHelper() const
70 {
71 return static_cast<const LArHEC_ID*> (CaloCell_Base_ID::hec_idHelper());
72 }
73
75 const LArFCAL_ID* fcal_idHelper() const
76 {
77 return static_cast<const LArFCAL_ID*> (CaloCell_Base_ID::fcal_idHelper());
78 }
79
81 const TileID* tile_idHelper() const
82 {
83 return static_cast<const TileID*> (CaloCell_Base_ID::tile_idHelper());
84 }
85
86
87private:
88 // Avoid coverity warnings.
89 CaloCell_ID (const CaloCell_ID&) = delete;
91};
92
93//This is required and checked at compile time when you try to record/retrieve
94CLASS_DEF( CaloCell_ID , 123500438 , 1 )
96
97#endif // CALOCELL_ID_H
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Helper base class for offline cell identifiers.
Provide an interface for finding inheritance information at run time.
#define SG_BASE(D, B)
Declare that class D derives from class B.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Helper base class for offline cell identifiers.
SUBCALO
enumeration of sub calorimeters
const LArFCAL_Base_ID * fcal_idHelper() const
access to FCAL idHelper
const LArHEC_Base_ID * hec_idHelper() const
access to HEC idHelper
const Tile_Base_ID * tile_idHelper() const
access to Tile idHelper
const LArEM_Base_ID * em_idHelper() const
access to EM idHelper
CaloCell_Base_ID(const std::string &name, const LArEM_Base_ID *em_id, const LArHEC_Base_ID *hec_id, const LArFCAL_Base_ID *fcal_id, const LArMiniFCAL_ID *minifcal_id, const Tile_Base_ID *tile_id, bool supercell)
enumeration of samplings (i.e.layers) separately for various sub calorimeters
Identifier::size_type size_type
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
CaloCell_ID & operator=(const CaloCell_ID &)=delete
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
CaloCell_Base_ID::size_type size_type
Definition CaloCell_ID.h:38
CaloCell_ID(const LArEM_ID *em_id, const LArHEC_ID *hec_id, const LArFCAL_ID *fcal_id, const LArMiniFCAL_ID *minifcal_id, const TileID *tile_id)
Constructor.
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
Definition CaloCell_ID.h:75
CaloCell_Base_ID::SUBCALO SUBCALO
Definition CaloCell_ID.h:50
CaloCell_ID(const CaloCell_ID &)=delete
const TileID * tile_idHelper() const
access to Tile idHelper
Definition CaloCell_ID.h:81
CaloSampling::CaloSample CaloSample
Definition CaloCell_ID.h:53
const LArEM_ID * em_idHelper() const
access to EM idHelper
Definition CaloCell_ID.h:63
const LArHEC_ID * hec_idHelper() const
access to HEC idHelper
Definition CaloCell_ID.h:69
This is a "hash" representation of an Identifier.
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
Helper class for LArFCAL offline identifiers.
Definition LArFCAL_ID.h:49
Helper class for LArHEC offline identifiers.
Definition LArHEC_ID.h:76
Helper class for LArMiniFCAL offline identifiers.
Helper class for TileCal offline identifiers.
Definition TileID.h:67