ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloRdo.h
Go to the documentation of this file.
1
2#ifndef L1CALO_RDO_H
3#define L1CALO_RDO_H
4
5#include <vector>
6#include <list>
7#include <string>
8#include <cstdint>
9
10
12
13
15
17{
18public:
19 virtual ~L1CaloRdo();
20
21 int getCrate( ) const;
22 int getModule( ) const;
23 int getEta( ) const;
24 int getPhi( ) const;
25 int getLayer( ) const;
26 int getValue( size_t slice ) const;
27 int getValue( ) const;
28 int getFlag( size_t slice ) const;
29 int getFlag( ) const;
30 int getL1aPos( ) const;
31
33#ifdef OFFLINE_DECODER
34 void setWord0( uint32_t val, size_t slice ){ if(slice < m_word0s.size()) m_word0s[slice] = val; };
35 void setWord1( uint32_t val, size_t slice ){ if(slice < m_word1s.size()) m_word1s[slice] = val; };
36 uint32_t getWord0( size_t slice ) const { return (slice < m_word0s.size()) ? m_word0s[slice] : 0; };
37 uint32_t getWord1( size_t slice ) const { return (slice < m_word1s.size()) ? m_word1s[slice] : 0; };
38#endif
39 const std::list<L1CaloRdoRodInfo>::const_iterator& getRodInfo( ) const;
40 int getModuleStatus( ) const;
41
42 bool getModuleErrorGlinkParity( ) const;
43 bool getModuleErrorGlinkProtocol( ) const;
44 bool getModuleErrorBcnMismatch( ) const;
45 bool getModuleErrorFifoOverflow( ) const;
46 bool getModuleErrorSpecific( ) const;
47 bool getModuleErrorUnused( ) const;
48 bool getModuleErrorGlinkTimeout( ) const;
49 bool getModuleErrorGlinkDown( ) const;
50
51 size_t numSlices( ) const;
52 bool sameDatum( const L1CaloRdo& rhs ) const;
53
54 void setValue( int val, size_t slice );
55 void setValue( int val );
56 void setFlag( int flag, size_t slice );
57 void setFlag( int flag );
58 void setRodInfo( std::list<L1CaloRdoRodInfo>::const_iterator& rodInfo );
59
60 void info( ) const;
61 virtual void infoSpecific( ) const;
62 virtual std::string getType( ) const = 0;
63
64protected:
65 L1CaloRdo( int crate, int module, int eta, int phi,
66 int layer, int numSlices );
67
68 void setRegion( const L1CaloDetectorRegion& region );
69
70private:
72
75 int m_eta;
76 int m_phi;
78 std::vector<int> m_vals;
79 std::vector<int> m_flags;
81
83#ifdef OFFLINE_DECODER
84 std::vector<uint32_t> m_word0s,m_word1s;
85#endif
86 std::list<L1CaloRdoRodInfo>::const_iterator m_rodInfo;
87};
88
89bool operator<(const L1CaloRdo& lhs, const L1CaloRdo& rhs);
90
91#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
bool operator<(const L1CaloRdo &lhs, const L1CaloRdo &rhs)
Definition L1CaloRdo.cxx:49
Simple class to mainly store eta/phi information (indices, granularity, trigger tower coordinates) as...
Abstract base class for L1Calo "Raw Data Objects" (RDOs).
Definition L1CaloRdo.h:17
int getEta() const
Definition L1CaloRdo.cxx:85
int m_module
Definition L1CaloRdo.h:74
int m_eta
Definition L1CaloRdo.h:75
bool getModuleErrorFifoOverflow() const
int getModuleStatus() const
std::vector< int > m_vals
Definition L1CaloRdo.h:78
L1CaloRdo(int crate, int module, int eta, int phi, int layer, int numSlices)
Definition L1CaloRdo.cxx:26
virtual void infoSpecific() const
bool getModuleErrorGlinkProtocol() const
int getFlag() const
int getModule() const
Definition L1CaloRdo.cxx:79
int m_l1aPos
Definition L1CaloRdo.h:80
const std::list< L1CaloRdoRodInfo >::const_iterator & getRodInfo() const
void setRodInfo(std::list< L1CaloRdoRodInfo >::const_iterator &rodInfo)
int m_layer
Definition L1CaloRdo.h:77
bool getModuleErrorBcnMismatch() const
int getPhi() const
Definition L1CaloRdo.cxx:91
size_t numSlices() const
int getLayer() const
Definition L1CaloRdo.cxx:97
void setRegion(const L1CaloDetectorRegion &region)
void setFlag(int flag, size_t slice)
int getCrate() const
Definition L1CaloRdo.cxx:73
bool getModuleErrorUnused() const
bool getModuleErrorGlinkDown() const
std::vector< int > m_flags
Definition L1CaloRdo.h:79
int m_crate
Definition L1CaloRdo.h:73
virtual std::string getType() const =0
bool getModuleErrorGlinkParity() const
int m_phi
Definition L1CaloRdo.h:76
void setValue(int val, size_t slice)
bool sameDatum(const L1CaloRdo &rhs) const
L1CaloDetectorRegion getRegion() const
void info() const
L1CaloDetectorRegion m_region
Definition L1CaloRdo.h:82
int getValue() const
int getL1aPos() const
bool getModuleErrorSpecific() const
bool getModuleErrorGlinkTimeout() const
std::list< L1CaloRdoRodInfo >::const_iterator m_rodInfo
Definition L1CaloRdo.h:86
virtual ~L1CaloRdo()
Definition L1CaloRdo.cxx:43