ATLAS Offline Software
jEmTOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef JEMTOB_H
4 #define JEMTOB_H
5 
6 #include <iostream>
7 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 
12 namespace TCS {
13 
14  class GenericTOB;
15 
16  class jEmTOB : public BaseTOB {
17  public:
18 
19  // default constructor
20  jEmTOB(uint32_t roiWord = 0, const std::string& tobName = "jEm");
21 
22  // copy constructor
23  jEmTOB(const jEmTOB & cluster);
24 
25  // constructor with initial values
26  jEmTOB(unsigned int Et, int eta, unsigned phi, uint32_t roiWord = 0, const std::string& tobName = "jEmTOB" );
27 
28  // destructor
29  virtual ~jEmTOB();
30 
31  // accessors
32  unsigned int Et() const { return m_Et; }
33  int eta() const { return m_eta; }
34  unsigned phi() const { return m_phi; }
35 
36  double EtDouble() const { return m_EtDouble; }
37  double etaDouble() const { return m_etaDouble; }
38  double phiDouble() const { return m_phiDouble; }
39 
40  unsigned int isolation() const { return m_isolation; }
41  unsigned int frac1() const { return m_frac1; }
42  unsigned int frac2() const { return m_frac2; }
43 
44  // setters
45  void setEt(int et) { m_Et = et; }
46  void setEta(int eta) { m_eta = eta; }
47  void setPhi(int phi) { m_phi = phi; }
48 
49  void setEtDouble(double et) { m_EtDouble = et; }
50  void setEtaDouble(double eta) { m_etaDouble = eta; }
51  void setPhiDouble(double phi) { m_phiDouble = phi; }
52 
53  void setIsolation(unsigned int isolation) { m_isolation = isolation; }
54  void setFrac1(unsigned int frac1) { m_frac1 = frac1; }
55  void setFrac2(unsigned int frac2) { m_frac2 = frac2; }
56 
57  static jEmTOB* createOnHeap(const jEmTOB& cluster);
58  static void clearHeap();
59 
60  static const Heap<TCS::jEmTOB>& heap() { return fg_heap; }
61 
63 
64  inputTOBType_t tobType() const { return m_tobType; }
65 
66  private:
67 
68  unsigned int m_Et { 0 };
69  int m_eta { 0 };
70  unsigned m_phi { 0 };
71 
72  double m_EtDouble { 0 };
73  double m_etaDouble { 0 };
74  double m_phiDouble { 0 };
75 
76  unsigned int m_isolation{ 0 };
77  unsigned int m_frac1{ 0 };
78  unsigned int m_frac2{ 0 };
79 
80  virtual void print(std::ostream &o) const;
81 
83 
84  static thread_local Heap<TCS::jEmTOB> fg_heap;
85  };
86 
87 }
88 
89 #endif
TCS::BaseTOB::tobName
const std::string & tobName() const
Definition: BaseTOB.h:23
et
Extra patterns decribing particle interation process.
TCS::jEmTOB::etaDouble
double etaDouble() const
Definition: jEmTOB.h:37
Heap.h
TCS::jEmTOB::m_phi
unsigned m_phi
Definition: jEmTOB.h:70
TCS::jEmTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: jEmTOB.h:50
TCS::jEmTOB::tobType
inputTOBType_t tobType() const
Definition: jEmTOB.h:64
TCS::jEmTOB::setEta
void setEta(int eta)
Definition: jEmTOB.h:46
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TCS::jEmTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: jEmTOB.h:51
BaseTOB.h
TCS::jEmTOB::m_tobType
inputTOBType_t m_tobType
Definition: jEmTOB.h:82
TCS::jEmTOB::setFrac2
void setFrac2(unsigned int frac2)
Definition: jEmTOB.h:55
TCS::jEmTOB::isolation
unsigned int isolation() const
Definition: jEmTOB.h:40
TCS::jEmTOB::frac2
unsigned int frac2() const
Definition: jEmTOB.h:42
TCS::jEmTOB::heap
static const Heap< TCS::jEmTOB > & heap()
Definition: jEmTOB.h:60
TCS::BaseTOB::roiWord
uint32_t roiWord() const
Definition: BaseTOB.h:21
TCS::jEmTOB::Et
unsigned int Et() const
Definition: jEmTOB.h:32
TCS::jEmTOB::createOnHeap
static jEmTOB * createOnHeap(const jEmTOB &cluster)
Definition: jEmTOB.cxx:27
TCS::jEmTOB::phi
unsigned phi() const
Definition: jEmTOB.h:34
TCS::jEmTOB::print
virtual void print(std::ostream &o) const
Definition: jEmTOB.cxx:37
TCS::Heap< TCS::jEmTOB >
TCS::jEmTOB::setPhi
void setPhi(int phi)
Definition: jEmTOB.h:47
TCS::jEmTOB::phiDouble
double phiDouble() const
Definition: jEmTOB.h:38
TCS::jEmTOB::eta
int eta() const
Definition: jEmTOB.h:33
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::jEmTOB::setIsolation
void setIsolation(unsigned int isolation)
Definition: jEmTOB.h:53
TCS::jEmTOB::~jEmTOB
virtual ~jEmTOB()
TCS::jEmTOB::m_eta
int m_eta
Definition: jEmTOB.h:69
TCS::jEmTOB::setEt
void setEt(int et)
Definition: jEmTOB.h:45
TCS::jEmTOB::m_isolation
unsigned int m_isolation
Definition: jEmTOB.h:76
TCS::jEmTOB::m_phiDouble
double m_phiDouble
Definition: jEmTOB.h:74
TCS::jEmTOB::frac1
unsigned int frac1() const
Definition: jEmTOB.h:41
TCS::jEmTOB::m_Et
unsigned int m_Et
Definition: jEmTOB.h:68
TCS::jEmTOB::setEtDouble
void setEtDouble(double et)
Definition: jEmTOB.h:49
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::jEmTOB::jEmTOB
jEmTOB(const jEmTOB &cluster)
TCS::jEmTOB
Definition: jEmTOB.h:16
TCS::jEmTOB::jEmTOB
jEmTOB(uint32_t roiWord=0, const std::string &tobName="jEm")
Definition: jEmTOB.cxx:9
TCS::jEmTOB::fg_heap
static thread_local Heap< TCS::jEmTOB > fg_heap
Definition: jEmTOB.h:84
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::jEmTOB::clearHeap
static void clearHeap()
Definition: jEmTOB.cxx:32
TCS::jEmTOB::m_EtDouble
double m_EtDouble
Definition: jEmTOB.h:72
TCS::NONE
@ NONE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::jEmTOB::m_frac2
unsigned int m_frac2
Definition: jEmTOB.h:78
TCS::jEmTOB::m_frac1
unsigned int m_frac1
Definition: jEmTOB.h:77
TCS::jEmTOB::EtDouble
double EtDouble() const
Definition: jEmTOB.h:36
TCS::jEmTOB::setFrac1
void setFrac1(unsigned int frac1)
Definition: jEmTOB.h:54
TCS::jEmTOB::setTobType
void setTobType(inputTOBType_t tobType)
Definition: jEmTOB.h:62
TCS::jEmTOB::m_etaDouble
double m_etaDouble
Definition: jEmTOB.h:73