ATLAS Offline Software
CaloCell_ID.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CALOCELL_ID_H
6 #define CALOCELL_ID_H
7 
11 
12 #include "CaloIdentifier/CaloID.h"
14 #include "AthenaKernel/BaseInfo.h"
15 
16 #include <vector>
17 #include <iostream>
18 
19 
20 
21 class IdentifierHash;
22 
34 {
35 
36 public:
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 
47  ~CaloCell_ID(void);
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  }
69  const LArHEC_ID* hec_idHelper() const
70  {
71  return static_cast<const LArHEC_ID*> (CaloCell_Base_ID::hec_idHelper());
72  }
75  const LArFCAL_ID* fcal_idHelper() const
76  {
77  return static_cast<const LArFCAL_ID*> (CaloCell_Base_ID::fcal_idHelper());
78  }
81  const TileID* tile_idHelper() const
82  {
83  return static_cast<const TileID*> (CaloCell_Base_ID::tile_idHelper());
84  }
85 
86 
87 private:
88  // Avoid coverity warnings.
91 };
92 
93 //This is required and checked at compile time when you try to record/retrieve
94 CLASS_DEF( CaloCell_ID , 123500438 , 1 )
96 
97 #endif // CALOCELL_ID_H
CaloCell_ID::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
Definition: CaloCell_ID.cxx:30
CaloCell_ID::em_idHelper
const LArEM_ID * em_idHelper() const
access to EM idHelper
Definition: CaloCell_ID.h:63
CaloCell_ID::CaloCell_ID
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.
Definition: CaloCell_ID.cxx:15
CaloCell_ID::size_type
CaloCell_Base_ID::size_type size_type
Definition: CaloCell_ID.h:38
CaloID.h
CaloCell_ID::~CaloCell_ID
~CaloCell_ID(void)
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
CaloCell_Base_ID::fcal_idHelper
const LArFCAL_Base_ID * fcal_idHelper() const
access to FCAL idHelper
Definition: CaloCell_Base_ID.h:343
CaloCell_ID::hec_idHelper
const LArHEC_ID * hec_idHelper() const
access to HEC idHelper
Definition: CaloCell_ID.h:69
CaloCell_ID::SUBCALO
CaloCell_Base_ID::SUBCALO SUBCALO
Definition: CaloCell_ID.h:50
CaloCell_Base_ID::em_idHelper
const LArEM_Base_ID * em_idHelper() const
access to EM idHelper
Definition: CaloCell_Base_ID.h:332
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
IdDictMgr
Definition: IdDictDefs.h:32
CaloCell_ID::CaloSample
CaloSampling::CaloSample CaloSample
Definition: CaloCell_ID.h:53
BaseInfo.h
Provide an interface for finding inheritance information at run time.
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
CaloCell_ID::CaloCell_ID
CaloCell_ID(const CaloCell_ID &)
CaloCell_Base_ID::SUBCALO
SUBCALO
enumeration of sub calorimeters
Definition: CaloCell_Base_ID.h:46
CaloCell_Base_ID.h
Helper base class for offline cell identifiers.
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
CaloCell_ID::operator=
CaloCell_ID & operator=(const CaloCell_ID &)
IdentifierHash.h
SG_BASE
SG_BASE(CaloCell_ID, CaloCell_Base_ID)
LArMiniFCAL_ID
Helper class for LArMiniFCAL offline identifiers.
Definition: LArMiniFCAL_ID.h:57
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
CaloCell_Base_ID
Helper base class for offline cell identifiers.
Definition: CaloCell_Base_ID.h:41
CLASS_DEF.h
macros to associate a CLID to a type
CaloCell_Base_ID::size_type
Identifier::size_type size_type
Definition: CaloCell_Base_ID.h:43
CaloCell_ID::tile_idHelper
const TileID * tile_idHelper() const
access to Tile idHelper
Definition: CaloCell_ID.h:81
CaloCell_Base_ID::tile_idHelper
const Tile_Base_ID * tile_idHelper() const
access to Tile idHelper
Definition: CaloCell_Base_ID.h:355
CaloCell_ID::fcal_idHelper
const LArFCAL_ID * fcal_idHelper() const
access to FCAL idHelper
Definition: CaloCell_ID.h:75
CaloCell_Base_ID::hec_idHelper
const LArHEC_Base_ID * hec_idHelper() const
access to HEC idHelper
Definition: CaloCell_Base_ID.h:337