ATLAS Offline Software
gXETOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef L1TopoEvent_gXETOB
4 #define L1TopoEvent_gXETOB
5 
6 #include <iostream>
7 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 namespace TCS {
12 
13  class gXETOB : public BaseTOB {
14  public:
15 
16  // default constructor
17  gXETOB();
18 
19  // constructor with initial values
20  // input TOB type can be gXEJWOJ, gXENC, gXERHO or gMHT
21  gXETOB(int ex, int ey, unsigned int et, inputTOBType_t tobType = NONE);
22 
23  // copy constructor
24  gXETOB(const gXETOB & gxe);
25 
26  // destructor
27  virtual ~gXETOB();
28 
29  // accessors
30  int Ex() const { return m_Ex; }
31  int Ey() const { return m_Ey; }
32  unsigned int Et() const { return m_Et; }
33  unsigned int Et2() const {return m_Et2; }
34 
35  double ExDouble() const { return m_ExDouble; }
36  double EyDouble() const { return m_EyDouble; }
37  double EtDouble() const { return m_EtDouble; }
38 
39  // setters
40  void setEx(int ex) { m_Ex = ex; }
41  void setEy(int ey) { m_Ey = ey; }
42  void setEt(unsigned int et) { m_Et = et; }
43  void setEt2(unsigned long long et2) { m_Et2 = et2; }
44 
45  void setExDouble(double ex) { m_ExDouble = ex; }
46  void setEyDouble(double ey) { m_EyDouble = ey; }
47  void setEtDouble(double et) { m_EtDouble = et; }
48 
49  // memory management
50  static gXETOB* createOnHeap(const gXETOB& gxe);
51  static void clearHeap();
52  static const Heap<TCS::gXETOB>& heap() { return fg_heap; }
53 
54  virtual void print(std::ostream &o) const;
55 
57 
58  inputTOBType_t tobType() const { return m_tobType; }
59 
60 
61  private:
62 
63  int m_Ex {0};
64  int m_Ey {0};
65  unsigned int m_Et {0};
66  unsigned long long m_Et2 {0};
67 
68  double m_ExDouble {0};
69  double m_EyDouble {0};
70  double m_EtDouble {0};
71 
73 
74  static thread_local Heap<TCS::gXETOB> fg_heap;
75  };
76 }
77 
78 #endif
TCS::gXETOB::m_Ex
int m_Ex
Definition: gXETOB.h:63
TCS::gXETOB::setEx
void setEx(int ex)
Definition: gXETOB.h:40
et
Extra patterns decribing particle interation process.
Heap.h
TCS::gXETOB::m_Et2
unsigned long long m_Et2
Definition: gXETOB.h:66
TCS::gXETOB::EyDouble
double EyDouble() const
Definition: gXETOB.h:36
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
BaseTOB.h
TCS::gXETOB::setEtDouble
void setEtDouble(double et)
Definition: gXETOB.h:47
TCS::gXETOB::setExDouble
void setExDouble(double ex)
Definition: gXETOB.h:45
TCS::gXETOB::Et
unsigned int Et() const
Definition: gXETOB.h:32
TCS::gXETOB::Ex
int Ex() const
Definition: gXETOB.h:30
TCS::gXETOB::fg_heap
static thread_local Heap< TCS::gXETOB > fg_heap
Definition: gXETOB.h:74
TCS::gXETOB::~gXETOB
virtual ~gXETOB()
TCS::Heap< TCS::gXETOB >
TCS::gXETOB::setEt2
void setEt2(unsigned long long et2)
Definition: gXETOB.h:43
TCS::gXETOB::heap
static const Heap< TCS::gXETOB > & heap()
Definition: gXETOB.h:52
TCS::gXETOB::setEy
void setEy(int ey)
Definition: gXETOB.h:41
TCS::gXETOB::m_Et
unsigned int m_Et
Definition: gXETOB.h:65
TCS::gXETOB::EtDouble
double EtDouble() const
Definition: gXETOB.h:37
TCS::gXETOB::Ey
int Ey() const
Definition: gXETOB.h:31
TCS::gXETOB::m_EtDouble
double m_EtDouble
Definition: gXETOB.h:70
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::gXETOB::setEyDouble
void setEyDouble(double ey)
Definition: gXETOB.h:46
TCS::gXETOB::ExDouble
double ExDouble() const
Definition: gXETOB.h:35
TCS::gXETOB::gXETOB
gXETOB()
Definition: gXETOB.cxx:8
TCS::gXETOB::m_tobType
inputTOBType_t m_tobType
Definition: gXETOB.h:72
TCS::gXETOB
Definition: gXETOB.h:13
TCS::gXETOB::m_Ey
int m_Ey
Definition: gXETOB.h:64
TCS::gXETOB::setTobType
void setTobType(inputTOBType_t tobType)
Definition: gXETOB.h:56
TCS::gXETOB::m_EyDouble
double m_EyDouble
Definition: gXETOB.h:69
TCS::gXETOB::print
virtual void print(std::ostream &o) const
Definition: gXETOB.cxx:37
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::gXETOB::gXETOB
gXETOB(const gXETOB &gxe)
TCS::gXETOB::createOnHeap
static gXETOB * createOnHeap(const gXETOB &gxe)
Definition: gXETOB.cxx:28
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::gXETOB::clearHeap
static void clearHeap()
Definition: gXETOB.cxx:33
TCS::NONE
@ NONE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::gXETOB::tobType
inputTOBType_t tobType() const
Definition: gXETOB.h:58
TCS::gXETOB::setEt
void setEt(unsigned int et)
Definition: gXETOB.h:42
TCS::gXETOB::m_ExDouble
double m_ExDouble
Definition: gXETOB.h:68
TCS::gXETOB::Et2
unsigned int Et2() const
Definition: gXETOB.h:33