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