ATLAS Offline Software
MuonNextBCTOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef L1TopoEvent_MuonNextBCTOB
4 #define L1TopoEvent_MuonNextBCTOB
5 
6 #include <iostream>
7 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 namespace TCS {
12 
13  class MuonNextBCTOB : public BaseTOB {
14  public:
15 
16  static unsigned int nBitsEt() { return g_nBitsEt; }
17  static unsigned int nBitsIsolation() { return g_nBitsIsolation; }
18  static unsigned int nBitsEta() { return g_nBitsEta; }
19  static unsigned int nBitsPhi() { return g_nBitsPhi; }
20 
21 
22  // default constructor
23  MuonNextBCTOB(uint32_t roiWord = 0, const std::string& tobName = "MuonNextBCTOB");
24 
25  // constructor with individual values
26  MuonNextBCTOB(unsigned int et, unsigned int isolation, int eta, int phi, uint32_t roiWord = 0, const std::string& tobName = "MuonNextBCTOB");
27 
28  // constructor with initial values
29  MuonNextBCTOB(const MuonNextBCTOB & muonNextBC);
30 
31  // destructor
32  virtual ~MuonNextBCTOB();
33 
34  // accessors
35  unsigned int Et() const { return m_Et; }
36  unsigned int isolation() const { return m_isolation; }
37  int eta() const { return m_eta; }
38  int phi() const { return m_phi; }
39 
40  double EtDouble() const { return m_EtDouble; }
41  double EtaDouble() const { return m_etaDouble; }
42  double PhiDouble() const { return m_phiDouble; }
43 
44  // setters
45  void setEt(unsigned int et) { m_Et = sizeCheck(et, nBitsEt()); }
46  void setIsolation(unsigned int et) { m_isolation = sizeCheck(et, nBitsIsolation()); }
47  void setEta(int eta) { m_eta = sizeCheck(eta, nBitsEta()); }
48  void setPhi(int phi) { m_phi = sizeCheck(phi, nBitsPhi()); }
49 
50  void setEtDouble(double et) { m_EtDouble = et; }
51  void setEtaDouble(double eta) { m_etaDouble = eta; }
52  void setPhiDouble(double phi) { m_phiDouble = phi; }
53 
54  inputTOBType_t tobType() const { return MUONNEXTBC; }
55 
56  // memory management
58  static void clearHeap();
59  static const Heap<TCS::MuonNextBCTOB>& heap() { return fg_heap; }
60 
61  virtual void print(std::ostream &o) const;
62 
63  private:
64  static const unsigned int g_nBitsEt;
65  static const unsigned int g_nBitsIsolation;
66  static const unsigned int g_nBitsEta;
67  static const unsigned int g_nBitsPhi;
68 
69  unsigned int m_Et{0};
70  unsigned int m_isolation{0};
71  int m_eta{0};
72  int m_phi{0};
73 
74  double m_EtDouble{0};
75  double m_etaDouble{0};
76  double m_phiDouble{0};
77 
78  static thread_local Heap<TCS::MuonNextBCTOB> fg_heap;
79  };
80 }
81 
82 #endif
TCS::MuonNextBCTOB::nBitsPhi
static unsigned int nBitsPhi()
Definition: MuonNextBCTOB.h:19
TCS::BaseTOB::tobName
const std::string & tobName() const
Definition: BaseTOB.h:23
TCS::MuonNextBCTOB::createOnHeap
static MuonNextBCTOB * createOnHeap(const MuonNextBCTOB &cl)
Definition: MuonNextBCTOB.cxx:33
et
Extra patterns decribing particle interation process.
TCS::MuonNextBCTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: MuonNextBCTOB.h:51
Heap.h
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
TCS::MUONNEXTBC
@ MUONNEXTBC
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:20
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
BaseTOB.h
TCS::MuonNextBCTOB::EtDouble
double EtDouble() const
Definition: MuonNextBCTOB.h:40
TCS::MuonNextBCTOB::nBitsEt
static unsigned int nBitsEt()
Definition: MuonNextBCTOB.h:16
TCS::MuonNextBCTOB::tobType
inputTOBType_t tobType() const
Definition: MuonNextBCTOB.h:54
TCS::MuonNextBCTOB::setIsolation
void setIsolation(unsigned int et)
Definition: MuonNextBCTOB.h:46
TCS::BaseTOB::roiWord
uint32_t roiWord() const
Definition: BaseTOB.h:21
TCS::MuonNextBCTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: MuonNextBCTOB.h:52
TCS::MuonNextBCTOB::Et
unsigned int Et() const
Definition: MuonNextBCTOB.h:35
TCS::MuonNextBCTOB::EtaDouble
double EtaDouble() const
Definition: MuonNextBCTOB.h:41
TCS::Heap< TCS::MuonNextBCTOB >
TCS::MuonNextBCTOB::setEtDouble
void setEtDouble(double et)
Definition: MuonNextBCTOB.h:50
TCS::BaseTOB::sizeCheck
int sizeCheck(int value, unsigned int size) const
Definition: BaseTOB.cxx:32
TCS::MuonNextBCTOB::m_phi
int m_phi
Definition: MuonNextBCTOB.h:72
TCS::MuonNextBCTOB::m_Et
unsigned int m_Et
Definition: MuonNextBCTOB.h:69
TCS::MuonNextBCTOB::MuonNextBCTOB
MuonNextBCTOB(uint32_t roiWord=0, const std::string &tobName="MuonNextBCTOB")
Definition: MuonNextBCTOB.cxx:13
TCS::MuonNextBCTOB::m_isolation
unsigned int m_isolation
Definition: MuonNextBCTOB.h:70
TCS::MuonNextBCTOB::MuonNextBCTOB
MuonNextBCTOB(const MuonNextBCTOB &muonNextBC)
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::MuonNextBCTOB::m_phiDouble
double m_phiDouble
Definition: MuonNextBCTOB.h:76
TCS::MuonNextBCTOB
Definition: MuonNextBCTOB.h:13
TCS::MuonNextBCTOB::m_EtDouble
double m_EtDouble
Definition: MuonNextBCTOB.h:74
TCS::MuonNextBCTOB::nBitsIsolation
static unsigned int nBitsIsolation()
Definition: MuonNextBCTOB.h:17
TCS::MuonNextBCTOB::fg_heap
static thread_local Heap< TCS::MuonNextBCTOB > fg_heap
Definition: MuonNextBCTOB.h:78
TCS::MuonNextBCTOB::m_etaDouble
double m_etaDouble
Definition: MuonNextBCTOB.h:75
TCS::MuonNextBCTOB::clearHeap
static void clearHeap()
Definition: MuonNextBCTOB.cxx:38
TCS::MuonNextBCTOB::PhiDouble
double PhiDouble() const
Definition: MuonNextBCTOB.h:42
TCS::MuonNextBCTOB::setEt
void setEt(unsigned int et)
Definition: MuonNextBCTOB.h:45
TCS::MuonNextBCTOB::heap
static const Heap< TCS::MuonNextBCTOB > & heap()
Definition: MuonNextBCTOB.h:59
TCS::MuonNextBCTOB::phi
int phi() const
Definition: MuonNextBCTOB.h:38
TCS::MuonNextBCTOB::nBitsEta
static unsigned int nBitsEta()
Definition: MuonNextBCTOB.h:18
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::MuonNextBCTOB::g_nBitsPhi
static const unsigned int g_nBitsPhi
Definition: MuonNextBCTOB.h:67
TCS::MuonNextBCTOB::g_nBitsEt
static const unsigned int g_nBitsEt
Definition: MuonNextBCTOB.h:64
TCS::MuonNextBCTOB::setPhi
void setPhi(int phi)
Definition: MuonNextBCTOB.h:48
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::MuonNextBCTOB::isolation
unsigned int isolation() const
Definition: MuonNextBCTOB.h:36
TCS::MuonNextBCTOB::g_nBitsIsolation
static const unsigned int g_nBitsIsolation
Definition: MuonNextBCTOB.h:65
TCS::MuonNextBCTOB::print
virtual void print(std::ostream &o) const
Definition: MuonNextBCTOB.cxx:42
TCS::MuonNextBCTOB::g_nBitsEta
static const unsigned int g_nBitsEta
Definition: MuonNextBCTOB.h:66
TCS::MuonNextBCTOB::eta
int eta() const
Definition: MuonNextBCTOB.h:37
TCS::MuonNextBCTOB::setEta
void setEta(int eta)
Definition: MuonNextBCTOB.h:47
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
TCS::MuonNextBCTOB::~MuonNextBCTOB
virtual ~MuonNextBCTOB()
TCS::MuonNextBCTOB::m_eta
int m_eta
Definition: MuonNextBCTOB.h:71