ATLAS Offline Software
Loading...
Searching...
No Matches
LateMuonTOB.h
Go to the documentation of this file.
1// Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2
3#ifndef L1TopoEvent__LateMuonTOB
4#define L1TopoEvent__LateMuonTOB
5
6#include <iostream>
7
9#include "L1TopoEvent/Heap.h"
10
11namespace TCS {
12
13 class LateMuonTOB : public BaseTOB {
14 public:
15
16 static unsigned int nBitsEt() { return g_nBitsEt; }
17 static unsigned int nBitsIsolation() { return g_nBitsIsolation; }
18 static unsigned int nBitsEta() { return g_nBitsEta; }
19 static unsigned int nBitsPhi() { return g_nBitsPhi; }
20
21
22 // default constructor
23 LateMuonTOB(uint32_t roiWord = 0, const std::string& tobName = "LateMuonTOB");
24
25 // constructor with individual values
26 LateMuonTOB(unsigned int et, unsigned int isolation, int eta, unsigned int phi, uint32_t roiWord = 0, const std::string& tobName = "LateMuonTOB");
27
28 // constructor with initial values
29 LateMuonTOB(const LateMuonTOB & latemuon);
30
31 // destructor
32 virtual ~LateMuonTOB();
33
34 // accessors
35 unsigned int Et() const { return m_Et; }
36 unsigned int isolation() const { return m_isolation; }
37 int eta() const { return m_eta; }
38 unsigned int phi() const { return m_phi; }
39
40 int bw2or3() const { return m_bw2or3; }
41 int innerCoin() const { return m_innerCoin; }
42 int goodMF() const { return m_goodMF; }
43 int charge() const { return m_charge; }
44 int is2cand() const { return m_is2cand; }
45
46 double EtDouble() const { return m_EtDouble; }
47 double EtaDouble() const { return m_etaDouble; }
48 double PhiDouble() const { return m_phiDouble; }
49
50 inline bool isTGC() const {return m_isTGC;} // Additonal flag that identifies muons from TGC
51
52 // setters
53 void setEt(unsigned int et) { m_Et = sizeCheck(et, nBitsEt()); }
54 void setIsolation(unsigned int et) { m_isolation = sizeCheck(et, nBitsIsolation()); }
55 void setEta(int eta) { m_eta = sizeCheck(eta, nBitsEta()); }
56 void setPhi(unsigned int phi) { m_phi = sizeCheck(phi, nBitsPhi()); }
57
63 void setIsTGC(int isTGC) { m_isTGC = isTGC; }
64
65 void setEtDouble(double et) { m_EtDouble = et; }
66 void setEtaDouble(double eta) { m_etaDouble = eta; }
67 void setPhiDouble(double phi) { m_phiDouble = phi; }
68
69 inputTOBType_t tobType() const { return LATEMUON; }
70
71 // memory management
72 static LateMuonTOB* createOnHeap(const LateMuonTOB& cl);
73 static void clearHeap();
74 static const Heap<TCS::LateMuonTOB>& heap() { return fg_heap; }
75
76 virtual void print(std::ostream &o) const;
77
78 private:
79 static const unsigned int g_nBitsEt;
80 static const unsigned int g_nBitsIsolation;
81 static const unsigned int g_nBitsEta;
82 static const unsigned int g_nBitsPhi;
83
84 unsigned int m_Et {0};
85 unsigned int m_isolation {0};
86 int m_eta {0};
87 unsigned int m_phi {0};
88
89 int m_bw2or3{0};
91 int m_goodMF{0};
92 int m_charge{0};
93 int m_is2cand{0};
94 int m_isTGC{0};
95
96 double m_EtDouble {0};
97 double m_etaDouble {0};
98 double m_phiDouble {0};
99
100 static thread_local Heap<TCS::LateMuonTOB> fg_heap;
101 };
102}
103
104#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
const std::string & tobName() const
Definition BaseTOB.h:23
int sizeCheck(int value, unsigned int size) const
Definition BaseTOB.cxx:32
uint32_t roiWord() const
Definition BaseTOB.h:21
BaseTOB(uint32_t roiWord, const std::string &tobType)
Definition BaseTOB.cxx:11
double EtDouble() const
Definition LateMuonTOB.h:46
int innerCoin() const
Definition LateMuonTOB.h:41
static const unsigned int g_nBitsIsolation
Definition LateMuonTOB.h:80
void setIsolation(unsigned int et)
Definition LateMuonTOB.h:54
LateMuonTOB(uint32_t roiWord=0, const std::string &tobName="LateMuonTOB")
static const unsigned int g_nBitsEt
Definition LateMuonTOB.h:79
virtual ~LateMuonTOB()
static LateMuonTOB * createOnHeap(const LateMuonTOB &cl)
static const unsigned int g_nBitsPhi
Definition LateMuonTOB.h:82
void setEtDouble(double et)
Definition LateMuonTOB.h:65
int goodMF() const
Definition LateMuonTOB.h:42
void setCharge(int charge)
Definition LateMuonTOB.h:61
int bw2or3() const
Definition LateMuonTOB.h:40
void setIs2cand(int is2cand)
Definition LateMuonTOB.h:62
void setInnerCoin(int innerCoin)
Definition LateMuonTOB.h:59
int is2cand() const
Definition LateMuonTOB.h:44
double EtaDouble() const
Definition LateMuonTOB.h:47
virtual void print(std::ostream &o) const
bool isTGC() const
Definition LateMuonTOB.h:50
unsigned int phi() const
Definition LateMuonTOB.h:38
void setEt(unsigned int et)
Definition LateMuonTOB.h:53
inputTOBType_t tobType() const
Definition LateMuonTOB.h:69
unsigned int m_phi
Definition LateMuonTOB.h:87
void setGoodMF(int goodMF)
Definition LateMuonTOB.h:60
void setEta(int eta)
Definition LateMuonTOB.h:55
void setPhiDouble(double phi)
Definition LateMuonTOB.h:67
LateMuonTOB(const LateMuonTOB &latemuon)
static const unsigned int g_nBitsEta
Definition LateMuonTOB.h:81
unsigned int isolation() const
Definition LateMuonTOB.h:36
static thread_local Heap< TCS::LateMuonTOB > fg_heap
unsigned int Et() const
Definition LateMuonTOB.h:35
static unsigned int nBitsEt()
Definition LateMuonTOB.h:16
double PhiDouble() const
Definition LateMuonTOB.h:48
static unsigned int nBitsEta()
Definition LateMuonTOB.h:18
static unsigned int nBitsIsolation()
Definition LateMuonTOB.h:17
void setIsTGC(int isTGC)
Definition LateMuonTOB.h:63
void setBW2or3(int bw2or3)
Definition LateMuonTOB.h:58
int charge() const
Definition LateMuonTOB.h:43
unsigned int m_isolation
Definition LateMuonTOB.h:85
void setPhi(unsigned int phi)
Definition LateMuonTOB.h:56
static const Heap< TCS::LateMuonTOB > & heap()
Definition LateMuonTOB.h:74
static void clearHeap()
void setEtaDouble(double eta)
Definition LateMuonTOB.h:66
int eta() const
Definition LateMuonTOB.h:37
static unsigned int nBitsPhi()
Definition LateMuonTOB.h:19
unsigned int m_Et
Definition LateMuonTOB.h:84
Extra patterns decribing particle interation process.