ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
L1CaloRdo Class Referenceabstract

#include <L1CaloRdo.h>

Inheritance diagram for L1CaloRdo:
Collaboration diagram for L1CaloRdo:

Public Member Functions

virtual ~L1CaloRdo ()
 
int getCrate () const
 
int getModule () const
 
int getEta () const
 
int getPhi () const
 
int getLayer () const
 
int getValue (size_t slice) const
 
int getValue () const
 
int getFlag (size_t slice) const
 
int getFlag () const
 
int getL1aPos () const
 
L1CaloDetectorRegion getRegion () const
 
const std::list< L1CaloRdoRodInfo >::const_iterator & getRodInfo () const
 
int getModuleStatus () const
 
bool getModuleErrorGlinkParity () const
 
bool getModuleErrorGlinkProtocol () const
 
bool getModuleErrorBcnMismatch () const
 
bool getModuleErrorFifoOverflow () const
 
bool getModuleErrorSpecific () const
 
bool getModuleErrorUnused () const
 
bool getModuleErrorGlinkTimeout () const
 
bool getModuleErrorGlinkDown () const
 
size_t numSlices () const
 
bool sameDatum (const L1CaloRdo &rhs) const
 
void setValue (int val, size_t slice)
 
void setValue (int val)
 
void setFlag (int flag, size_t slice)
 
void setFlag (int flag)
 
void setRodInfo (std::list< L1CaloRdoRodInfo >::const_iterator &rodInfo)
 
void info () const
 
virtual void infoSpecific () const
 
virtual std::string getType () const =0
 

Protected Member Functions

 L1CaloRdo (int crate, int module, int eta, int phi, int layer, int numSlices)
 
void setRegion (const L1CaloDetectorRegion &region)
 

Private Member Functions

 L1CaloRdo ()
 

Private Attributes

int m_crate
 
int m_module
 
int m_eta
 
int m_phi
 
int m_layer
 
std::vector< int > m_vals
 
std::vector< int > m_flags
 
int m_l1aPos
 
L1CaloDetectorRegion m_region
 
std::list< L1CaloRdoRodInfo >::const_iterator m_rodInfo
 

Detailed Description

Abstract base class for L1Calo "Raw Data Objects" (RDOs). Each RDO represents some information associated with an eta,phi,layer for the complete set of readout time slices (bunch crossings). Different coordinates imply different RDOs, but all timeslices for the same coordinate are always kept in the same RDO. For each RDO there is an integer value and flag per timeslice. What this means is up to the subclasses. The value may be an Et of towers or jet elements, threshold multiplicities or hit bits indicating which thresholds were passed. Sometimes the value is bit coded to pack two values into one word. The flags are generally error bits, but in some cases other values are bit packed into the flags. Where either field is bit packed the subclass should have specific methods to decode them.

Definition at line 16 of file L1CaloRdo.h.

Constructor & Destructor Documentation

◆ ~L1CaloRdo()

L1CaloRdo::~L1CaloRdo ( )
virtual

Definition at line 43 of file L1CaloRdo.cxx.

44 {
45  // std::cout << "Object Deleted" << std::endl;
46 }

◆ L1CaloRdo() [1/2]

L1CaloRdo::L1CaloRdo ( int  crate,
int  module,
int  eta,
int  phi,
int  layer,
int  numSlices 
)
protected

Definition at line 26 of file L1CaloRdo.cxx.

28 : m_crate( crate )
29 , m_module( module )
30 , m_eta( eta )
31 , m_phi( phi )
32 , m_layer( layer )
33 , m_vals( numSlices, 0 )
34 , m_flags( numSlices, 0 )
35 , m_l1aPos( numSlices/2 )
36 #ifdef OFFLINE_DECODER
37 , m_word0s(numSlices,0),m_word1s(numSlices,0)
38 #endif
39 {
40  // std::cout << "Object Created" << std::endl;
41 }

◆ L1CaloRdo() [2/2]

L1CaloRdo::L1CaloRdo ( )
private

Member Function Documentation

◆ getCrate()

int L1CaloRdo::getCrate ( ) const

