ATLAS Offline Software
Loading...
Searching...
No Matches
gLJetTOB.h
Go to the documentation of this file.
1// Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
3#ifndef GLJETTOB_H
4#define GLJETTOB_H
5
6#include <iostream>
7
9#include "L1TopoEvent/Heap.h"
10
11
12// TODO implement sizecheck lile in ClusterTOB
13
14namespace TCS {
15
16 class GenericTOB;
17
18 class gLJetTOB : public BaseTOB {
19 public:
20
21 // default constructor
22 gLJetTOB(uint32_t roiWord = 0, const std::string& tobName = "gLJetTOB");
23
24 // copy constructor
26
27 // constructor with initial values
28 gLJetTOB(unsigned int Et, int eta, unsigned phi, uint32_t roiWord = 0, const std::string& tobName = "gLJetTOB" );
29
30 // destructor
31 virtual ~gLJetTOB();
32
33 // accessors
34 unsigned int energy() const { return m_Et; }
35 unsigned int Et() const { return m_Et; }
36
37 // accessors
38 int eta() const { return m_eta; }
39 unsigned phi() const { return m_phi; }
40
41 double EtDouble() const { return m_EtDouble; }
42 double etaDouble() const { return m_etaDouble; }
43 double phiDouble() const { return m_phiDouble; }
44
45 // setters
46 void setEt(int energy) { m_Et = energy; }
47 void setEta(int eta) { m_eta = eta; }
48 void setPhi(int phi) { m_phi = phi; }
49
50 void setEtDouble(double et) { m_EtDouble = et; }
51 void setEtaDouble(double eta) { m_etaDouble = eta; }
52 void setPhiDouble(double phi) { m_phiDouble = phi; }
53
54 inputTOBType_t tobType() const { return JET; }
55
56 static gLJetTOB* createOnHeap(const gLJetTOB& jet);
57 static void clearHeap();
58
59 static const Heap<TCS::gLJetTOB>& heap() { return fg_heap; }
60
61 private:
62
63 static const unsigned int g_nBitsEt;
64 static const unsigned int g_nBitsIsolation;
65 static const unsigned int g_nBitsEta;
66 static const unsigned int g_nBitsPhi;
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 virtual void print(std::ostream &o) const;
77
78 static thread_local Heap<TCS::gLJetTOB> fg_heap;
79 };
80
81}
82
83#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
static thread_local Heap< TCS::gLJetTOB > fg_heap
Definition gLJetTOB.h:78
static const unsigned int g_nBitsEta
Definition gLJetTOB.h:65
double m_EtDouble
Definition gLJetTOB.h:72
unsigned phi() const
Definition gLJetTOB.h:39
unsigned int m_Et
Definition gLJetTOB.h:68
gLJetTOB(const gLJetTOB &jet)
unsigned int Et() const
Definition gLJetTOB.h:35
void setPhiDouble(double phi)
Definition gLJetTOB.h:52
void setPhi(int phi)
Definition gLJetTOB.h:48
virtual ~gLJetTOB()
inputTOBType_t tobType() const
Definition gLJetTOB.h:54
virtual void print(std::ostream &o) const
Definition gLJetTOB.cxx:40
void setEtDouble(double et)
Definition gLJetTOB.h:50
void setEta(int eta)
Definition gLJetTOB.h:47
double phiDouble() const
Definition gLJetTOB.h:43
double etaDouble() const
Definition gLJetTOB.h:42
int eta() const
Definition gLJetTOB.h:38
static const unsigned int g_nBitsPhi
Definition gLJetTOB.h:66
static gLJetTOB * createOnHeap(const gLJetTOB &jet)
Definition gLJetTOB.cxx:30
gLJetTOB(uint32_t roiWord=0, const std::string &tobName="gLJetTOB")
Definition gLJetTOB.cxx:9
double m_phiDouble
Definition gLJetTOB.h:74
static const unsigned int g_nBitsEt
Definition gLJetTOB.h:63
double EtDouble() const
Definition gLJetTOB.h:41
void setEt(int energy)
Definition gLJetTOB.h:46
void setEtaDouble(double eta)
Definition gLJetTOB.h:51
unsigned int energy() const
Definition gLJetTOB.h:34
static const Heap< TCS::gLJetTOB > & heap()
Definition gLJetTOB.h:59
static void clearHeap()
Definition gLJetTOB.cxx:35
unsigned m_phi
Definition gLJetTOB.h:70
static const unsigned int g_nBitsIsolation
Definition gLJetTOB.h:64
double m_etaDouble
Definition gLJetTOB.h:73
Extra patterns decribing particle interation process.