ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloRdo Class Referenceabstract

Abstract base class for L1Calo "Raw Data Objects" (RDOs). More...

#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_iteratorgetRodInfo () 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 )
36#ifdef OFFLINE_DECODER
37, m_word0s(numSlices,0),m_word1s(numSlices,0)
38#endif
39{
40 // std::cout << "Object Created" << std::endl;
41}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
int m_module
Definition L1CaloRdo.h:74
int m_eta
Definition L1CaloRdo.h:75
std::vector< int > m_vals
Definition L1CaloRdo.h:78
int m_l1aPos
Definition L1CaloRdo.h:80
int m_layer
Definition L1CaloRdo.h:77
size_t numSlices() const
std::vector< int > m_flags
Definition L1CaloRdo.h:79
int m_crate
Definition L1CaloRdo.h:73
int m_phi
Definition L1CaloRdo.h:76

◆ 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}
int getFlag() const
int getL1aPos() const

◆ 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}
int getModuleStatus() const

◆ 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}
int getModule() const
Definition L1CaloRdo.cxx:79
std::list< L1CaloRdoRodInfo >::const_iterator m_rodInfo
Definition L1CaloRdo.h:86

◆ 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}
L1CaloDetectorRegion m_region
Definition L1CaloRdo.h:82

◆ 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 L1CaloRdoEfexTower, and L1CaloRdoFexTob.

◆ getValue() [1/2]

int L1CaloRdo::getValue ( ) const

Definition at line 111 of file L1CaloRdo.cxx.

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

◆ 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}
int getEta() const
Definition L1CaloRdo.cxx:85
virtual void infoSpecific() const
int getPhi() const
Definition L1CaloRdo.cxx:91
int getLayer() const
Definition L1CaloRdo.cxx:97
int getCrate() const
Definition L1CaloRdo.cxx:73
virtual std::string getType() const =0

◆ 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}
void setFlag(int flag, size_t slice)

◆ 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}
bool flag
Definition master.py:29

◆ 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}
void setValue(int val, size_t slice)

◆ 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: