ATLAS Offline Software
Loading...
Searching...
No Matches
TCS::LateMuonTOB Class Reference

#include <LateMuonTOB.h>

Inheritance diagram for TCS::LateMuonTOB:
Collaboration diagram for TCS::LateMuonTOB:

Public Member Functions

 LateMuonTOB (uint32_t roiWord=0, const std::string &tobName="LateMuonTOB")
 LateMuonTOB (unsigned int et, unsigned int isolation, int eta, unsigned int phi, uint32_t roiWord=0, const std::string &tobName="LateMuonTOB")
 LateMuonTOB (const LateMuonTOB &latemuon)
virtual ~LateMuonTOB ()
unsigned int Et () const
unsigned int isolation () const
int eta () const
unsigned int phi () const
int bw2or3 () const
int innerCoin () const
int goodMF () const
int charge () const
int is2cand () const
double EtDouble () const
double EtaDouble () const
double PhiDouble () const
bool isTGC () const
void setEt (unsigned int et)
void setIsolation (unsigned int et)
void setEta (int eta)
void setPhi (unsigned int phi)
void setBW2or3 (int bw2or3)
void setInnerCoin (int innerCoin)
void setGoodMF (int goodMF)
void setCharge (int charge)
void setIs2cand (int is2cand)
void setIsTGC (int isTGC)
void setEtDouble (double et)
void setEtaDouble (double eta)
void setPhiDouble (double phi)
inputTOBType_t tobType () const
virtual void print (std::ostream &o) const
uint32_t roiWord () const
const std::string & tobName () const

Static Public Member Functions

static unsigned int nBitsEt ()
static unsigned int nBitsIsolation ()
static unsigned int nBitsEta ()
static unsigned int nBitsPhi ()
static LateMuonTOBcreateOnHeap (const LateMuonTOB &cl)
static void clearHeap ()
static const Heap< TCS::LateMuonTOB > & heap ()
static size_t instances ()

Protected Member Functions

int sizeCheck (int value, unsigned int size) const
unsigned int sizeCheck (unsigned int value, unsigned int size) const
int sizeCheckM (int value, unsigned int size) const

Private Attributes

unsigned int m_Et {0}
unsigned int m_isolation {0}
int m_eta {0}
unsigned int m_phi {0}
int m_bw2or3 {0}
int m_innerCoin {0}
int m_goodMF {0}
int m_charge {0}
int m_is2cand {0}
int m_isTGC {0}
double m_EtDouble {0}
double m_etaDouble {0}
double m_phiDouble {0}
uint32_t m_roiWord
std::string m_tobName

Static Private Attributes

static const unsigned int g_nBitsEt = 13
static const unsigned int g_nBitsIsolation = 5
static const unsigned int g_nBitsEta = 9
static const unsigned int g_nBitsPhi = 7
static thread_local Heap< TCS::LateMuonTOBfg_heap

Detailed Description

Definition at line 13 of file LateMuonTOB.h.

Constructor & Destructor Documentation

◆ LateMuonTOB() [1/3]

TCS::LateMuonTOB::LateMuonTOB ( uint32_t roiWord = 0,
const std::string & tobName = "LateMuonTOB" )

Definition at line 13 of file LateMuonTOB.cxx.

13 :
15{}
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

◆ LateMuonTOB() [2/3]

TCS::LateMuonTOB::LateMuonTOB ( unsigned int et,
unsigned int isolation,
int eta,
unsigned int phi,
uint32_t roiWord = 0,
const std::string & tobName = "LateMuonTOB" )

Definition at line 18 of file LateMuonTOB.cxx.

18 :
20 , m_Et( sizeCheck(et, nBitsEt()) )
24{}
float et(const xAOD::jFexSRJetRoI *j)
int sizeCheck(int value, unsigned int size) const
Definition BaseTOB.cxx:32
unsigned int phi() const
Definition LateMuonTOB.h:38
unsigned int m_phi
Definition LateMuonTOB.h:87
unsigned int isolation() const
Definition LateMuonTOB.h:36
static unsigned int nBitsEt()
Definition LateMuonTOB.h:16
static unsigned int nBitsEta()
Definition LateMuonTOB.h:18
static unsigned int nBitsIsolation()
Definition LateMuonTOB.h:17
unsigned int m_isolation
Definition LateMuonTOB.h:85
int eta() const
Definition LateMuonTOB.h:37
static unsigned int nBitsPhi()
Definition LateMuonTOB.h:19
unsigned int m_Et
Definition LateMuonTOB.h:84

◆ LateMuonTOB() [3/3]

TCS::LateMuonTOB::LateMuonTOB ( const LateMuonTOB & latemuon)
default

