ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRec
src
CaloTopoSplitterClusterCell.h
Go to the documentation of this file.
1
// Yo emacs, this is -*- C++ -*-
2
3
/*
4
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
//-----------------------------------------------------------------------
8
// File and Version Information:
9
//
10
// Description: ClusterCell Container for the topological cluster splitter
11
//
12
// Environment:
13
// Software developed for the ATLAS Detector at the CERN LHC
14
//
15
// Author List:
16
// Sven Menke
17
//
18
//-----------------------------------------------------------------------
19
20
#ifndef CALOTOPOSPLITTERCLUSTERCELL_H
21
#define CALOTOPOSPLITTERCLUSTERCELL_H
22
23
#include "
CaloTopoTmpClusterCellBase.h
"
24
#include "
xAODCaloEvent/CaloCluster.h
"
25
26
class
CaloTopoSplitterHashCluster
;
27
28
class
CaloTopoSplitterClusterCell
:
public
CaloTopoTmpClusterCellBase
29
{
30
31
private
:
32
33
// Friends
34
35
// Data members
36
37
CaloTopoSplitterHashCluster
*
m_cluster
;
38
const
xAOD::CaloCluster
*
m_parentCluster
;
39
xAOD::CaloCluster::cell_iterator
m_itrCell
;
40
size_t
m_parentClusterIndex
;
41
CaloTopoSplitterHashCluster
*
m_secondCluster
;
42
bool
m_shared
;
43
float
m_weight
;
44
bool
m_secondary
;
45
46
public
:
47
48
// Constructors
49
50
CaloTopoSplitterClusterCell
(
const
IdentifierHash
& idHash,
51
const
CaloCell_ID::SUBCALO
subDet,
52
xAOD::CaloCluster::cell_iterator
& itrCell,
53
const
size_t
& iCell,
//This is actually obsolete, can be obtained from iterator
54
const
float
& signedRatio,
55
const
xAOD::CaloCluster
*pClus,
56
const
size_t
caloClusterIndex,
57
const
bool
isSecondary=
false
)
58
:
CaloTopoTmpClusterCellBase
(idHash,subDet,iCell,signedRatio),
59
m_cluster
(0),
60
m_parentCluster
(pClus),
61
m_itrCell
(itrCell),
62
m_parentClusterIndex
(caloClusterIndex),
63
m_secondary
(isSecondary)
64
{
65
m_shared
=
false
;
66
m_secondCluster
= 0;
67
m_weight
=1.;
68
}
69
70
inline
const
xAOD::CaloCluster
*
getParentCluster
()
const
71
{
72
return
m_parentCluster
;
73
}
74
75
inline
const
xAOD::CaloCluster::cell_iterator
&
getCellIterator
()
const
76
{
77
return
m_itrCell
;
78
}
79
80
inline
size_t
getParentClusterIndex
()
const
81
{
82
return
m_parentClusterIndex
;
83
}
84
85
inline
bool
getShared
()
const
86
{
87
return
m_shared
;
88
}
89
90
inline
void
91
setSecondCaloTopoTmpHashCluster
(
CaloTopoSplitterHashCluster
* cluster)
92
{
93
m_secondCluster
= cluster;
94
}
95
96
inline
CaloTopoSplitterHashCluster
*
getSecondCaloTopoTmpHashCluster
()
97
{
98
return
m_secondCluster
;
99
}
100
101
inline
void
setShared
()
102
{
103
m_shared
=
true
;
104
}
105
106
inline
void
setSharedWeight
(
const
float
&weight)
107
{
108
m_weight
= weight;
109
}
110
111
inline
const
float
&
getSharedWeight
()
112
{
113
return
m_weight
;
114
}
115
116
inline
void
setUnshared
()
117
{
118
m_shared
=
false
;
119
}
120
121
inline
const
CaloTopoSplitterHashCluster
*
getCaloTopoTmpHashCluster
()
const
122
{
123
return
m_cluster
;
124
}
125
126
inline
CaloTopoSplitterHashCluster
*
getCaloTopoTmpHashCluster
()
127
{
128
return
m_cluster
;
129
}
130
131
inline
void
setCaloTopoTmpHashCluster
(
CaloTopoSplitterHashCluster
* cluster)
132
{
133
m_cluster
= cluster;
134
}
135
136
inline
bool
getSecondary
()
const
137
{
138
return
m_secondary
;
139
}
140
141
142
143
};
144
145
#endif
// CALOTOPOSPLITTERCLUSTERCELL_H
146
CaloTopoTmpClusterCellBase.h
CaloCluster.h
CaloCell_ID::SUBCALO
CaloCell_Base_ID::SUBCALO SUBCALO
Definition
CaloCell_ID.h:50
CaloTopoSplitterClusterCell::getCaloTopoTmpHashCluster
const CaloTopoSplitterHashCluster * getCaloTopoTmpHashCluster() const
Definition
CaloTopoSplitterClusterCell.h:121
CaloTopoSplitterClusterCell::getSecondary
bool getSecondary() const
Definition
CaloTopoSplitterClusterCell.h:136
CaloTopoSplitterClusterCell::getShared
bool getShared() const
Definition
CaloTopoSplitterClusterCell.h:85
CaloTopoSplitterClusterCell::m_cluster
CaloTopoSplitterHashCluster * m_cluster
Definition
CaloTopoSplitterClusterCell.h:37
CaloTopoSplitterClusterCell::setUnshared
void setUnshared()
Definition
CaloTopoSplitterClusterCell.h:116
CaloTopoSplitterClusterCell::m_secondCluster
CaloTopoSplitterHashCluster * m_secondCluster
Definition
CaloTopoSplitterClusterCell.h:41
CaloTopoSplitterClusterCell::CaloTopoSplitterClusterCell
CaloTopoSplitterClusterCell(const IdentifierHash &idHash, const CaloCell_ID::SUBCALO subDet, xAOD::CaloCluster::cell_iterator &itrCell, const size_t &iCell, const float &signedRatio, const xAOD::CaloCluster *pClus, const size_t caloClusterIndex, const bool isSecondary=false)
Definition
CaloTopoSplitterClusterCell.h:50
CaloTopoSplitterClusterCell::getSecondCaloTopoTmpHashCluster
CaloTopoSplitterHashCluster * getSecondCaloTopoTmpHashCluster()
Definition
CaloTopoSplitterClusterCell.h:96
CaloTopoSplitterClusterCell::m_weight
float m_weight
Definition
CaloTopoSplitterClusterCell.h:43
CaloTopoSplitterClusterCell::getParentCluster
const xAOD::CaloCluster * getParentCluster() const
Definition
CaloTopoSplitterClusterCell.h:70
CaloTopoSplitterClusterCell::setShared
void setShared()
Definition
CaloTopoSplitterClusterCell.h:101
CaloTopoSplitterClusterCell::getCellIterator
const xAOD::CaloCluster::cell_iterator & getCellIterator() const
Definition
CaloTopoSplitterClusterCell.h:75
CaloTopoSplitterClusterCell::m_itrCell
xAOD::CaloCluster::cell_iterator m_itrCell
Definition
CaloTopoSplitterClusterCell.h:39
CaloTopoSplitterClusterCell::m_parentCluster
const xAOD::CaloCluster * m_parentCluster
Definition
CaloTopoSplitterClusterCell.h:38
CaloTopoSplitterClusterCell::getParentClusterIndex
size_t getParentClusterIndex() const
Definition
CaloTopoSplitterClusterCell.h:80
CaloTopoSplitterClusterCell::setSecondCaloTopoTmpHashCluster
void setSecondCaloTopoTmpHashCluster(CaloTopoSplitterHashCluster *cluster)
Definition
CaloTopoSplitterClusterCell.h:91
CaloTopoSplitterClusterCell::m_shared
bool m_shared
Definition
CaloTopoSplitterClusterCell.h:42
CaloTopoSplitterClusterCell::m_parentClusterIndex
size_t m_parentClusterIndex
Definition
CaloTopoSplitterClusterCell.h:40
CaloTopoSplitterClusterCell::m_secondary
bool m_secondary
Definition
CaloTopoSplitterClusterCell.h:44
CaloTopoSplitterClusterCell::getSharedWeight
const float & getSharedWeight()
Definition
CaloTopoSplitterClusterCell.h:111
CaloTopoSplitterClusterCell::getCaloTopoTmpHashCluster
CaloTopoSplitterHashCluster * getCaloTopoTmpHashCluster()
Definition
CaloTopoSplitterClusterCell.h:126
CaloTopoSplitterClusterCell::setSharedWeight
void setSharedWeight(const float &weight)
Definition
CaloTopoSplitterClusterCell.h:106
CaloTopoSplitterClusterCell::setCaloTopoTmpHashCluster
void setCaloTopoTmpHashCluster(CaloTopoSplitterHashCluster *cluster)
Definition
CaloTopoSplitterClusterCell.h:131
CaloTopoSplitterHashCluster
Definition
CaloTopoSplitterHashCluster.h:34
CaloTopoTmpClusterCellBase::CaloTopoTmpClusterCellBase
CaloTopoTmpClusterCellBase(const IdentifierHash &idHash, const CaloCell_ID::SUBCALO subDet, const size_t &iCell, const float &signedRatio)
Definition
CaloTopoTmpClusterCellBase.h:48
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
xAOD::CaloCluster_v1::cell_iterator
CaloClusterCellLink::iterator cell_iterator
Iterator of the underlying CaloClusterCellLink (non-const version).
Definition
CaloCluster_v1.h:819
xAOD::CaloCluster
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloCluster.h:19
Generated on
for ATLAS Offline Software by
1.17.0