Definition at line 73 of file L1CaloRdo.cxx.

74 {
75  return m_crate;
76 }

◆ getEta()

int L1CaloRdo::getEta ( ) const

Definition at line 85 of file L1CaloRdo.cxx.

86 {
87  return m_eta;
88 }

◆ getFlag() [1/2]

int L1CaloRdo::getFlag ( ) const

Definition at line 125 of file L1CaloRdo.cxx.

126 {
127  return getFlag( getL1aPos() );
128 }

◆ getFlag() [2/2]

int L1CaloRdo::getFlag ( size_t  slice) const

Definition at line 117 of file L1CaloRdo.cxx.

118 {
119  if ( slice < m_flags.size() )
120  return m_flags[slice];
121  return 0;
122 }

◆ getL1aPos()

int L1CaloRdo::getL1aPos ( ) const

Definition at line 131 of file L1CaloRdo.cxx.

132 {
133  return m_l1aPos;
134 }

◆ getLayer()

int L1CaloRdo::getLayer ( ) const

Definition at line 97 of file L1CaloRdo.cxx.

98 {
99  return m_layer;
100 }

◆ getModule()

int L1CaloRdo::getModule ( ) const

Definition at line 79 of file L1CaloRdo.cxx.

80 {
81  return m_module;
82 }

◆ getModuleErrorBcnMismatch()

bool L1CaloRdo::getModuleErrorBcnMismatch ( ) const

Definition at line 168 of file L1CaloRdo.cxx.

169 {
170  return getModuleStatus( ) & 0x04 ;
171 }

◆ getModuleErrorFifoOverflow()

bool L1CaloRdo::getModuleErrorFifoOverflow ( ) const

Definition at line 174 of file L1CaloRdo.cxx.

175 {
176  return getModuleStatus( ) & 0x08 ;
177 }

◆ getModuleErrorGlinkDown()

bool L1CaloRdo::getModuleErrorGlinkDown ( ) const

Definition at line 198 of file L1CaloRdo.cxx.

199 {
200  return getModuleStatus( ) & 0x80 ;
201 }

◆ getModuleErrorGlinkParity()

bool L1CaloRdo::getModuleErrorGlinkParity ( ) const

Definition at line 156 of file L1CaloRdo.cxx.

157 {
158  return getModuleStatus( ) & 0x01 ;
159 }

◆ getModuleErrorGlinkProtocol()

bool L1CaloRdo::getModuleErrorGlinkProtocol ( ) const

Definition at line 162 of file L1CaloRdo.cxx.

163 {
164  return getModuleStatus( ) & 0x02 ;
165 }

◆ getModuleErrorGlinkTimeout()

bool L1CaloRdo::getModuleErrorGlinkTimeout ( ) const

Definition at line 192 of file L1CaloRdo.cxx.

193 {
194  return getModuleStatus( ) & 0x40 ;
195 }

◆ getModuleErrorSpecific()

bool L1CaloRdo::getModuleErrorSpecific ( ) const

Definition at line 180 of file L1CaloRdo.cxx.

181 {
182  return getModuleStatus( ) & 0x10 ;
183 }

◆ getModuleErrorUnused()

bool L1CaloRdo::getModuleErrorUnused ( ) const

Definition at line 186 of file L1CaloRdo.cxx.

187 {
188  return getModuleStatus( ) & 0x20 ;
189 }

◆ getModuleStatus()

int L1CaloRdo::getModuleStatus ( ) const

Definition at line 150 of file L1CaloRdo.cxx.

151 {
152  return m_rodInfo->getModuleStatus( getModule() );
153 }

◆ getPhi()

int L1CaloRdo::getPhi ( ) const

Definition at line 91 of file L1CaloRdo.cxx.

92 {
93  return m_phi;
94 }

◆ getRegion()

L1CaloDetectorRegion L1CaloRdo::getRegion ( ) const

Definition at line 137 of file L1CaloRdo.cxx.

138 {
139  return m_region;
140 }

◆ getRodInfo()

const std::list< L1CaloRdoRodInfo >::const_iterator & L1CaloRdo::getRodInfo ( ) const

