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