ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTopoSplitterHashCluster.h
Go to the documentation of this file.
1// Yo emacs, this is -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7//-----------------------------------------------------------------------
8// File and Version Information:
9// $Id: CaloTopoSplitterHashCluster.h,v 1.5 2008-12-23 02:57:16 ssnyder Exp $
10//
11// Description: temporary Cluster Container for topological cluster splitter
12//
13// Environment:
14// Software developed for the ATLAS Detector at the CERN LHC
15//
16// Author List:
17// Sven Menke
18//
19//-----------------------------------------------------------------------
20
21#ifndef CALOTOPOSPLITTERHASHCLUSTER_H
22#define CALOTOPOSPLITTERHASHCLUSTER_H
23
26#include <CLHEP/Matrix/Vector.h>
27#include <CLHEP/Geometry/Vector3D.h>
28#include <optional>
29
30class CaloCluster;
33 : public CaloTopoTmpHashClusterBase<CaloTopoSplitterClusterCell>
34{
37
38private:
39
40 // Data members
43 float m_energy = 0;
44 bool m_hasValidEnergy = false;
45 bool m_containsLocalMax = false;
46 std::optional<HepGeom::Vector3D<double> > m_centroid;
47
48public:
49
50 // Constructors
54
55 // Destructors
57
58 // Operators
59
60 // Selectors
61
62 inline const xAOD::CaloCluster * getParentCluster() const
63 {
64 return m_parentCluster;
65 }
66
67 inline size_t getParentClusterIndex() const
68 {
70 }
71
72 void removeAll()
73 {
76 m_energy = 0;
77 m_hasValidEnergy = false;
78 m_containsLocalMax = false;
79 }
80
81 void add(HashCell& hashCell);
82
83 void remove(const HashCell& hashCell);
84
85 void add(CaloTopoSplitterHashCluster& hashCluster);
86
87 float getEnergy();
88
89 const HepGeom::Vector3D<double>& getCentroid();
90
91 inline bool getContainsLocalMax() const
92 {
93 return m_containsLocalMax;
94 }
95
96 inline void setContainsLocalMax()
97 {
98 m_containsLocalMax = true;
99 }
100
101 private:
102
103 void calcEnergy();
104
105 void calcCentroid();
106
107};
108
109
110#endif // CALOTOPOSPLITTERHASHCLUSTER_H
111
Principal data class for CaloCell clusters.
const HepGeom::Vector3D< double > & getCentroid()
void remove(const HashCell &hashCell)
const xAOD::CaloCluster * getParentCluster() const
~CaloTopoSplitterHashCluster()=default
CaloTopoTmpHashCell< CaloTopoSplitterClusterCell > HashCell
const xAOD::CaloCluster * m_parentCluster
CaloTopoTmpHashClusterBase< CaloTopoSplitterClusterCell > Base
std::optional< HepGeom::Vector3D< double > > m_centroid
pool namespace
Definition libname.h:15
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.