ATLAS Offline Software
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 //***************************************************************************
5 
6  #ifndef CMXCPHits_H
7  #define CMXCPHits_H
8 
9  #include "AthenaKernel/CLASS_DEF.h"
10 
11 
12  #include <iostream>
13  #ifndef TRIGGERSPACE
15  #else
16  #include "Coordinate.h"
17  #endif
18  namespace LVL1 {
19 
24  class CMXCPHits {
25  public:
26 
30 
32  CMXCPHits();
33  CMXCPHits(int crate, int cmx, int source);
34  CMXCPHits(int crate, int cmx, int source,
35  const std::vector<unsigned int>& hits0,
36  const std::vector<unsigned int>& hits1,
37  const std::vector<int>& error0,
38  const std::vector<int>& error1,
39  int peak);
40 
41  virtual ~CMXCPHits();
42 
44  void setPeak(int peak);
46  void addHits(const std::vector<unsigned int>& hits0,
47  const std::vector<unsigned int>& hits1,
48  const std::vector<int>& error0,
49  const std::vector<int>& error1);
50 
52  int crate() const;
53  int cmx() const;
54  int source() const;
56  unsigned int hits0() const;
57  unsigned int hits1() const;
58  int error0() const;
59  int error1() const;
61  const std::vector<unsigned int>& hitsVec0() const;
62  const std::vector<unsigned int>& hitsVec1() const;
63  const std::vector<int>& errorVec0() const;
64  const std::vector<int>& errorVec1() const;
65  int peak() const;
66 
68  private:
69  int m_crate;
70  int m_cmx; // <<== Do we need firmware as well?
71  int m_source;
72  int m_peak;
73  std::vector<unsigned int> m_hits0;
74  std::vector<unsigned int> m_hits1;
75  std::vector<int> m_error0;
76  std::vector<int> m_error1;
77 
78  };
79 
81  inline int CMXCPHits::crate() const{
82  return m_crate;
83  }
84  // <<== CHECK Might have two firmware types
86  inline int CMXCPHits::cmx() const{
87  return m_cmx;
88  }
89 
91  inline int CMXCPHits::source() const{
92  return m_source;
93  }
94 
96  inline unsigned int CMXCPHits::hits0() const{
97  return m_hits0[m_peak];
98  }
99 
101  inline unsigned int CMXCPHits::hits1() const{
102  return m_hits1[m_peak];
103  }
104 
106  inline int CMXCPHits::error0() const{
107  return m_error0[m_peak];
108  }
109 
111  inline int CMXCPHits::error1() const{
112  return m_error1[m_peak];
113  }
114 
116  inline const std::vector<unsigned int>& CMXCPHits::hitsVec0() const{
117  return m_hits0;
118  }
119 
121  inline const std::vector<unsigned int>& CMXCPHits::hitsVec1() const{
122  return m_hits1;
123  }
124 
126  inline const std::vector<int>& CMXCPHits::errorVec0() const{
127  return m_error0;
128  }
129 
131  inline const std::vector<int>& CMXCPHits::errorVec1() const{
132  return m_error1;
133  }
134 
136  inline void CMXCPHits::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;
142  m_error0 = error0;
143  m_error1 = error1;
144  }
145 
147  inline void CMXCPHits::setPeak(int peak) {
148  m_peak = peak;
149  }
150 
152  inline int CMXCPHits::peak() const{
153  return m_peak;
154  }
155 
156 } // end of namespace
157 
158 #ifndef CMXCPHits_ClassDEF_H
160 #endif
161 
162 #endif
LVL1::CMXCPHits::setPeak
void setPeak(int peak)
For multi-slice readout, need to indicate position of triggered BC.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:147
LVL1::CMXCPHits::m_crate
int m_crate
Internal data.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:69
LVL1::CMXCPHits::hitsVec0
const std::vector< unsigned int > & hitsVec0() const
For multi-slice readout.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:116
LVL1::CMXCPHits::m_hits1
std::vector< unsigned int > m_hits1
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:74
LVL1::CMXCPHits::m_hits0
std::vector< unsigned int > m_hits0
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:73
LVL1::CMXCPHits::cmx
int cmx() const
returns CMX number (0/1)==(Left/Right)==(Tau/Em?)
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:86
LVL1::CMXCPHits::m_error1
std::vector< int > m_error1
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:76
LVL1::CMXCPHits::REMOTE_1
@ REMOTE_1
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:27
LVL1::CMXCPHits::LOCAL
@ LOCAL
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:27
LVL1::CMXCPHits
Summary of CP (EM/tau) hits produced by the merger modules.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:24
LVL1::CMXCPHits::hits1
unsigned int hits1() const
returns hits1 for peak sample
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:101
LVL1::CMXCPHits::errorVec1
const std::vector< int > & errorVec1() const
returns error1
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:131
LVL1::CMXCPHits::CMXCPHits
CMXCPHits()
Constructors.
Definition: CMXCPHits.cxx:16
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::CMXCPHits::m_cmx
int m_cmx
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:70
LVL1::CMXCPHits::TOPO_OCCUPANCY_COUNTS
@ TOPO_OCCUPANCY_COUNTS
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:28
LVL1::CMXCPHits::Sources
Sources
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:27
LVL1::CMXCPHits::m_error0
std::vector< int > m_error0
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:75
LVL1::CMXCPHits::addHits
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.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:136
LVL1::CMXCPHits::REMOTE_2
@ REMOTE_2
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:27
LVL1::CMXCPHits::TOPO_OCCUPANCY_MAP
@ TOPO_OCCUPANCY_MAP
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:28
LVL1::CMXCPHits::REMOTE_0
@ REMOTE_0
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:27
Coordinate.h
Coordinate policies.
LVL1::CMXCPHits::error1
int error1() const
returns error1 for peak sample
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:111
LVL1::CMXCPHits::source
int source() const
returns source of data
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:91
LVL1::CMXCPHits::hits0
unsigned int hits0() const
For triggered time slice.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:96
Coordinate.h
LVL1::CMXCPHits::peak
int peak() const
returns peak slice number
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:152
CMXCPHits_ClassDEF.h
LVL1::CMXCPHits::hitsVec1
const std::vector< unsigned int > & hitsVec1() const
returns hits1
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:121
LVL1::CMXCPHits::TOPO_CHECKSUM
@ TOPO_CHECKSUM
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:28
LVL1::CMXCPHits::error0
int error0() const
returns error0 for peak sample
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:106
LVL1::CMXCPHits::crate
int crate() const
Data accessors.
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:81
LVL1::CMXCPHits::errorVec0
const std::vector< int > & errorVec0() const
returns error0
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:126
LVL1::CMXCPHits::~CMXCPHits
virtual ~CMXCPHits()
Definition: CMXCPHits.cxx:28
LVL1::CMXCPHits::m_source
int m_source
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:71
LVL1::CMXCPHits::m_peak
int m_peak
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:72
LVL1::CMXCPHits::TOTAL
@ TOTAL
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:27
CLASS_DEF.h
macros to associate a CLID to a type
LVL1::CMXCPHits::MAXSOURCE
@ MAXSOURCE
Definition: Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXCPHits.h:29