Definition at line 144 of file L1CaloRdo.cxx.

145 {
146  return m_rodInfo;
147 }

◆ getType()

virtual std::string L1CaloRdo::getType ( ) const
pure virtual

Implemented in L1CaloRdoFexTob, and L1CaloRdoEfexTower.

◆ getValue() [1/2]

int L1CaloRdo::getValue ( ) const

Definition at line 111 of file L1CaloRdo.cxx.

112 {
113  return getValue( getL1aPos() );
114 }

◆ getValue() [2/2]

int L1CaloRdo::getValue ( size_t  slice) const

Definition at line 103 of file L1CaloRdo.cxx.

104 {
105  if ( slice < m_vals.size() )
106  return m_vals[slice];
107  return 0;
108 }

◆ info()

void L1CaloRdo::info ( ) const

Definition at line 258 of file L1CaloRdo.cxx.

259 {
260  std::cout << "RDO Object Type: " << getType()
261  << " Crate: " << getCrate()
262  << " Module: " << getModule()
263  << " Eta: " << getEta()
264  << " Phi: " << getPhi()
265  << " Layer: " << getLayer() << std::endl;
266  std::cout << " Values: " << std::hex;
267  for ( size_t i = 0 ; i < m_vals.size() ; ++i )
268  std::cout << getValue(i) << " ";
269  std::cout << " Flags: ";
270  for ( size_t i = 0 ; i < m_flags.size() ; ++i )
271  std::cout << getFlag(i) << " ";
272  std::cout << std::endl << std::dec;
273  infoSpecific();
274 }

◆ infoSpecific()

void L1CaloRdo::infoSpecific ( ) const
virtual

Reimplemented in L1CaloRdoEfexTob.

Definition at line 277 of file L1CaloRdo.cxx.

278 {
279 }

◆ numSlices()

size_t L1CaloRdo::numSlices ( ) const

Definition at line 204 of file L1CaloRdo.cxx.

205 {
206  return m_vals.size();
207 }

◆ sameDatum()

bool L1CaloRdo::sameDatum ( const L1CaloRdo rhs) const

Definition at line 210 of file L1CaloRdo.cxx.

211 {
212  if ( m_crate != rhs.m_crate )
213  return false;
214  if ( m_module != rhs.m_module )
215  return false;
216  if ( m_eta != rhs.m_eta )
217  return false;
218  if ( m_phi != rhs.m_phi )
219  return false;
220  if ( m_layer != rhs.m_layer )
221  return false;
222  return true;
223 }

◆ setFlag() [1/2]

void L1CaloRdo::setFlag ( int  flag)

Definition at line 246 of file L1CaloRdo.cxx.

247 {
248  setFlag( flag, getL1aPos() );
249 }

◆ setFlag() [2/2]

void L1CaloRdo::setFlag ( int  flag,
size_t  slice 
)

Definition at line 239 of file L1CaloRdo.cxx.

240 {
241  if ( slice < m_flags.size() )
242  m_flags[slice] = flag;
243 }

◆ setRegion()

void L1CaloRdo::setRegion ( const L1CaloDetectorRegion region)
protected

Definition at line 283 of file L1CaloRdo.cxx.

284 {
285  m_region = region;
286 }

◆ setRodInfo()

void L1CaloRdo::setRodInfo ( std::list< L1CaloRdoRodInfo >::const_iterator &  rodInfo)

Definition at line 252 of file L1CaloRdo.cxx.

253 {
254  m_rodInfo = rodInfo;
255 }

◆ setValue() [1/2]

void L1CaloRdo::setValue ( int  val)

Definition at line 233 of file L1CaloRdo.cxx.

234 {
235  setValue( val, getL1aPos() );
236 }

◆ setValue() [2/2]

void L1CaloRdo::setValue ( int  val,
size_t  slice 
)

Definition at line 226 of file L1CaloRdo.cxx.

227 {
228  if ( slice < m_vals.size() )
229  m_vals[slice] = val;
230 }

Member Data Documentation

◆ m_crate

int L1CaloRdo::m_crate
private

Definition at line 73 of file L1CaloRdo.h.

