ATLAS Offline Software
Loading...
Searching...
No Matches
jTETOB.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_jTETOB
4#define L1TopoEvent_jTETOB
5
6#include <iostream>
7
9#include "L1TopoEvent/Heap.h"
10
11namespace TCS {
12
13 class jTETOB : public BaseTOB {
14 public:
15
16 // default constructor
17 jTETOB();
18
19 // constructor with initial values
20 // input TOB type can be jTE, jTESideA, jTESideC, jTEC, jTEFWD, jTEFWDA, jTEFWDC
21 jTETOB(unsigned int sumEt, inputTOBType_t tobType = NONE);
22
23 // copy constructor
24 jTETOB(const jTETOB & jte);
25
26 // destructor
27 virtual ~jTETOB();
28
29 // accessors
30 unsigned int sumEt() const { return m_sumEt; }
31 unsigned int sumEtSideA() const { return m_sumEtSideA; }
32 unsigned int sumEtSideC() const { return m_sumEtSideC; }
33
34 double sumEtDouble() const { return m_sumEtDouble; }
35 double sumEtDoubleSideA() const { return m_sumEtDoubleSideA; }
36 double sumEtDoubleSideC() const { return m_sumEtDoubleSideC; }
37
38 bool saturationFlag() const { return m_saturationFlag; }
39
40
41
42 // setters
43 void setSumEt(unsigned int sumEt) { m_sumEt = sumEt; }
44 void setSumEtSideA(unsigned int sumEt) { m_sumEtSideA = sumEt; }
45 void setSumEtSideC(unsigned int sumEt) { m_sumEtSideC = sumEt; }
46
50
52
53 // memory management
54 static jTETOB* createOnHeap(const jTETOB& jte);
55 static void clearHeap();
56 static const Heap<TCS::jTETOB>& heap() { return fg_heap; }
57
58 virtual void print(std::ostream &o) const;
59
61
62 inputTOBType_t tobType() const { return m_tobType; }
63
64 private:
65
66 unsigned int m_sumEt {0};
67 unsigned int m_sumEtSideA {0};
68 unsigned int m_sumEtSideC {0};
69
70 double m_sumEtDouble {0};
73
74 bool m_saturationFlag {false};
75
77
78 static thread_local Heap<TCS::jTETOB> fg_heap;
79 };
80}
81
82#endif
BaseTOB(uint32_t roiWord, const std::string &tobType)
Definition BaseTOB.cxx:11
void setSumEtSideC(unsigned int sumEt)
Definition jTETOB.h:45
void setSumEtSideA(unsigned int sumEt)
Definition jTETOB.h:44
double m_sumEtDoubleSideA
Definition jTETOB.h:71
unsigned int sumEt() const
Definition jTETOB.h:30
virtual ~jTETOB()
double sumEtDoubleSideC() const
Definition jTETOB.h:36
bool m_saturationFlag
Definition jTETOB.h:74
static jTETOB * createOnHeap(const jTETOB &jte)
Definition jTETOB.cxx:26
void setSumEtDoubleSideA(double sumEt)
Definition jTETOB.h:48
void setSaturationFlag(bool saturationFlag)
Definition jTETOB.h:51
void setSumEtDoubleSideC(double sumEt)
Definition jTETOB.h:49
double sumEtDouble() const
Definition jTETOB.h:34
inputTOBType_t tobType() const
Definition jTETOB.h:62
unsigned int m_sumEtSideA
Definition jTETOB.h:67
void setSumEt(unsigned int sumEt)
Definition jTETOB.h:43
double m_sumEtDouble
Definition jTETOB.h:70
void setSumEtDouble(double sumEt)
Definition jTETOB.h:47
double m_sumEtDoubleSideC
Definition jTETOB.h:72
jTETOB(const jTETOB &jte)
void setTobType(inputTOBType_t tobType)
Definition jTETOB.h:60
unsigned int m_sumEtSideC
Definition jTETOB.h:68
inputTOBType_t m_tobType
Definition jTETOB.h:76
virtual void print(std::ostream &o) const
Definition jTETOB.cxx:35
static const Heap< TCS::jTETOB > & heap()
Definition jTETOB.h:56
unsigned int sumEtSideC() const
Definition jTETOB.h:32
unsigned int m_sumEt
Definition jTETOB.h:66
bool saturationFlag() const
Definition jTETOB.h:38
unsigned int sumEtSideA() const
Definition jTETOB.h:31
static void clearHeap()
Definition jTETOB.cxx:31
double sumEtDoubleSideA() const
Definition jTETOB.h:35
static thread_local Heap< TCS::jTETOB > fg_heap
Definition jTETOB.h:78