ATLAS Offline Software
Loading...
Searching...
No Matches
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
9#include "L1TopoEvent/Heap.h"
10
11
12namespace 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
const std::string & tobName() const
Definition BaseTOB.h:23
uint32_t roiWord() const
Definition BaseTOB.h:21
BaseTOB(uint32_t roiWord, const std::string &tobType)
Definition BaseTOB.cxx:11
unsigned int frac1() const
Definition jEmTOB.h:41
void setEtaDouble(double eta)
Definition jEmTOB.h:50
unsigned int m_frac2
Definition jEmTOB.h:78
double m_phiDouble
Definition jEmTOB.h:74
inputTOBType_t tobType() const
Definition jEmTOB.h:64
void setFrac2(unsigned int frac2)
Definition jEmTOB.h:55
double m_etaDouble
Definition jEmTOB.h:73
jEmTOB(uint32_t roiWord=0, const std::string &tobName="jEm")
Definition jEmTOB.cxx:9
static thread_local Heap< TCS::jEmTOB > fg_heap
Definition jEmTOB.h:84
void setFrac1(unsigned int frac1)
Definition jEmTOB.h:54
unsigned int m_isolation
Definition jEmTOB.h:76
static const Heap< TCS::jEmTOB > & heap()
Definition jEmTOB.h:60
unsigned int Et() const
Definition jEmTOB.h:32
unsigned phi() const
Definition jEmTOB.h:34
void setEt(int et)
Definition jEmTOB.h:45
void setEtDouble(double et)
Definition jEmTOB.h:49
unsigned int frac2() const
Definition jEmTOB.h:42
void setTobType(inputTOBType_t tobType)
Definition jEmTOB.h:62
void setPhiDouble(double phi)
Definition jEmTOB.h:51
double etaDouble() const
Definition jEmTOB.h:37
inputTOBType_t m_tobType
Definition jEmTOB.h:82
unsigned m_phi
Definition jEmTOB.h:70
int m_eta
Definition jEmTOB.h:69
int eta() const
Definition jEmTOB.h:33
static jEmTOB * createOnHeap(const jEmTOB &cluster)
Definition jEmTOB.cxx:27
double phiDouble() const
Definition jEmTOB.h:38
static void clearHeap()
Definition jEmTOB.cxx:32
void setIsolation(unsigned int isolation)
Definition jEmTOB.h:53
virtual void print(std::ostream &o) const
Definition jEmTOB.cxx:37
jEmTOB(const jEmTOB &cluster)
virtual ~jEmTOB()
unsigned int isolation() const
Definition jEmTOB.h:40
void setPhi(int phi)
Definition jEmTOB.h:47
unsigned int m_frac1
Definition jEmTOB.h:77
unsigned int m_Et
Definition jEmTOB.h:68
double EtDouble() const
Definition jEmTOB.h:36
double m_EtDouble
Definition jEmTOB.h:72
void setEta(int eta)
Definition jEmTOB.h:46
Extra patterns decribing particle interation process.