◆ ~LateMuonTOB()

TCS::LateMuonTOB::~LateMuonTOB ( )
virtualdefault

Member Function Documentation

◆ bw2or3()

int TCS::LateMuonTOB::bw2or3 ( ) const
inline

Definition at line 40 of file LateMuonTOB.h.

40{ return m_bw2or3; }

◆ charge()

int TCS::LateMuonTOB::charge ( ) const
inline

Definition at line 43 of file LateMuonTOB.h.

43{ return m_charge; }

◆ clearHeap()

void TCS::LateMuonTOB::clearHeap ( )
static

Definition at line 38 of file LateMuonTOB.cxx.

38 {
39 return fg_heap.clear();
40}
static thread_local Heap< TCS::LateMuonTOB > fg_heap

◆ createOnHeap()

TCS::LateMuonTOB * TCS::LateMuonTOB::createOnHeap ( const LateMuonTOB & cl)
static

Definition at line 32 of file LateMuonTOB.cxx.

33{
34 return fg_heap.create(cl);
35}

◆ Et()

unsigned int TCS::LateMuonTOB::Et ( ) const
inline

Definition at line 35 of file LateMuonTOB.h.

35{ return m_Et; }

◆ eta()

int TCS::LateMuonTOB::eta ( ) const
inline

Definition at line 37 of file LateMuonTOB.h.

37{ return m_eta; }

◆ EtaDouble()

double TCS::LateMuonTOB::EtaDouble ( ) const
inline

Definition at line 47 of file LateMuonTOB.h.

47{ return m_etaDouble; }

◆ EtDouble()

double TCS::LateMuonTOB::EtDouble ( ) const
inline

Definition at line 46 of file LateMuonTOB.h.

46{ return m_EtDouble; }

◆ goodMF()

int TCS::LateMuonTOB::goodMF ( ) const
inline

Definition at line 42 of file LateMuonTOB.h.

42{ return m_goodMF; }

◆ heap()

const Heap< TCS::LateMuonTOB > & TCS::LateMuonTOB::heap ( )
inlinestatic

Definition at line 74 of file LateMuonTOB.h.

74{ return fg_heap; }

◆ innerCoin()

int TCS::LateMuonTOB::innerCoin ( ) const
inline

Definition at line 41 of file LateMuonTOB.h.

41{ return m_innerCoin; }

◆ instances()

size_t TCS::BaseTOB::instances ( )
inlinestaticinherited

Definition at line 25 of file BaseTOB.h.

25{ return 0; }

◆ is2cand()

int TCS::LateMuonTOB::is2cand ( ) const
inline

Definition at line 44 of file LateMuonTOB.h.

44{ return m_is2cand; }

◆ isolation()

unsigned int TCS::LateMuonTOB::isolation ( ) const
inline

Definition at line 36 of file LateMuonTOB.h.

36{ return m_isolation; }

◆ isTGC()

bool TCS::LateMuonTOB::isTGC ( ) const
inline

Definition at line 50 of file LateMuonTOB.h.

50{return m_isTGC;} // Additonal flag that identifies muons from TGC

◆ nBitsEt()

unsigned int TCS::LateMuonTOB::nBitsEt ( )
inlinestatic

Definition at line 16 of file LateMuonTOB.h.

16{ return g_nBitsEt; }
static const unsigned int g_nBitsEt
Definition LateMuonTOB.h:79

◆ nBitsEta()

unsigned int TCS::LateMuonTOB::nBitsEta ( )
inlinestatic

Definition at line 18 of file LateMuonTOB.h.

18{ return g_nBitsEta; }
static const unsigned int g_nBitsEta
Definition LateMuonTOB.h:81

◆ nBitsIsolation()

unsigned int TCS::LateMuonTOB::nBitsIsolation ( )
inlinestatic

Definition at line 17 of file LateMuonTOB.h.

17{ return g_nBitsIsolation; }
static const unsigned int g_nBitsIsolation
Definition LateMuonTOB.h:80

◆ nBitsPhi()

unsigned int TCS::LateMuonTOB::nBitsPhi ( )
inlinestatic

Definition at line 19 of file LateMuonTOB.h.

19{ return g_nBitsPhi; }
static const unsigned int g_nBitsPhi
Definition LateMuonTOB.h:82

◆ phi()

unsigned int TCS::LateMuonTOB::phi ( ) const
inline

Definition at line 38 of file LateMuonTOB.h.

38{ return m_phi; }

◆ PhiDouble()

double TCS::LateMuonTOB::PhiDouble ( ) const
inline

Definition at line 48 of file LateMuonTOB.h.

48{ return m_phiDouble; }

◆ print()

