ATLAS Offline Software
L1CaloRdoEfexTower.cxx
Go to the documentation of this file.
1 
3 
4 
6  int layer, const L1CaloDetectorRegion& region )
7 : L1CaloRdo( crate, module, eta, phi, layer, 1 )
8 , m_fpgaNumber( 0 )
9 , m_mgtNumber( 0 )
10 , m_wordNumber( 0 )
11 , m_mpodNumber( 0 )
12 , m_fibreNumber( 0 )
13 , m_copyExists( false )
14 , m_overlap( 0 )
15 {
16  // At the moment the decoding needs to use the EfexCellMapping class
17  // so we already have a detector region (as well as local eta & phi)
18  // and can just store it.
19  setRegion( region );
20 }
21 
22 std::string
24 {
25  return std::string( "EfexTower" );
26 }
27 
28 bool
30 {
31  // **FIXME** Implement (if appropriate). And/or other error flags.
32  return false;
33 }
34 
35 const std::vector<uint32_t>&
37 {
38  return m_supercells;
39 }
40 
41 // For the benefit of the mapping tool,
42 // save and return some hardware info.
45 {
46  return m_fpgaNumber;
47 }
48 
51 {
52  return m_mgtNumber;
53 }
54 
57 {
58  return m_wordNumber;
59 }
60 
63 {
64  return m_mpodNumber;
65 }
66 
69 {
70  return m_fibreNumber;
71 }
72 
73 bool
75 {
76  // We can have overlaps between FPGAs in the same module.
77  if ( m_fpgaNumber != rhs.m_fpgaNumber )
78  return false;
79  return L1CaloRdo::sameDatum( rhs );
80 }
81 
82 void
83 L1CaloRdoEfexTower::setSupercells( std::vector<uint32_t>& supercells )
84 {
85  m_supercells = supercells;
86 }
87 
88 void
90  uint32_t mpod, uint32_t fibre, uint32_t overlap )
91 {
92  m_fpgaNumber = fpga;
93  m_mgtNumber = mgt;
94  m_wordNumber = word;
95  m_mpodNumber = mpod;
96  m_fibreNumber = fibre;
97  m_overlap = overlap;
98 }
99 
100 bool
102 {
103  return (m_overlap == 0);
104 }
105 
106 void
107 L1CaloRdoEfexTower::setCopy( std::list<L1CaloRdoEfexTower>::const_iterator& copy, bool exists )
108 {
109  m_copy = copy;
111 }
112 
113 const std::list<L1CaloRdoEfexTower>::const_iterator&
115 {
116  return m_copy;
117 }
118 
119 bool
121 {
122  return m_copyExists;
123 }
L1CaloRdoEfexTower
Definition: L1CaloRdoEfexTower.h:10
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
L1CaloRdoEfexTower::m_overlap
bool m_overlap
Definition: L1CaloRdoEfexTower.h:45
L1CaloRdoEfexTower::getWordNumber
uint32_t getWordNumber() const
Definition: L1CaloRdoEfexTower.cxx:56
L1CaloRdoEfexTower::setSupercells
void setSupercells(std::vector< uint32_t > &supercells)
Definition: L1CaloRdoEfexTower.cxx:83
L1CaloRdoEfexTower::m_wordNumber
uint32_t m_wordNumber
Definition: L1CaloRdoEfexTower.h:40
L1CaloRdoEfexTower::getFpgaNumber
uint32_t getFpgaNumber() const
Definition: L1CaloRdoEfexTower.cxx:44
L1CaloRdoEfexTower::m_copy
std::list< L1CaloRdoEfexTower >::const_iterator m_copy
Definition: L1CaloRdoEfexTower.h:43
L1CaloRdoEfexTower::m_fibreNumber
uint32_t m_fibreNumber
Definition: L1CaloRdoEfexTower.h:42
L1CaloRdoEfexTower::m_copyExists
bool m_copyExists
Definition: L1CaloRdoEfexTower.h:44
python.PyAthena.module
module
Definition: PyAthena.py:134
L1CaloRdoEfexTower::getCrcError
bool getCrcError() const
Definition: L1CaloRdoEfexTower.cxx:29
L1CaloRdoEfexTower::getCopy
const std::list< L1CaloRdoEfexTower >::const_iterator & getCopy() const
Definition: L1CaloRdoEfexTower.cxx:114
L1CaloRdoEfexTower::setHardwareInfo
void setHardwareInfo(uint32_t fpga, uint32_t mgt, uint32_t word, uint32_t mpod, uint32_t fibre, uint32_t overlap)
Definition: L1CaloRdoEfexTower.cxx:89
L1CaloRdoEfexTower::m_mgtNumber
uint32_t m_mgtNumber
Definition: L1CaloRdoEfexTower.h:39
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
L1CaloRdoEfexTower.h
L1CaloRdoEfexTower::getFibreNumber
uint32_t getFibreNumber() const
Definition: L1CaloRdoEfexTower.cxx:68
L1CaloRdoEfexTower::setCopy
void setCopy(std::list< L1CaloRdoEfexTower >::const_iterator &copy, bool exists)
Definition: L1CaloRdoEfexTower.cxx:107
L1CaloRdoEfexTower::isCoreTower
bool isCoreTower() const
Definition: L1CaloRdoEfexTower.cxx:101
L1CaloRdoEfexTower::m_supercells
std::vector< uint32_t > m_supercells
Definition: L1CaloRdoEfexTower.h:37
L1CaloRdoEfexTower::getMinipodNumber
uint32_t getMinipodNumber() const
Definition: L1CaloRdoEfexTower.cxx:62
L1CaloRdoEfexTower::getMgtNumber
uint32_t getMgtNumber() const
Definition: L1CaloRdoEfexTower.cxx:50
L1CaloDetectorRegion
Definition: L1CaloDetectorRegion.h:8
L1CaloRdoEfexTower::hasCopy
bool hasCopy() const
Definition: L1CaloRdoEfexTower.cxx:120
L1CaloRdoEfexTower::getType
virtual std::string getType() const
Definition: L1CaloRdoEfexTower.cxx:23
L1CaloRdoEfexTower::getSupercells
const std::vector< uint32_t > & getSupercells() const
Definition: L1CaloRdoEfexTower.cxx:36
L1CaloRdoEfexTower::m_fpgaNumber
uint32_t m_fpgaNumber
Definition: L1CaloRdoEfexTower.h:38
L1CaloRdoEfexTower::L1CaloRdoEfexTower
L1CaloRdoEfexTower(int crate, int module, int eta, int phi, int layer, const L1CaloDetectorRegion &region)
Definition: L1CaloRdoEfexTower.cxx:5
L1CaloRdo::setRegion
void setRegion(const L1CaloDetectorRegion &region)
Definition: L1CaloRdo.cxx:283
calibdata.copy
bool copy
Definition: calibdata.py:27
python.dummyaccess.exists
def exists(filename)
Definition: dummyaccess.py:9
L1CaloRdo::sameDatum
bool sameDatum(const L1CaloRdo &rhs) const
Definition: L1CaloRdo.cxx:210
L1CaloRdoEfexTower::m_mpodNumber
uint32_t m_mpodNumber
Definition: L1CaloRdoEfexTower.h:41
L1CaloRdo
Definition: L1CaloRdo.h:17
L1CaloRdoEfexTower::sameDatum
bool sameDatum(const L1CaloRdoEfexTower &rhs) const
Definition: L1CaloRdoEfexTower.cxx:74