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