ATLAS Offline Software
Loading...
Searching...
No Matches
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.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 CMXCPHits_H
7 #define CMXCPHits_H
8
10
11
12 #ifndef TRIGGERSPACE
14 #else
15 #include "Coordinate.h"
16 #endif
17 namespace LVL1 {
18
22
23 class CMXCPHits {
24 public:
25
29
31 CMXCPHits() = default;
32 CMXCPHits(int crate, int cmx, int source);
33 CMXCPHits(int crate, int cmx, int source,
34 const std::vector<unsigned int>& hits0,
35 const std::vector<unsigned int>& hits1,
36 const std::vector<int>& error0,
37 const std::vector<int>& error1,
38 int peak);
39
40
42 void setPeak(int peak);
44 void addHits(const std::vector<unsigned int>& hits0,
45 const std::vector<unsigned int>& hits1,
46 const std::vector<int>& error0,
47 const std::vector<int>& error1);
48
50 int crate() const;
51 int cmx() const;
52 int source() const;
54 unsigned int hits0() const;
55 unsigned int hits1() const;
56 int error0() const;
57 int error1() const;
59 const std::vector<unsigned int>& hitsVec0() const;
60 const std::vector<unsigned int>& hitsVec1() const;
61 const std::vector<int>& errorVec0() const;
62 const std::vector<int>& errorVec1() const;
63 int peak() const;
64
66 private:
67 int m_crate{};
68 int m_cmx{}; // <<== Do we need firmware as well?
69 int m_source{};
70 int m_peak{};
71 std::vector<unsigned int> m_hits0{0};
72 std::vector<unsigned int> m_hits1{0};
73 std::vector<int> m_error0{0};
74 std::vector<int> m_error1{0};
75
76 };
77
79 inline int CMXCPHits::crate() const{
80 return m_crate;
81 }
82 // <<== CHECK Might have two firmware types
84 inline int CMXCPHits::cmx() const{
85 return m_cmx;
86 }
87
89 inline int CMXCPHits::source() const{
90 return m_source;
91 }
92
94 inline unsigned int CMXCPHits::hits0() const{
95 return m_hits0[m_peak];
96 }
97
99 inline unsigned int CMXCPHits::hits1() const{
100 return m_hits1[m_peak];
101 }
102
104 inline int CMXCPHits::error0() const{
105 return m_error0[m_peak];
106 }
107
109 inline int CMXCPHits::error1() const{
110 return m_error1[m_peak];
111 }
112
114 inline const std::vector<unsigned int>& CMXCPHits::hitsVec0() const{
115 return m_hits0;
116 }
117
119 inline const std::vector<unsigned int>& CMXCPHits::hitsVec1() const{
120 return m_hits1;
121 }
122
124 inline const std::vector<int>& CMXCPHits::errorVec0() const{
125 return m_error0;
126 }
127
129 inline const std::vector<int>& CMXCPHits::errorVec1() const{
130 return m_error1;
131 }
132
134 inline void CMXCPHits::addHits(const std::vector<unsigned int>& hits0,
135 const std::vector<unsigned int>& hits1,
136 const std::vector<int>& error0,
137 const std::vector<int>& error1) {
138 m_hits0 = hits0;
139 m_hits1 = hits1;
142 }
143
145 inline void CMXCPHits::setPeak(int peak) {
146 m_peak = peak;
147 }
148
150 inline int CMXCPHits::peak() const{
151 return m_peak;
152 }
153
154} // end of namespace
155
156#ifndef CMXCPHits_ClassDEF_H
158#endif
159
160#endif
macros to associate a CLID to a type
Coordinate policies.
const std::vector< int > & errorVec1() const
returns error1
const std::vector< unsigned int > & hitsVec1() const
returns hits1
CMXCPHits()=default
Constructors.
void setPeak(int peak)
For multi-slice readout, need to indicate position of triggered BC.
unsigned int hits1() const
returns hits1 for peak sample
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.
unsigned int hits0() const
For triggered time slice.
const std::vector< int > & errorVec0() const
returns error0
int error1() const
returns error1 for peak sample
int cmx() const
returns CMX number (0/1)==(Left/Right)==(Tau/Em?)
int error0() const
returns error0 for peak sample
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...