ATLAS Offline Software
Lvl1MuSectorLogicDataPhase1.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGT1INTERFACES_LVL1MUSECTORLOGICDATAPHASE1_H
5 #define TRIGT1INTERFACES_LVL1MUSECTORLOGICDATAPHASE1_H
6 
7 // System include(s):
8 #include <iosfwd>
9 #include <utility>
10 #include <vector>
11 
21 namespace LVL1MUONIF {
22 
36 
37  public:
41 
43 
44  // assume unsigned long int is 8 bytes, unsigned short int is 2 bytes:
45  typedef std::pair<unsigned long int, unsigned short int> SectorLogicWord;
46 
47  bool is2candidatesInSector() const { return m_2candidatesInSector; } // MORE than two candidates per sector
48  int bcid() const { return m_bcid; }
49  int nsw() const {return m_nsw; } // NSW monitoring bit
50  int roi( size_t id ) const { return m_roi[ id ]; }
51  int ovl( size_t id ) const { return m_ovl[ id ]; }
52  int pt( size_t id ) const { return m_pt[ id ]; }
53  int charge( size_t id ) const { return m_charge[ id ]; }
54  bool is2candidates( size_t id ) const { return m_2candidates[ id ]; } // per ROI (not used for mult counting)
55  int goodmf( size_t id) const { return m_goodmf[ id ]; }
56  int innercoin( size_t id) const { return m_innercoin[ id ]; }
57  int bw2or3( size_t id) const { return m_bw2or3[ id ]; }
58  int veto( size_t id) const {return m_veto[ id ]; } // veto candidate for multiplicity counting due to overlap removal
59 
62  void bcid( int value ) { m_bcid = value; }
63  void nsw( int value) {m_nsw = value; }
64  void roi( size_t id, int value ) { m_roi[ id ] = value; }
65  void ovl( size_t id, int value ) { m_ovl[ id ] = value; }
66  void pt( size_t id, int value ) { m_pt[ id ] = value; }
67  void charge( size_t id, int value ) { m_charge[ id ] = value; }
68  void set2candidates( size_t id ) { m_2candidates[ id ] = true; }
69  void clear2candidates( size_t id ) { m_2candidates[ id ] = false; }
70  void goodmf( size_t id, int value) {m_goodmf[ id ] = value; }
71  void innercoin( size_t id, int value) {m_innercoin[ id ] = value; }
72  void bw2or3( size_t id, int value) {m_bw2or3[ id ] = value; }
73  void veto( size_t id, int value) {m_veto[ id ] = value; }
74 
75  void clear();
76 
77  friend std::ostream& operator<<( std::ostream&, const Lvl1MuSectorLogicDataPhase1& );
78 
80  virtual SectorLogicWord getWordFormat() const = 0;
83 
84  int getSystemId() const { return m_id_system; }
85 
86  protected:
88  virtual void printOut( std::ostream& out ) const=0;
89  void initialize();
90 
92  std::vector<int> m_roi; //[m_ncand]
93  std::vector<int> m_ovl; //[m_ncand]
94  std::vector<int> m_pt; //[m_ncand]
95  std::vector<bool> m_2candidates; //[m_ncand]
96  int m_bcid;
97  int m_nsw;
98  std::vector<int> m_charge; //[m_ncand]
100  std::vector<int> m_goodmf; //[m_ncand]
101  std::vector<int> m_innercoin; //[m_ncand]
102  std::vector<int> m_bw2or3; //[m_ncand]
103  std::vector<int> m_veto; //[m_ncand]
104 
105  }; // class Lvl1MuSectorLogicDataPhase1
106 
107 } // namespace LVL1MUONIF
108 
109 #endif // TRIGT1INTERFACES_LVL1MUSECTORLOGICDATAPHASE1_H
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::bcid
void bcid(int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:62
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_bcid
int m_bcid
Definition: Lvl1MuSectorLogicDataPhase1.h:96
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::clear
void clear()
Definition: Lvl1MuSectorLogicDataPhase1.cxx:86
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::nsw
void nsw(int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:63
LVL1MUONIF
Namespace for the LVL1 muon interface classes.
Definition: Lvl1MuBarrelSectorLogicData.cxx:9
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::printOut
virtual void printOut(std::ostream &out) const =0
print out data
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::innercoin
int innercoin(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:56
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_bw2or3
std::vector< int > m_bw2or3
Definition: Lvl1MuSectorLogicDataPhase1.h:102
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::nsw
int nsw() const
Definition: Lvl1MuSectorLogicDataPhase1.h:49
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_pt
std::vector< int > m_pt
Definition: Lvl1MuSectorLogicDataPhase1.h:94
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::ovl
void ovl(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:65
athena.value
value
Definition: athena.py:122
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::goodmf
void goodmf(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:70
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::bw2or3
int bw2or3(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:57
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_roi
std::vector< int > m_roi
Definition: Lvl1MuSectorLogicDataPhase1.h:92
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_goodmf
std::vector< int > m_goodmf
Definition: Lvl1MuSectorLogicDataPhase1.h:100
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_2candidatesInSector
bool m_2candidatesInSector
Definition: Lvl1MuSectorLogicDataPhase1.h:91
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::ovl
int ovl(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:51
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::innercoin
void innercoin(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:71
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::set2candidatesInSector
void set2candidatesInSector()
Definition: Lvl1MuSectorLogicDataPhase1.h:60
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::SectorLogicWord
std::pair< unsigned long int, unsigned short int > SectorLogicWord
Definition: Lvl1MuSectorLogicDataPhase1.h:45
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::convertFromWordFormat
virtual const Lvl1MuSectorLogicDataPhase1 & convertFromWordFormat(const SectorLogicWord &)=0
Convert SectorLogicDataPhase1 from 32 bit word data.
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_nsw
int m_nsw
Definition: Lvl1MuSectorLogicDataPhase1.h:97
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_innercoin
std::vector< int > m_innercoin
Definition: Lvl1MuSectorLogicDataPhase1.h:101
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::clear2candidates
void clear2candidates(size_t id)
Definition: Lvl1MuSectorLogicDataPhase1.h:69
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::~Lvl1MuSectorLogicDataPhase1
virtual ~Lvl1MuSectorLogicDataPhase1()
Definition: Lvl1MuSectorLogicDataPhase1.cxx:22
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1
Base class for the data coming from one SL board.
Definition: Lvl1MuSectorLogicDataPhase1.h:35
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::charge
int charge(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:53
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::roi
void roi(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:64
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::veto
int veto(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:58
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::initialize
void initialize()
Definition: Lvl1MuSectorLogicDataPhase1.cxx:35
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::bw2or3
void bw2or3(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:72
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::pt
void pt(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:66
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::operator<<
friend std::ostream & operator<<(std::ostream &, const Lvl1MuSectorLogicDataPhase1 &)
Definition: Lvl1MuSectorLogicDataPhase1.cxx:79
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::set2candidates
void set2candidates(size_t id)
Definition: Lvl1MuSectorLogicDataPhase1.h:68
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::getWordFormat
virtual SectorLogicWord getWordFormat() const =0
Get data in 32 bit word format:
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::goodmf
int goodmf(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:55
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::charge
void charge(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:67
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::getSystemId
int getSystemId() const
Definition: Lvl1MuSectorLogicDataPhase1.h:84
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_ovl
std::vector< int > m_ovl
Definition: Lvl1MuSectorLogicDataPhase1.h:93
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::pt
int pt(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:52
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_charge
std::vector< int > m_charge
Definition: Lvl1MuSectorLogicDataPhase1.h:98
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::is2candidates
bool is2candidates(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:54
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::roi
int roi(size_t id) const
Definition: Lvl1MuSectorLogicDataPhase1.h:50
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::bcid
int bcid() const
Definition: Lvl1MuSectorLogicDataPhase1.h:48
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::operator=
Lvl1MuSectorLogicDataPhase1 & operator=(const Lvl1MuSectorLogicDataPhase1 &right)
Definition: Lvl1MuSectorLogicDataPhase1.cxx:58
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::clear2candidatesInSector
void clear2candidatesInSector()
Definition: Lvl1MuSectorLogicDataPhase1.h:61
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_2candidates
std::vector< bool > m_2candidates
Definition: Lvl1MuSectorLogicDataPhase1.h:95
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::is2candidatesInSector
bool is2candidatesInSector() const
Definition: Lvl1MuSectorLogicDataPhase1.h:47
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::veto
void veto(size_t id, int value)
Definition: Lvl1MuSectorLogicDataPhase1.h:73
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_id_system
int m_id_system
Definition: Lvl1MuSectorLogicDataPhase1.h:99
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::m_veto
std::vector< int > m_veto
Definition: Lvl1MuSectorLogicDataPhase1.h:103
LVL1MUONIF::Lvl1MuSectorLogicDataPhase1::Lvl1MuSectorLogicDataPhase1
Lvl1MuSectorLogicDataPhase1()
Definition: Lvl1MuSectorLogicDataPhase1.cxx:14