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