ATLAS Offline Software
Loading...
Searching...
No Matches
MuonNextBCTOB.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_MuonNextBCTOB
4#define L1TopoEvent_MuonNextBCTOB
5
6#include <iostream>
7
9#include "L1TopoEvent/Heap.h"
10
11namespace TCS {
12
13 class MuonNextBCTOB : 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 MuonNextBCTOB(uint32_t roiWord = 0, const std::string& tobName = "MuonNextBCTOB");
24
25 // constructor with individual values
26 MuonNextBCTOB(unsigned int et, unsigned int isolation, int eta, int phi, uint32_t roiWord = 0, const std::string& tobName = "MuonNextBCTOB");
27
28 // constructor with initial values
29 MuonNextBCTOB(const MuonNextBCTOB & muonNextBC);
30
31 // destructor
32 virtual ~MuonNextBCTOB();
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 int phi() const { return m_phi; }
39
40 double EtDouble() const { return m_EtDouble; }
41 double EtaDouble() const { return m_etaDouble; }
42 double PhiDouble() const { return m_phiDouble; }
43
44 // setters
45 void setEt(unsigned int et) { m_Et = sizeCheck(et, nBitsEt()); }
46 void setIsolation(unsigned int et) { m_isolation = sizeCheck(et, nBitsIsolation()); }
47 void setEta(int eta) { m_eta = sizeCheck(eta, nBitsEta()); }
48 void setPhi(int phi) { m_phi = sizeCheck(phi, nBitsPhi()); }
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 inputTOBType_t tobType() const { return MUONNEXTBC; }
55
56 // memory management
57 static MuonNextBCTOB* createOnHeap(const MuonNextBCTOB& cl);
58 static void clearHeap();
59 static const Heap<TCS::MuonNextBCTOB>& heap() { return fg_heap; }
60
61 virtual void print(std::ostream &o) const;
62
63 private:
64 static const unsigned int g_nBitsEt;
65 static const unsigned int g_nBitsIsolation;
66 static const unsigned int g_nBitsEta;
67 static const unsigned int g_nBitsPhi;
68
69 unsigned int m_Et{0};
70 unsigned int m_isolation{0};
71 int m_eta{0};
72 int m_phi{0};
73
74 double m_EtDouble{0};
75 double m_etaDouble{0};
76 double m_phiDouble{0};
77
78 static thread_local Heap<TCS::MuonNextBCTOB> fg_heap;
79 };
80}
81
82#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
void setEtDouble(double et)
static void clearHeap()
void setEta(int eta)
static unsigned int nBitsPhi()
static unsigned int nBitsIsolation()
static const Heap< TCS::MuonNextBCTOB > & heap()
inputTOBType_t tobType() const
unsigned int m_Et
unsigned int m_isolation
static const unsigned int g_nBitsEt
MuonNextBCTOB(uint32_t roiWord=0, const std::string &tobName="MuonNextBCTOB")
static const unsigned int g_nBitsEta
static unsigned int nBitsEta()
void setPhiDouble(double phi)
void setIsolation(unsigned int et)
void setEt(unsigned int et)
double PhiDouble() const
unsigned int Et() const
void setPhi(int phi)
static thread_local Heap< TCS::MuonNextBCTOB > fg_heap
MuonNextBCTOB(const MuonNextBCTOB &muonNextBC)
virtual ~MuonNextBCTOB()
static unsigned int nBitsEt()
static const unsigned int g_nBitsPhi
void setEtaDouble(double eta)
virtual void print(std::ostream &o) const
static const unsigned int g_nBitsIsolation
double EtDouble() const
unsigned int isolation() const
static MuonNextBCTOB * createOnHeap(const MuonNextBCTOB &cl)
double EtaDouble() const
Extra patterns decribing particle interation process.