◆ m_eta

int L1CaloRdo::m_eta
private

Definition at line 75 of file L1CaloRdo.h.

◆ m_flags

std::vector<int> L1CaloRdo::m_flags
private

Definition at line 79 of file L1CaloRdo.h.

◆ m_l1aPos

int L1CaloRdo::m_l1aPos
private

Definition at line 80 of file L1CaloRdo.h.

◆ m_layer

int L1CaloRdo::m_layer
private

Definition at line 77 of file L1CaloRdo.h.

◆ m_module

int L1CaloRdo::m_module
private

Definition at line 74 of file L1CaloRdo.h.

◆ m_phi

int L1CaloRdo::m_phi
private

Definition at line 76 of file L1CaloRdo.h.

◆ m_region

L1CaloDetectorRegion L1CaloRdo::m_region
private

Definition at line 82 of file L1CaloRdo.h.

◆ m_rodInfo

std::list<L1CaloRdoRodInfo>::const_iterator L1CaloRdo::m_rodInfo
private

Definition at line 86 of file L1CaloRdo.h.

◆ m_vals

std::vector<int> L1CaloRdo::m_vals
private

Definition at line 78 of file L1CaloRdo.h.


The documentation for this class was generated from the following files:
L1CaloRdo::m_rodInfo
std::list< L1CaloRdoRodInfo >::const_iterator m_rodInfo
Definition: L1CaloRdo.h:86
L1CaloRdo::m_crate
int m_crate
Definition: L1CaloRdo.h:73
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
L1CaloRdo::getModule
int getModule() const
Definition: L1CaloRdo.cxx:79
L1CaloRdo::infoSpecific
virtual void infoSpecific() const
Definition: L1CaloRdo.cxx:277
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
L1CaloRdo::getPhi
int getPhi() const
Definition: L1CaloRdo.cxx:91
L1CaloRdo::m_vals
std::vector< int > m_vals
Definition: L1CaloRdo.h:78
L1CaloRdo::getL1aPos
int getL1aPos() const
Definition: L1CaloRdo.cxx:131
L1CaloRdo::m_region
L1CaloDetectorRegion m_region
Definition: L1CaloRdo.h:82
L1CaloRdo::setValue
void setValue(int val, size_t slice)
Definition: L1CaloRdo.cxx:226
L1CaloRdo::m_phi
int m_phi
Definition: L1CaloRdo.h:76
L1CaloRdo::getType
virtual std::string getType() const =0
python.PyAthena.module
module
Definition: PyAthena.py:134
perfmonmt-refit.slice
slice
Definition: perfmonmt-refit.py:52
lumiFormat.i
int i
Definition: lumiFormat.py:92
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
L1CaloRdo::m_eta
int m_eta
Definition: L1CaloRdo.h:75
master.flag
bool flag
Definition: master.py:29
L1CaloRdo::numSlices
size_t numSlices() const
Definition: L1CaloRdo.cxx:204
L1CaloRdo::m_module
int m_module
Definition: L1CaloRdo.h:74
L1CaloRdo::m_flags
std::vector< int > m_flags
Definition: L1CaloRdo.h:79
L1CaloRdo::m_l1aPos
int m_l1aPos
Definition: L1CaloRdo.h:80
L1CaloRdo::m_layer
int m_layer
Definition: L1CaloRdo.h:77
L1CaloRdo::getModuleStatus
int getModuleStatus() const
Definition: L1CaloRdo.cxx:150
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
L1CaloRdo::setFlag
void setFlag(int flag, size_t slice)
Definition: L1CaloRdo.cxx:239
L1CaloRdo::getLayer
int getLayer() const
Definition: L1CaloRdo.cxx:97
L1CaloRdo::getFlag
int getFlag() const
Definition: L1CaloRdo.cxx:125
L1CaloRdo::getEta
int getEta() const
Definition: L1CaloRdo.cxx:85
L1CaloRdo::getCrate
int getCrate() const
Definition: L1CaloRdo.cxx:73
L1CaloRdo::getValue
int getValue() const
Definition: L1CaloRdo.cxx:111