ATLAS Offline Software
Loading...
Searching...
No Matches
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXJetHits.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4//***************************************************************************
5
6 #ifndef CMXJetHits_H
7 #define CMXJetHits_H
8
10
11
12 #ifndef TRIGGERSPACE
14 #else
15 #include "Coordinate.h"
16 #endif
17 namespace LVL1 {
18
22
23 class CMXJetHits {
24 public:
25
38
40 CMXJetHits() = default;
41 CMXJetHits(int crate, int source);
42 CMXJetHits(int crate, int source,
43 const std::vector<unsigned int>& hits0,
44 const std::vector<unsigned int>& hits1,
45 const std::vector<int>& error0,
46 const std::vector<int>& error1,
47 int peak);
48
49
51 void setPeak(int peak);
53 void addHits(const std::vector<unsigned int>& hits0,
54 const std::vector<unsigned int>& hits1,
55 const std::vector<int>& error0,
56 const std::vector<int>& error1);
57
59 int crate() const;
60 int source() const;
62 unsigned int hits0() const;
63 unsigned int hits1() const;
64 int error0() const;
65 int error1() const;
67 const std::vector<unsigned int>& hitsVec0() const;
68 const std::vector<unsigned int>& hitsVec1() const;
69 const std::vector<int>& errorVec0() const;
70 const std::vector<int>& errorVec1() const;
71 int peak() const;
72
74 private:
75 int m_crate{};
76 int m_source{};
77 int m_peak{};
78 std::vector<unsigned int> m_hits0{0};
79 std::vector<unsigned int> m_hits1{0};
80 std::vector<int> m_error0{0};
81 std::vector<int> m_error1{0};
82
83 };
84
86 inline int CMXJetHits::crate() const{
87 return m_crate;
88 }
89
91 inline int CMXJetHits::source() const{
92 return m_source;
93 }
94
96 inline unsigned int CMXJetHits::hits0() const{
97 return m_peak < (int)m_hits0.size()? m_hits0[m_peak]: 0;
98 }
99
101 inline unsigned int CMXJetHits::hits1() const{
102 return m_peak < (int)m_hits1.size()? m_hits1[m_peak]: 0;
103 }
104
106 inline int CMXJetHits::error0() const{
107 return m_peak < (int)m_error0.size()? m_error0[m_peak]: 0;
108 }
109
111 inline int CMXJetHits::error1() const{
112 return m_peak < (int)m_error1.size()? m_error1[m_peak]: 0;
113 }
114
116 inline const std::vector<unsigned int>& CMXJetHits::hitsVec0() const{
117 return m_hits0;
118 }
119
121 inline const std::vector<unsigned int>& CMXJetHits::hitsVec1() const{
122 return m_hits1;
123 }
124
126 inline const std::vector<int>& CMXJetHits::errorVec0() const{
127 return m_error0;
128 }
129
131 inline const std::vector<int>& CMXJetHits::errorVec1() const{
132 return m_error1;
133 }
134
136 inline void CMXJetHits::addHits(const std::vector<unsigned int>& hits0,
137 const std::vector<unsigned int>& hits1,
138 const std::vector<int>& error0,
139 const std::vector<int>& error1) {
140 m_hits0 = hits0;
141 m_hits1 = hits1;
144 }
145
147 inline void CMXJetHits::setPeak(int peak) {
148 m_peak = peak;
149 }
150
152 inline int CMXJetHits::peak() const{
153 return m_peak;
154 }
155
156} // end of namespace
157
158#ifndef CMXJetHits_ClassDEF_H
160#endif
161
162#endif
macros to associate a CLID to a type
Coordinate policies.
CMXJetHits()=default
Constructors.
const std::vector< int > & errorVec1() const
returns error1
const std::vector< int > & errorVec0() const
returns error0
const std::vector< unsigned int > & hitsVec0() const
For multi-slice readout.
void addHits(const std::vector< unsigned int > &hits0, const std::vector< unsigned int > &hits1, const std::vector< int > &error0, const std::vector< int > &error1)
Add data to existing object.
void setPeak(int peak)
For multi-slice readout, need to indicate position of triggered BC.
int error0() const
returns error0 for peak sample
unsigned int hits1() const
returns hits1 for peak sample
int error1() const
returns error1 for peak sample
unsigned int hits0() const
For triggered time slice.
const std::vector< unsigned int > & hitsVec1() const
returns hits1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...