Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GenericTob.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 GLOBALSIM_GENERICTOB_H
6 #define GLOBALSIM_GENERICTOB_H
7 
8 #include "AlgoConstants.h"
9 #include "AlgoDataTypes.h" //bitSetToInt
10 #include "eEmTob.h"
11 
12 #include <bitset>
13 #include <ostream>
14 
15 namespace GlobalSim {
16 
17 
18  class GenericTob {
19  // vhdl type: record
20 
21  public:
22  constexpr static std::size_t GenericEtBitWidth{13};
23  constexpr static std::size_t GenericEtaBitWidth{9};
24 
25  constexpr static std::size_t
27 
28  constexpr static std::size_t GenericPhiBitWidth{7};
29  constexpr static std::size_t GenericMuonFlagBitWidth{2};
30 
31 
33  GenericTob(const eEmTobPtr& in_tob);
34 
35  const std::bitset<13>& Et_bits() const {return m_Et_bits;}
36  const std::bitset<9>& Eta_bits() const {return m_Eta_bits;}
37  const std::bitset<7>& Phi_bits() const {return m_Phi_bits;}
38  const std::bitset<2>& Charge_bits() const {return m_Charge_bits;}
39  const std::bitset<1>& overflow_bits() const {return m_Overflow_bits;}
40  std::bitset<32> as_bits() const;
41 
42  ulong Et () const {return m_Et_bits.to_ulong();}
43  int Eta () const {return bitSetToInt(m_Eta_bits);}
44  int Phi () const {return bitSetToInt(m_Phi_bits);}
45  int Charge () const{return bitSetToInt(m_Charge_bits);}
46 
47 
48  private:
49 
50  // at the time of writing the int widhs in the VHDL code were all < 16.
51 
52  std::bitset<GenericEtBitWidth> m_Et_bits;
53  std::bitset<GenericEtaBitWidth> m_Eta_bits;
54  std::bitset<GenericPhiBitWidth> m_Phi_bits;
55  std::bitset<GenericMuonFlagBitWidth> m_Charge_bits;
56  std::bitset<1> m_Overflow_bits;
57 
58  };
59 
60 }
61 
62 std::ostream& operator << (std::ostream&, const GlobalSim::GenericTob&);
63 
64 #endif
GlobalSim::GenericTob::GenericEtBitWidth
constexpr static std::size_t GenericEtBitWidth
Definition: GenericTob.h:22
GlobalSim::GenericTob::Charge
int Charge() const
Definition: GenericTob.h:45
GlobalSim::GenericTob::m_Phi_bits
std::bitset< GenericPhiBitWidth > m_Phi_bits
Definition: GenericTob.h:54
GlobalSim::GenericTob::m_Charge_bits
std::bitset< GenericMuonFlagBitWidth > m_Charge_bits
Definition: GenericTob.h:55
GlobalSim::GenericTob::Phi
int Phi() const
Definition: GenericTob.h:44
operator<<
std::ostream & operator<<(std::ostream &, const GlobalSim::GenericTob &)
Definition: GenericTob.cxx:68
GlobalSim::GenericTob::m_Eta_bits
std::bitset< GenericEtaBitWidth > m_Eta_bits
Definition: GenericTob.h:53
AlgoDataTypes.h
GlobalSim::GenericTob::Et_bits
const std::bitset< 13 > & Et_bits() const
Definition: GenericTob.h:35
GlobalSim::bitSetToInt
int bitSetToInt(BITSET bitset)
Definition: AlgoDataTypes.h:19
GlobalSim::GenericTob::Et
ulong Et() const
Definition: GenericTob.h:42
GlobalSim::GenericTob::Phi_bits
const std::bitset< 7 > & Phi_bits() const
Definition: GenericTob.h:37
GlobalSim::GenericTob
Definition: GenericTob.h:18
GlobalSim::GenericTob::overflow_bits
const std::bitset< 1 > & overflow_bits() const
Definition: GenericTob.h:39
GlobalSim::GenericTob::GenericMuonFlagBitWidth
constexpr static std::size_t GenericMuonFlagBitWidth
Definition: GenericTob.h:29
GlobalSim
AlgTool to obtain a selection of eFex RoIs read in from the event store.
Definition: dump.h:8
GlobalSim::GenericTob::m_Overflow_bits
std::bitset< 1 > m_Overflow_bits
Definition: GenericTob.h:56
GlobalSim::GenericTob::Charge_bits
const std::bitset< 2 > & Charge_bits() const
Definition: GenericTob.h:38
eEmTob.h
GlobalSim::GenericTob::Eta
int Eta() const
Definition: GenericTob.h:43
GlobalSim::GenericTob::GenericTob
GenericTob()
Definition: GenericTob.h:32
AlgoConstants.h
GlobalSim::eEmTobPtr
std::shared_ptr< eEmTob > eEmTobPtr
Definition: eEmTob.cxx:91
GlobalSim::GenericTob::GenericEtaBitWidth
constexpr static std::size_t GenericEtaBitWidth
Definition: GenericTob.h:23
GlobalSim::GenericTob::GenericAbsoluteEtBitWidth
constexpr static std::size_t GenericAbsoluteEtBitWidth
Definition: GenericTob.h:26
GlobalSim::GenericTob::as_bits
std::bitset< 32 > as_bits() const
Definition: GenericTob.cxx:34
GlobalSim::GenericTob::Eta_bits
const std::bitset< 9 > & Eta_bits() const
Definition: GenericTob.h:36
GlobalSim::GenericTob::m_Et_bits
std::bitset< GenericEtBitWidth > m_Et_bits
Definition: GenericTob.h:52
GlobalSim::GenericTob::GenericPhiBitWidth
constexpr static std::size_t GenericPhiBitWidth
Definition: GenericTob.h:28