ATLAS Offline Software
jXETOB.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_jXETOB
4 #define L1TopoEvent_jXETOB
5 
6 #include <iostream>
7 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 namespace TCS {
12 
13  class jXETOB : public BaseTOB {
14  public:
15 
16  // default constructor
17  jXETOB();
18 
19  // constructor with initial values
20  // input TOB type can be jXE, jXEC, jXEPERF
21  jXETOB(int ex, int ey, unsigned int et, inputTOBType_t tobType = NONE);
22 
23  // copy constructor
24  jXETOB(const jXETOB & jxe);
25 
26  // destructor
27  virtual ~jXETOB();
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 jXETOB* createOnHeap(const jXETOB& jxe);
51  static void clearHeap();
52  static const Heap<TCS::jXETOB>& 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::jXETOB> fg_heap;
75  };
76 }
77 
78 #endif
TCS::jXETOB::Et2
unsigned int Et2() const
Definition: jXETOB.h:33
et
Extra patterns decribing particle interation process.
Heap.h
TCS::jXETOB::m_ExDouble
double m_ExDouble
Definition: jXETOB.h:68
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
TCS::jXETOB::Ex
int Ex() const
Definition: jXETOB.h:30
TCS::jXETOB::setEtDouble
void setEtDouble(double et)
Definition: jXETOB.h:47
BaseTOB.h
TCS::jXETOB::setEt2
void setEt2(unsigned long long et2)
Definition: jXETOB.h:43
TCS::jXETOB::m_Et2
unsigned long long m_Et2
Definition: jXETOB.h:66
TCS::jXETOB::m_EtDouble
double m_EtDouble
Definition: jXETOB.h:70
TCS::Heap< TCS::jXETOB >
TCS::jXETOB::clearHeap
static void clearHeap()
Definition: jXETOB.cxx:33
TCS::jXETOB::setTobType
void setTobType(inputTOBType_t tobType)
Definition: jXETOB.h:56
TCS::jXETOB::m_Ex
int m_Ex
Definition: jXETOB.h:63
TCS::jXETOB::ExDouble
double ExDouble() const
Definition: jXETOB.h:35
TCS::jXETOB::setEx
void setEx(int ex)
Definition: jXETOB.h:40
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::jXETOB::createOnHeap
static jXETOB * createOnHeap(const jXETOB &jxe)
Definition: jXETOB.cxx:28
TCS::jXETOB::~jXETOB
virtual ~jXETOB()
TCS::jXETOB::jXETOB
jXETOB()
Definition: jXETOB.cxx:8
TCS::jXETOB::m_Ey
int m_Ey
Definition: jXETOB.h:64
TCS::jXETOB::heap
static const Heap< TCS::jXETOB > & heap()
Definition: jXETOB.h:52
TCS::jXETOB::Ey
int Ey() const
Definition: jXETOB.h:31
TCS::jXETOB::jXETOB
jXETOB(const jXETOB &jxe)
TCS::jXETOB::EtDouble
double EtDouble() const
Definition: jXETOB.h:37
TCS::jXETOB::EyDouble
double EyDouble() const
Definition: jXETOB.h:36
TCS::jXETOB::m_tobType
inputTOBType_t m_tobType
Definition: jXETOB.h:72
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::jXETOB::tobType
inputTOBType_t tobType() const
Definition: jXETOB.h:58
TCS::jXETOB::fg_heap
static thread_local Heap< TCS::jXETOB > fg_heap
Definition: jXETOB.h:74
TCS::jXETOB::Et
unsigned int Et() const
Definition: jXETOB.h:32
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::jXETOB::m_Et
unsigned int m_Et
Definition: jXETOB.h:65
TCS::jXETOB::print
virtual void print(std::ostream &o) const
Definition: jXETOB.cxx:37
TCS::NONE
@ NONE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::jXETOB::setEy
void setEy(int ey)
Definition: jXETOB.h:41
TCS::jXETOB::setEyDouble
void setEyDouble(double ey)
Definition: jXETOB.h:46
TCS::jXETOB::setExDouble
void setExDouble(double ex)
Definition: jXETOB.h:45
TCS::jXETOB::setEt
void setEt(unsigned int et)
Definition: jXETOB.h:42
TCS::jXETOB
Definition: jXETOB.h:13
TCS::jXETOB::m_EyDouble
double m_EyDouble
Definition: jXETOB.h:69