ATLAS Offline Software
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 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 namespace 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};
71  double m_sumEtDoubleSideA {0};
72  double m_sumEtDoubleSideC {0};
73 
74  bool m_saturationFlag {false};
75 
77 
78  static thread_local Heap<TCS::jTETOB> fg_heap;
79  };
80 }
81 
82 #endif
TCS::jTETOB::m_sumEtDouble
double m_sumEtDouble
Definition: jTETOB.h:70
Heap.h
TCS::jTETOB::m_tobType
inputTOBType_t m_tobType
Definition: jTETOB.h:76
TCS::jTETOB::setSumEtDoubleSideC
void setSumEtDoubleSideC(double sumEt)
Definition: jTETOB.h:49
TCS::jTETOB::~jTETOB
virtual ~jTETOB()
BaseTOB.h
TCS::jTETOB::print
virtual void print(std::ostream &o) const
Definition: jTETOB.cxx:35
TCS::jTETOB::tobType
inputTOBType_t tobType() const
Definition: jTETOB.h:62
TCS::jTETOB::createOnHeap
static jTETOB * createOnHeap(const jTETOB &jte)
Definition: jTETOB.cxx:26
TCS::jTETOB::m_sumEtSideC
unsigned int m_sumEtSideC
Definition: jTETOB.h:68
TCS::jTETOB::heap
static const Heap< TCS::jTETOB > & heap()
Definition: jTETOB.h:56
TCS::Heap< TCS::jTETOB >
TCS::jTETOB::jTETOB
jTETOB()
Definition: jTETOB.cxx:8
TCS::jTETOB::setSumEtSideA
void setSumEtSideA(unsigned int sumEt)
Definition: jTETOB.h:44
TCS::jTETOB::sumEt
unsigned int sumEt() const
Definition: jTETOB.h:30
TCS::jTETOB::clearHeap
static void clearHeap()
Definition: jTETOB.cxx:31
TCS::jTETOB::sumEtSideA
unsigned int sumEtSideA() const
Definition: jTETOB.h:31
TCS::jTETOB::setSumEt
void setSumEt(unsigned int sumEt)
Definition: jTETOB.h:43
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::jTETOB::sumEtDoubleSideA
double sumEtDoubleSideA() const
Definition: jTETOB.h:35
TCS::jTETOB::fg_heap
static thread_local Heap< TCS::jTETOB > fg_heap
Definition: jTETOB.h:78
TCS::jTETOB::setSumEtDouble
void setSumEtDouble(double sumEt)
Definition: jTETOB.h:47
TCS::jTETOB::sumEtSideC
unsigned int sumEtSideC() const
Definition: jTETOB.h:32
TCS::jTETOB::sumEtDouble
double sumEtDouble() const
Definition: jTETOB.h:34
TCS::jTETOB
Definition: jTETOB.h:13
TCS::jTETOB::m_sumEtDoubleSideC
double m_sumEtDoubleSideC
Definition: jTETOB.h:72
TCS::jTETOB::sumEtDoubleSideC
double sumEtDoubleSideC() const
Definition: jTETOB.h:36
TCS::jTETOB::m_sumEtSideA
unsigned int m_sumEtSideA
Definition: jTETOB.h:67
TCS::jTETOB::m_sumEt
unsigned int m_sumEt
Definition: jTETOB.h:66
TCS::jTETOB::setSumEtSideC
void setSumEtSideC(unsigned int sumEt)
Definition: jTETOB.h:45
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::jTETOB::m_sumEtDoubleSideA
double m_sumEtDoubleSideA
Definition: jTETOB.h:71
TCS::jTETOB::jTETOB
jTETOB(const jTETOB &jte)
TCS::jTETOB::setSumEtDoubleSideA
void setSumEtDoubleSideA(double sumEt)
Definition: jTETOB.h:48
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::NONE
@ NONE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::jTETOB::saturationFlag
bool saturationFlag() const
Definition: jTETOB.h:38
TCS::jTETOB::setTobType
void setTobType(inputTOBType_t tobType)
Definition: jTETOB.h:60
TCS::jTETOB::m_saturationFlag
bool m_saturationFlag
Definition: jTETOB.h:74
TCS::jTETOB::setSaturationFlag
void setSaturationFlag(bool saturationFlag)
Definition: jTETOB.h:51