ATLAS Offline Software
Loading...
Searching...
No Matches
Global/GlobalSimulation/src/IO/eEmTOB.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
11
12#ifndef GLOBALSIM_EEMTOB_H
13#define GLOBALSIM_EEMTOB_H
14
15#include "CommonTOB.h"
17
18#include <bitset>
19
20namespace GlobalSim::IOBitwise {
22 class eEmTOB : public CommonTOB {
23
24 public:
25
26
28 static constexpr std::size_t s_RHad_width{2};
30 static constexpr std::size_t s_WsTot_width{2};
32 static constexpr std::size_t s_REta_width{2};
34 static constexpr std::size_t s_Seed_width{2};
36 static constexpr std::size_t s_UpNotDown_width{1};
38 static constexpr std::size_t s_SeedIsMax_width{1};
39
40
49 eEmTOB(const xAOD::eFexEMRoI& eFexTOB);
58
59 eEmTOB(const eEmTOB&);
60
61
63 const std::bitset<s_RHad_width>&,
64 const std::bitset<s_REta_width>&,
65 const std::bitset<s_WsTot_width>&,
66 const std::bitset<s_Seed_width>&,
67 const std::bitset<s_UpNotDown_width>&,
68 const std::bitset<s_SeedIsMax_width>&
69 );
70
72 virtual ~eEmTOB(){};
73
75 virtual const std::bitset<s_RHad_width>& RHad_bits() const;
77 virtual const std::bitset<s_WsTot_width>& WsTot_bits() const;
79 virtual const std::bitset<s_REta_width>& REta_bits() const;
81 virtual const std::bitset<s_Seed_width>& Seed_bits() const;
83 virtual const std::bitset<s_UpNotDown_width>& UpNotDown_bit() const;
85 virtual const std::bitset<s_SeedIsMax_width>& SeedIsMax_bit() const;
86
87 virtual std::string to_string() const;
88
89 private:
90
92 std::bitset<s_RHad_width> m_RHad_bits;
94 std::bitset<s_WsTot_width> m_WsTot_bits;
96 std::bitset<s_REta_width> m_REta_bits;
98 std::bitset<s_Seed_width> m_Seed_bits;
100 std::bitset<s_UpNotDown_width> m_UpNotDown_bit;
102 std::bitset<s_SeedIsMax_width> m_SeedIsMax_bit;
103 };
104} //End of namespace
105
107
108#endif //GLOBALSIM_EEMTOB_H
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
CommonTOB(const xAOD::eFexEMRoI &eFexTOB)
Constructor taking an eFexROITOB to initialise common bits.
Definition CommonTOB.cxx:10
virtual const std::bitset< s_REta_width > & REta_bits() const
static constexpr std::size_t s_SeedIsMax_width
Count: Size of Seed supercell is a local maxima bit.
eEmTOB(const xAOD::eFexEMRoI &eFexTOB)
Constructor taking an eFexROITOB to initialise bits.
static constexpr std::size_t s_REta_width
Count: Size of R0 thresholds satisfied bitset.
std::bitset< s_SeedIsMax_width > m_SeedIsMax_bit
Property: Seed is a maximum bitset within the eEmTOB word.
eEmTOB(const GlobalSim::IOBitwise::CommonTOB &, const std::bitset< s_RHad_width > &, const std::bitset< s_REta_width > &, const std::bitset< s_WsTot_width > &, const std::bitset< s_Seed_width > &, const std::bitset< s_UpNotDown_width > &, const std::bitset< s_SeedIsMax_width > &)
virtual const std::bitset< s_UpNotDown_width > & UpNotDown_bit() const
static constexpr std::size_t s_RHad_width
Count: Size of hadronic thresholds satisfied bitset.
virtual const std::bitset< s_SeedIsMax_width > & SeedIsMax_bit() const
std::bitset< s_WsTot_width > m_WsTot_bits
Property: Wstot threshold bitset within the eEmTOB word.
static constexpr std::size_t s_WsTot_width
Count: Size of WsTot algorithm thresholds satisfied bitset.
virtual const std::bitset< s_Seed_width > & Seed_bits() const
std::bitset< s_Seed_width > m_Seed_bits
Property: Seed eta position bitset within the eEmTOB word.
virtual const std::bitset< s_RHad_width > & RHad_bits() const
static constexpr std::size_t s_UpNotDown_width
Count: Size of UpnotDown bit.
std::bitset< s_RHad_width > m_RHad_bits
Property: RHad threshold bitset within the eEmTOB word.
std::bitset< s_REta_width > m_REta_bits
Property: REta threshold bitset within the eEmTOB word.
virtual const std::bitset< s_WsTot_width > & WsTot_bits() const
static constexpr std::size_t s_Seed_width
Count: Size of Seed eta position in the TOB bitset.
std::bitset< s_UpNotDown_width > m_UpNotDown_bit
Property: Up not down bitset within the eEmTOB word.
eEmTOB(const xAOD::eFexEMRoI &eFexTOB)
Constructor taking an eFexROITOB to initialise bits.
eFexEMRoI_v1 eFexEMRoI
Define the latest version of the eFexEMRoI class.
Definition eFexEMRoI.h:17