void TCS::LateMuonTOB::print ( std::ostream & o) const
virtual

Implements TCS::BaseTOB.

Definition at line 42 of file LateMuonTOB.cxx.

42 {
43 o << "late muon energy: " << Et() << ", eta: " << eta() << ", phi: " << phi() << ", bw2or3: " << bw2or3() << ", innerCoin: " << innerCoin() << ", goodMF: " << goodMF() << ", charge: " << charge() << ", is2cand: " << is2cand() << ", isTGC: " << isTGC();
44}
int innerCoin() const
Definition LateMuonTOB.h:41
int goodMF() const
Definition LateMuonTOB.h:42
int bw2or3() const
Definition LateMuonTOB.h:40
int is2cand() const
Definition LateMuonTOB.h:44
bool isTGC() const
Definition LateMuonTOB.h:50
unsigned int Et() const
Definition LateMuonTOB.h:35
int charge() const
Definition LateMuonTOB.h:43

◆ roiWord()

uint32_t TCS::BaseTOB::roiWord ( ) const
inlineinherited

Definition at line 21 of file BaseTOB.h.

21{ return m_roiWord; }
uint32_t m_roiWord
Definition BaseTOB.h:36

◆ setBW2or3()

void TCS::LateMuonTOB::setBW2or3 ( int bw2or3)
inline

Definition at line 58 of file LateMuonTOB.h.

58{ m_bw2or3 = bw2or3; }

◆ setCharge()

void TCS::LateMuonTOB::setCharge ( int charge)
inline

Definition at line 61 of file LateMuonTOB.h.

61{ m_charge = charge; }

◆ setEt()

void TCS::LateMuonTOB::setEt ( unsigned int et)
inline

Definition at line 53 of file LateMuonTOB.h.

53{ m_Et = sizeCheck(et, nBitsEt()); }

◆ setEta()

void TCS::LateMuonTOB::setEta ( int eta)
inline

Definition at line 55 of file LateMuonTOB.h.

55{ m_eta = sizeCheck(eta, nBitsEta()); }

◆ setEtaDouble()

void TCS::LateMuonTOB::setEtaDouble ( double eta)
inline

Definition at line 66 of file LateMuonTOB.h.

66{ m_etaDouble = eta; }

◆ setEtDouble()

void TCS::LateMuonTOB::setEtDouble ( double et)
inline

Definition at line 65 of file LateMuonTOB.h.

65{ m_EtDouble = et; }

◆ setGoodMF()

void TCS::LateMuonTOB::setGoodMF ( int goodMF)
inline

Definition at line 60 of file LateMuonTOB.h.

60{ m_goodMF = goodMF; }

◆ setInnerCoin()

void TCS::LateMuonTOB::setInnerCoin ( int innerCoin)
inline

Definition at line 59 of file LateMuonTOB.h.

◆ setIs2cand()

void TCS::LateMuonTOB::setIs2cand ( int is2cand)
inline

Definition at line 62 of file LateMuonTOB.h.

62{ m_is2cand = is2cand; }

◆ setIsolation()

void TCS::LateMuonTOB::setIsolation ( unsigned int et)
inline

Definition at line 54 of file LateMuonTOB.h.

◆ setIsTGC()

void TCS::LateMuonTOB::setIsTGC ( int isTGC)
inline

Definition at line 63 of file LateMuonTOB.h.

63{ m_isTGC = isTGC; }

◆ setPhi()

void TCS::LateMuonTOB::setPhi ( unsigned int phi)
inline

Definition at line 56 of file LateMuonTOB.h.

56{ m_phi = sizeCheck(phi, nBitsPhi()); }

◆ setPhiDouble()

void TCS::LateMuonTOB::setPhiDouble ( double phi)
inline

Definition at line 67 of file LateMuonTOB.h.

67{ m_phiDouble = phi; }

◆ sizeCheck() [1/2]

int TCS::BaseTOB::sizeCheck ( int value,
unsigned int size ) const
protectedinherited

Definition at line 32 of file BaseTOB.cxx.

33{
34 int max(0x1 << (size-1));
35 int min(~max + 1);
36 --max;
37 if(value>max || value<min) {
38 TCS_EXCEPTION("Integer value " << value << " outside firmware specifications. Maximum number of bits is " << size << " -> range ["<<min<<" - "<<max<<"]" << ", for " << m_tobName);
39 }
40 return value;
41}
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41
std::string m_tobName
Definition BaseTOB.h:37

◆ sizeCheck() [2/2]

unsigned int TCS::BaseTOB::sizeCheck ( unsigned int value,
unsigned int size ) const
protectedinherited

Definition at line 44 of file BaseTOB.cxx.

