ATLAS Offline Software
NSWTrigOut.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef NSW_TRIGOUT_H
6 #define NSW_TRIGOUT_H
7 
8 #include <vector>
9 
10 namespace LVL1TGCTrigger {
11  class TGCArguments;
12 }
13 
14 namespace LVL1TGC {
15 
16 class NSWTrigOut {
17 protected:
18  int m_sideID{-1}; // 0:A-side 1:C-side
19  std::vector<int> m_NSWTriggerProcessor; // 0 ~ 15
20  std::vector<uint8_t> m_NSWeta_8bit; // 0.005
21  std::vector<uint8_t> m_NSWphi_6bit; // 10mrad
22  std::vector<uint8_t> m_NSWDtheta_5bit; // 1mrad
23  std::vector<bool> m_NSWlowRes;
24  std::vector<bool> m_NSWphiRes;
25  std::vector<bool> m_NSWmonitor;
26 
27 public:
28  NSWTrigOut() = default;
29  NSWTrigOut(int side,
30  const std::vector<int>& NSWTrigger,
31  const std::vector<uint8_t>& NSWeta,
32  const std::vector<uint8_t>& NSWphi,
33  const std::vector<uint8_t>& NSWDtheta,
34  const std::vector<bool>& NSWlowRes,
35  const std::vector<bool>& NSWphiRes,
36  const std::vector<bool>& NSWmonitor,
37  LVL1TGCTrigger::TGCArguments* tgcargs=nullptr);
38  NSWTrigOut(int side, const std::vector<int>& NSWTrigger, LVL1TGCTrigger::TGCArguments* tgcargs=nullptr);
39 
40  NSWTrigOut& operator+=(const NSWTrigOut& right);
41  bool operator==(const NSWTrigOut& right) const
42  {
43  return (this==&right);
44  }
45 
46  bool operator!=(const NSWTrigOut& right) const
47  {
48  return (this!=&right);
49  }
50 
51 
52  // set functons
53  void setSide(int side){ m_sideID = side; }
54  void setNSWTriggerProcessor(int NSWTP){ m_NSWTriggerProcessor.push_back(NSWTP); }
55  void setEta(uint8_t NSWeta){ m_NSWeta_8bit.push_back(NSWeta); }
56  void setPhi(uint8_t NSWphi){ m_NSWphi_6bit.push_back(NSWphi); }
57  void setDtheta(uint8_t NSWDtheta){ m_NSWDtheta_5bit.push_back(NSWDtheta); }
58  void setLowRes(bool NSWlowRes){ m_NSWlowRes.push_back(NSWlowRes); }
59  void setPhiRes(bool NSWphiRes){ m_NSWphiRes.push_back(NSWphiRes); }
60  void setMonitor(bool NSWmonitor){ m_NSWmonitor.push_back(NSWmonitor); }
61  void clear() { m_sideID=-1;m_NSWTriggerProcessor.clear(); m_NSWeta_8bit.clear(); m_NSWphi_6bit.clear(); m_NSWDtheta_5bit.clear(); m_NSWlowRes.clear(); m_NSWphiRes.clear(); m_NSWmonitor.clear();}
62 
63  // get functions
64  int getSide() const { return m_sideID; }
65  const std::vector<int>& getNSWTriggerProcessor() const {return m_NSWTriggerProcessor; }
66  const std::vector<uint8_t>& getNSWeta() const {return m_NSWeta_8bit; }
67  const std::vector<uint8_t>& getNSWphi() const {return m_NSWphi_6bit; }
68  const std::vector<uint8_t>& getNSWDtheta() const {return m_NSWDtheta_5bit; }
69  const std::vector<bool>& getNSWlowRes() const {return m_NSWlowRes; }
70  const std::vector<bool>& getNSWphiRes() const {return m_NSWphiRes; }
71  const std::vector<bool>& getNSWmonitor() const {return m_NSWmonitor; }
72 
73  // print methods
74  void print() const;
75 
76  private:
78 };
79 
80 } // end of namespace
81 
82 #endif
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
LVL1TGC::NSWTrigOut::NSWTrigOut
NSWTrigOut()=default
LVL1TGC::NSWTrigOut::operator!=
bool operator!=(const NSWTrigOut &right) const
Definition: NSWTrigOut.h:46
LVL1TGC::NSWTrigOut::setPhiRes
void setPhiRes(bool NSWphiRes)
Definition: NSWTrigOut.h:59
LVL1TGC::NSWTrigOut::setMonitor
void setMonitor(bool NSWmonitor)
Definition: NSWTrigOut.h:60
LVL1TGC::NSWTrigOut::m_NSWeta_8bit
std::vector< uint8_t > m_NSWeta_8bit
Definition: NSWTrigOut.h:20
LVL1TGC::NSWTrigOut::getSide
int getSide() const
Definition: NSWTrigOut.h:64
LVL1TGC::NSWTrigOut::setNSWTriggerProcessor
void setNSWTriggerProcessor(int NSWTP)
Definition: NSWTrigOut.h:54
LVL1TGC::NSWTrigOut::setEta
void setEta(uint8_t NSWeta)
Definition: NSWTrigOut.h:55
LVL1TGC::NSWTrigOut::getNSWlowRes
const std::vector< bool > & getNSWlowRes() const
Definition: NSWTrigOut.h:69
LVL1TGC::NSWTrigOut::operator+=
NSWTrigOut & operator+=(const NSWTrigOut &right)
Definition: NSWTrigOut.cxx:30
TRT::Hit::side
@ side
Definition: HitInfo.h:83
LVL1TGC::NSWTrigOut::getNSWeta
const std::vector< uint8_t > & getNSWeta() const
Definition: NSWTrigOut.h:66
LVL1TGC::NSWTrigOut::m_sideID
int m_sideID
Definition: NSWTrigOut.h:18
LVL1TGC::NSWTrigOut::setSide
void setSide(int side)
Definition: NSWTrigOut.h:53
LVL1TGC::NSWTrigOut::getNSWmonitor
const std::vector< bool > & getNSWmonitor() const
Definition: NSWTrigOut.h:71
LVL1TGC::NSWTrigOut::setLowRes
void setLowRes(bool NSWlowRes)
Definition: NSWTrigOut.h:58
LVL1TGC::NSWTrigOut::operator==
bool operator==(const NSWTrigOut &right) const
Definition: NSWTrigOut.h:41
LVL1TGC::NSWTrigOut::getNSWDtheta
const std::vector< uint8_t > & getNSWDtheta() const
Definition: NSWTrigOut.h:68
LVL1TGC
Definition: BigWheelCoincidenceLUT.cxx:24
LVL1TGC::NSWTrigOut::clear
void clear()
Definition: NSWTrigOut.h:61
LVL1TGCTrigger
Definition: LVL1TGCTrigger.cxx:47
LVL1TGC::NSWTrigOut::getNSWTriggerProcessor
const std::vector< int > & getNSWTriggerProcessor() const
Definition: NSWTrigOut.h:65
LVL1TGC::NSWTrigOut::m_NSWlowRes
std::vector< bool > m_NSWlowRes
Definition: NSWTrigOut.h:23
LVL1TGC::NSWTrigOut::setPhi
void setPhi(uint8_t NSWphi)
Definition: NSWTrigOut.h:56
LVL1TGC::NSWTrigOut::setDtheta
void setDtheta(uint8_t NSWDtheta)
Definition: NSWTrigOut.h:57
LVL1TGCTrigger::TGCArguments
Definition: TGCArguments.h:12
LVL1TGC::NSWTrigOut::getNSWphiRes
const std::vector< bool > & getNSWphiRes() const
Definition: NSWTrigOut.h:70
LVL1TGC::NSWTrigOut::m_NSWphiRes
std::vector< bool > m_NSWphiRes
Definition: NSWTrigOut.h:24
LVL1TGC::NSWTrigOut::m_NSWDtheta_5bit
std::vector< uint8_t > m_NSWDtheta_5bit
Definition: NSWTrigOut.h:22
LVL1TGC::NSWTrigOut::m_NSWphi_6bit
std::vector< uint8_t > m_NSWphi_6bit
Definition: NSWTrigOut.h:21
LVL1TGC::NSWTrigOut::m_tgcArgs
LVL1TGCTrigger::TGCArguments * m_tgcArgs
Definition: NSWTrigOut.h:77
LVL1TGC::NSWTrigOut::getNSWphi
const std::vector< uint8_t > & getNSWphi() const
Definition: NSWTrigOut.h:67
LVL1TGC::NSWTrigOut::print
void print() const
Definition: NSWTrigOut.cxx:44
LVL1TGC::NSWTrigOut::m_NSWmonitor
std::vector< bool > m_NSWmonitor
Definition: NSWTrigOut.h:25
LVL1TGC::NSWTrigOut
Definition: NSWTrigOut.h:16
LVL1TGC::NSWTrigOut::m_NSWTriggerProcessor
std::vector< int > m_NSWTriggerProcessor
Definition: NSWTrigOut.h:19