ATLAS Offline Software
Loading...
Searching...
No Matches
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
9#include "L1TopoEvent/Heap.h"
10
11namespace 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
BaseTOB(uint32_t roiWord, const std::string &tobType)
Definition BaseTOB.cxx:11
static const Heap< TCS::gXETOB > & heap()
Definition gXETOB.h:52
void setTobType(inputTOBType_t tobType)
Definition gXETOB.h:56
double ExDouble() const
Definition gXETOB.h:35
double m_ExDouble
Definition gXETOB.h:68
virtual void print(std::ostream &o) const
Definition gXETOB.cxx:37
int Ey() const
Definition gXETOB.h:31
inputTOBType_t tobType() const
Definition gXETOB.h:58
double m_EtDouble
Definition gXETOB.h:70
int m_Ex
Definition gXETOB.h:63
unsigned int m_Et
Definition gXETOB.h:65
void setEt2(unsigned long long et2)
Definition gXETOB.h:43
unsigned int Et() const
Definition gXETOB.h:32
double m_EyDouble
Definition gXETOB.h:69
double EyDouble() const
Definition gXETOB.h:36
int m_Ey
Definition gXETOB.h:64
void setEyDouble(double ey)
Definition gXETOB.h:46
void setEy(int ey)
Definition gXETOB.h:41
int Ex() const
Definition gXETOB.h:30
void setEtDouble(double et)
Definition gXETOB.h:47
gXETOB(const gXETOB &gxe)
void setEt(unsigned int et)
Definition gXETOB.h:42
virtual ~gXETOB()
static gXETOB * createOnHeap(const gXETOB &gxe)
Definition gXETOB.cxx:28
static thread_local Heap< TCS::gXETOB > fg_heap
Definition gXETOB.h:74
unsigned int Et2() const
Definition gXETOB.h:33
void setEx(int ex)
Definition gXETOB.h:40
void setExDouble(double ex)
Definition gXETOB.h:45
static void clearHeap()
Definition gXETOB.cxx:33
double EtDouble() const
Definition gXETOB.h:37
unsigned long long m_Et2
Definition gXETOB.h:66
inputTOBType_t m_tobType
Definition gXETOB.h:72
Extra patterns decribing particle interation process.