ATLAS Offline Software
MetTOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef L1TopoEvent_MetTOB
4 #define L1TopoEvent_MetTOB
5 
6 #include <iostream>
7 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 namespace TCS {
12 
13  class MetTOB : public BaseTOB {
14  public:
15 
16  static unsigned int nBitsEx() { return g_nBitsEx; }
17  static unsigned int nBitsEy() { return g_nBitsEy; }
18  static unsigned int nBitsEt() { return g_nBitsEt; }
19 
20 
21  // default constructor
22  MetTOB();
23 
24  // constructor with individual values
25  MetTOB(int ex, int ey, unsigned int et);
26 
27  // constructor with initial values
28  MetTOB(const MetTOB & met);
29 
30  // destructor
31  virtual ~MetTOB();
32 
33  // accessors
34  int Ex() const { return m_Ex; }
35  int Ey() const { return m_Ey; }
36  unsigned int Et() const { return m_Et; }
37 
38  double ExDouble() const { return m_ExDouble; }
39  double EyDouble() const { return m_EyDouble; }
40  double EtDouble() const { return m_EtDouble; }
41 
42  // setters
43  void setEx(int ex) { m_Ex = sizeCheckM(ex, nBitsEx()); }
44  void setEy(int ey) { m_Ey = sizeCheckM(ey, nBitsEy()); }
45  void setEt(unsigned int et) { m_Et = sizeCheck(et, nBitsEt()); }
46 
47  void setExDouble(double ex) { m_ExDouble = ex; }
48  void setEyDouble(double ey) { m_EyDouble = ey; }
49  void setEtDouble(double et) { m_EtDouble = et; }
50 
51  inputTOBType_t tobType() const { return MET; }
52 
53  // memory management
54  static MetTOB* createOnHeap(const MetTOB& cl);
55  static void clearHeap();
56  static const Heap<TCS::MetTOB>& heap() { return fg_heap; }
57 
58  virtual void print(std::ostream &o) const;
59 
60  private:
61  static const unsigned int g_nBitsEx;
62  static const unsigned int g_nBitsEy;
63  static const unsigned int g_nBitsEt;
64 
65  int m_Ex {0};
66  int m_Ey {0};
67  unsigned int m_Et {0};
68 
69  double m_ExDouble {0};
70  double m_EyDouble {0};
71  double m_EtDouble {0};
72 
73  static thread_local Heap<TCS::MetTOB> fg_heap;
74  };
75 }
76 
77 #endif
TCS::MetTOB::setEx
void setEx(int ex)
Definition: MetTOB.h:43
TCS::MetTOB::setEy
void setEy(int ey)
Definition: MetTOB.h:44
et
Extra patterns decribing particle interation process.
TCS::MetTOB::setEyDouble
void setEyDouble(double ey)
Definition: MetTOB.h:48
Heap.h
TCS::MetTOB::m_Ex
int m_Ex
Definition: MetTOB.h:65
TCS::MetTOB::fg_heap
static thread_local Heap< TCS::MetTOB > fg_heap
Definition: MetTOB.h:73
TCS::MetTOB::setEt
void setEt(unsigned int et)
Definition: MetTOB.h:45
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
TCS::MetTOB
Definition: MetTOB.h:13
BaseTOB.h
TCS::MetTOB::setExDouble
void setExDouble(double ex)
Definition: MetTOB.h:47
TCS::MetTOB::EtDouble
double EtDouble() const
Definition: MetTOB.h:40
TCS::MetTOB::m_EyDouble
double m_EyDouble
Definition: MetTOB.h:70
TCS::MetTOB::Ex
int Ex() const
Definition: MetTOB.h:34
TCS::MetTOB::m_ExDouble
double m_ExDouble
Definition: MetTOB.h:69
TCS::MetTOB::print
virtual void print(std::ostream &o) const
Definition: MetTOB.cxx:42
TCS::MetTOB::heap
static const Heap< TCS::MetTOB > & heap()
Definition: MetTOB.h:56
TCS::Heap< TCS::MetTOB >
TCS::MetTOB::nBitsEy
static unsigned int nBitsEy()
Definition: MetTOB.h:17
TCS::MetTOB::setEtDouble
void setEtDouble(double et)
Definition: MetTOB.h:49
TCS::BaseTOB::sizeCheck
int sizeCheck(int value, unsigned int size) const
Definition: BaseTOB.cxx:32
TCS::MetTOB::EyDouble
double EyDouble() const
Definition: MetTOB.h:39
TCS::MetTOB::~MetTOB
virtual ~MetTOB()
TCS::MetTOB::g_nBitsEy
static const unsigned int g_nBitsEy
Definition: MetTOB.h:62
TCS::MetTOB::m_Ey
int m_Ey
Definition: MetTOB.h:66
TCS::MetTOB::createOnHeap
static MetTOB * createOnHeap(const MetTOB &cl)
Definition: MetTOB.cxx:33
met
Definition: IMETSignificance.h:24
TCS::MetTOB::g_nBitsEx
static const unsigned int g_nBitsEx
Definition: MetTOB.h:61
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::MetTOB::nBitsEt
static unsigned int nBitsEt()
Definition: MetTOB.h:18
TCS::MetTOB::ExDouble
double ExDouble() const
Definition: MetTOB.h:38
TCS::MET
@ MET
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:16
TCS::MetTOB::m_Et
unsigned int m_Et
Definition: MetTOB.h:67
TCS::MetTOB::tobType
inputTOBType_t tobType() const
Definition: MetTOB.h:51
TCS::MetTOB::m_EtDouble
double m_EtDouble
Definition: MetTOB.h:71
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::BaseTOB::sizeCheckM
int sizeCheckM(int value, unsigned int size) const
Definition: BaseTOB.cxx:19
TCS::MetTOB::nBitsEx
static unsigned int nBitsEx()
Definition: MetTOB.h:16
TCS::MetTOB::MetTOB
MetTOB()
Definition: MetTOB.cxx:12
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::MetTOB::clearHeap
static void clearHeap()
Definition: MetTOB.cxx:38
TCS::MetTOB::g_nBitsEt
static const unsigned int g_nBitsEt
Definition: MetTOB.h:63
TCS::MetTOB::Et
unsigned int Et() const
Definition: MetTOB.h:36
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
TCS::MetTOB::Ey
int Ey() const
Definition: MetTOB.h:35