ATLAS Offline Software
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 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 
12 namespace 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
TCS::BaseTOB::tobName
const std::string & tobName() const
Definition: BaseTOB.h:23
et
Extra patterns decribing particle interation process.
Heap.h
TCS::jTauTOB::m_Et
unsigned int m_Et
Definition: jTauTOB.h:66
TCS::jTauTOB::g_nBitsEta
static const unsigned int g_nBitsEta
Definition: jTauTOB.h:63
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
TCS::jTauTOB::g_nBitsPhi
static const unsigned int g_nBitsPhi
Definition: jTauTOB.h:64
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
BaseTOB.h
TCS::BaseTOB::roiWord
uint32_t roiWord() const
Definition: BaseTOB.h:21
TCS::jTauTOB::m_EtIso
unsigned int m_EtIso
Definition: jTauTOB.h:74
TCS::jTauTOB::EtIso
unsigned int EtIso() const
Definition: jTauTOB.h:40
TCS::jTauTOB::Et
unsigned int Et() const
Definition: jTauTOB.h:32
TCS::jTauTOB::EtDouble
double EtDouble() const
Definition: jTauTOB.h:36
TCS::jTauTOB::m_phi
unsigned m_phi
Definition: jTauTOB.h:68
TCS::Heap< TCS::jTauTOB >
TCS::jTauTOB::m_EtDouble
double m_EtDouble
Definition: jTauTOB.h:70
TCS::jTauTOB::tobType
inputTOBType_t tobType() const
Definition: jTauTOB.h:53
TCS::jTauTOB::m_etaDouble
double m_etaDouble
Definition: jTauTOB.h:71
TCS::jTauTOB::~jTauTOB
virtual ~jTauTOB()
TCS::jTauTOB::eta
int eta() const
Definition: jTauTOB.h:33
TCS::jTauTOB::m_eta
int m_eta
Definition: jTauTOB.h:67
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::jTauTOB::setEtIso
void setEtIso(unsigned int etIso)
Definition: jTauTOB.h:51
TCS::jTauTOB
Definition: jTauTOB.h:16
TCS::jTauTOB::clearHeap
static void clearHeap()
Definition: jTauTOB.cxx:32
TCS::jTauTOB::print
virtual void print(std::ostream &o) const
Definition: jTauTOB.cxx:37
TCS::jTauTOB::phi
unsigned phi() const
Definition: jTauTOB.h:34
TCS::jTauTOB::etaDouble
double etaDouble() const
Definition: jTauTOB.h:37
TCS::jTauTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: jTauTOB.h:49
TCS::jTauTOB::heap
static const Heap< TCS::jTauTOB > & heap()
Definition: jTauTOB.h:58
TCS::jTauTOB::setEta
void setEta(int eta)
Definition: jTauTOB.h:44
TCS::jTauTOB::jTauTOB
jTauTOB(uint32_t roiWord=0, const std::string &tobName="jTauTOB")
Definition: jTauTOB.cxx:9
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::jTauTOB::setEtDouble
void setEtDouble(double et)
Definition: jTauTOB.h:47
TCS::jTauTOB::phiDouble
double phiDouble() const
Definition: jTauTOB.h:38
TCS::jTauTOB::m_phiDouble
double m_phiDouble
Definition: jTauTOB.h:72
TCS::jTauTOB::createOnHeap
static jTauTOB * createOnHeap(const jTauTOB &jtau)
Definition: jTauTOB.cxx:27
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::jTauTOB::jTauTOB
jTauTOB(const jTauTOB &jtau)
TCS::jTauTOB::g_nBitsEt
static const unsigned int g_nBitsEt
Definition: jTauTOB.h:62
TCS::JTAU
@ JTAU
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:13
TCS::jTauTOB::setPhi
void setPhi(int phi)
Definition: jTauTOB.h:45
TCS::jTauTOB::setEt
void setEt(int et)
Definition: jTauTOB.h:43
TCS::jTauTOB::fg_heap
static thread_local Heap< TCS::jTauTOB > fg_heap
Definition: jTauTOB.h:78
TCS::jTauTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: jTauTOB.h:48