45{
46 unsigned int max( (0x1 << size)-1 );
47 if(value>max) {
48 TCS_EXCEPTION("Unsigned integer value " << value << " outside firmware specifications. Maximum number of bits is " << size << " -> range [0"<<" - "<<max<<"]" << ", for " << m_tobName);
49 }
50 return value;
51}

◆ sizeCheckM()

int TCS::BaseTOB::sizeCheckM ( int value,
unsigned int size ) const
protectedinherited

Definition at line 19 of file BaseTOB.cxx.

20{
21 int max(0x1 << (size-1));
22 int min(~max + 1);
23 --max;
24 if( (-value)>max || (-value)<min) {
25 TCS_EXCEPTION("Integer value " << -value << " outside firmware specifications. Maximum number of bits is " << size << " -> range ["<<min<<" - "<<max<<"]" << ", for " << m_tobName);
26 }
27 return value;
28}

◆ tobName()

const std::string & TCS::BaseTOB::tobName ( ) const
inlineinherited

Definition at line 23 of file BaseTOB.h.

23{ return m_tobName; }

◆ tobType()

inputTOBType_t TCS::LateMuonTOB::tobType ( ) const
inlinevirtual

Implements TCS::BaseTOB.

Definition at line 69 of file LateMuonTOB.h.

Member Data Documentation

◆ fg_heap

thread_local TCS::Heap< TCS::LateMuonTOB > TCS::LateMuonTOB::fg_heap
staticprivate

Definition at line 100 of file LateMuonTOB.h.

◆ g_nBitsEt

const unsigned int TCS::LateMuonTOB::g_nBitsEt = 13
staticprivate

Definition at line 79 of file LateMuonTOB.h.

◆ g_nBitsEta

const unsigned int TCS::LateMuonTOB::g_nBitsEta = 9
staticprivate

Definition at line 81 of file LateMuonTOB.h.

◆ g_nBitsIsolation

const unsigned int TCS::LateMuonTOB::g_nBitsIsolation = 5
staticprivate

Definition at line 80 of file LateMuonTOB.h.

◆ g_nBitsPhi

const unsigned int TCS::LateMuonTOB::g_nBitsPhi = 7
staticprivate

Definition at line 82 of file LateMuonTOB.h.

◆ m_bw2or3

int TCS::LateMuonTOB::m_bw2or3 {0}
private

Definition at line 89 of file LateMuonTOB.h.

89{0};

◆ m_charge

int TCS::LateMuonTOB::m_charge {0}
private

Definition at line 92 of file LateMuonTOB.h.

92{0};

◆ m_Et

unsigned int TCS::LateMuonTOB::m_Et {0}
private

Definition at line 84 of file LateMuonTOB.h.

84{0};

◆ m_eta

int TCS::LateMuonTOB::m_eta {0}
private

Definition at line 86 of file LateMuonTOB.h.

86{0};

◆ m_etaDouble

double TCS::LateMuonTOB::m_etaDouble {0}
private

Definition at line 97 of file LateMuonTOB.h.

97{0};

◆ m_EtDouble

double TCS::LateMuonTOB::m_EtDouble {0}
private

Definition at line 96 of file LateMuonTOB.h.

96{0};

◆ m_goodMF

int TCS::LateMuonTOB::m_goodMF {0}
private

Definition at line 91 of file LateMuonTOB.h.

91{0};

◆ m_innerCoin

int TCS::LateMuonTOB::m_innerCoin {0}
private

Definition at line 90 of file LateMuonTOB.h.

90{0};

◆ m_is2cand

int TCS::LateMuonTOB::m_is2cand {0}
private

Definition at line 93 of file LateMuonTOB.h.

93{0};

◆ m_isolation

unsigned int TCS::LateMuonTOB::m_isolation {0}
private

Definition at line 85 of file LateMuonTOB.h.

85{0};

◆ m_isTGC

int TCS::LateMuonTOB::m_isTGC {0}
private

Definition at line 94 of file LateMuonTOB.h.

94{0};

◆ m_phi

unsigned int TCS::LateMuonTOB::m_phi {0}
private

Definition at line 87 of file LateMuonTOB.h.

87{0};

◆ m_phiDouble

double TCS::LateMuonTOB::m_phiDouble {0}
private

Definition at line 98 of file LateMuonTOB.h.

98{0};

◆ m_roiWord

uint32_t TCS::BaseTOB::m_roiWord
privateinherited

Definition at line 36 of file BaseTOB.h.

◆ m_tobName

std::string TCS::BaseTOB::m_tobName
privateinherited

Definition at line 37 of file BaseTOB.h.


The documentation for this class was generated from the following files: