ATLAS Offline Software
Loading...
Searching...
No Matches
HICaloRange.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HIEVENTUTILS_HICALORANGE_H
6#define HIEVENTUTILS_HICALORANGE_H
7
9#include <unordered_map>
10
12{
13public:
14 //methods to access static member
15 static const HICaloRange& getRange();
16
17 //public class member functions
18 bool LayerInRange(float eta, int layer);
19 inline float getRangeMin(int layer) const {
20 float result = 0.;
21 auto it = m_range.find(layer);
22 if (it != m_range.end()){
23 result = it->second.first;
24 }
25 return result;
26 }
27 inline float getRangeMax(int layer) const {
28 float result = 0.;
29 auto it = m_range.find(layer);
30 if (it != m_range.end()){
31 result = it->second.second;
32 }
33 return result;
34 }
35
36private:
37 //private constructor for singleton
39 void initializeRange();
40
41 //members
42 typedef std::pair<float,float> range_t;
43 std::unordered_map<int, range_t > m_range;
44};
45
46
47#endif
Scalar eta() const
pseudorapidity method
std::pair< float, float > range_t
Definition HICaloRange.h:42
void initializeRange()
float getRangeMax(int layer) const
Definition HICaloRange.h:27
std::unordered_map< int, range_t > m_range
Definition HICaloRange.h:43
bool LayerInRange(float eta, int layer)
static const HICaloRange & getRange()
float getRangeMin(int layer) const
Definition HICaloRange.h:19