ATLAS Offline Software
Loading...
Searching...
No Matches
NSWMMTPRDO_v1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5// Local include(s):
7namespace {
8 static const std::string preFixStr {"NSWMMTP_"};
9}
10#define IMPLEMENT_VECTOR(DATA_TYPE, VAR_NAME) \
11 const std::vector<DATA_TYPE>& NSWMMTPRDO_v1::VAR_NAME() const { \
12 static const SG::AuxElement::Accessor<std::vector<DATA_TYPE>> dec{preFixStr+#VAR_NAME};\
13 return dec (*this); \
14 } \
15 std::vector<DATA_TYPE>& NSWMMTPRDO_v1::VAR_NAME() { \
16 static const SG::AuxElement::Accessor<std::vector<DATA_TYPE>> dec{preFixStr+#VAR_NAME};\
17 return dec(*this); \
18 }
19
20#define IMPLEMENT_SCALAR(DATA_TYPE, VAR_NAME) \
21 DATA_TYPE NSWMMTPRDO_v1::VAR_NAME() const { \
22 static const SG::AuxElement::Accessor<DATA_TYPE> dec{preFixStr+#VAR_NAME};\
23 return dec (*this); \
24 } \
25 void NSWMMTPRDO_v1::set_##VAR_NAME(const DATA_TYPE val) { \
26 static const SG::AuxElement::Accessor<DATA_TYPE> dec{preFixStr+#VAR_NAME}; \
27 dec (*this) = val; \
28 }
29namespace xAOD{
30
31 //ROD info
32 IMPLEMENT_SCALAR(uint32_t, sourceID)
33 IMPLEMENT_SCALAR(uint16_t, moduleID)
34 IMPLEMENT_SCALAR(uint32_t, ROD_L1ID)
35 IMPLEMENT_SCALAR(uint16_t, ROD_BCID)
36
37 //TP head
42
43 //TP L1A head
44 IMPLEMENT_SCALAR(uint16_t, l1a_request_BCID)
45 IMPLEMENT_SCALAR(uint16_t, l1a_release_BCID)
46 IMPLEMENT_SCALAR(uint16_t, l1a_window_open)
47 IMPLEMENT_SCALAR(uint16_t, l1a_window_center)
48 IMPLEMENT_SCALAR(uint16_t, l1a_window_close)
49 IMPLEMENT_SCALAR(uint16_t, l1a_window_open_offset)
50 IMPLEMENT_SCALAR(uint16_t, l1a_window_center_offset)
51 IMPLEMENT_SCALAR(uint16_t, l1a_window_close_offset)
52
53 //L1A data quality
54 IMPLEMENT_SCALAR(uint16_t, l1a_timeout)
55 IMPLEMENT_SCALAR(uint16_t, l1a_engines)
56
57 //ART data
58 IMPLEMENT_VECTOR(uint16_t, art_BCID)
59 IMPLEMENT_VECTOR(uint8_t, art_layer)
60 IMPLEMENT_VECTOR(uint16_t, art_channel)
61
62 //trigger data
63 IMPLEMENT_VECTOR(uint16_t, trig_globalX)
64 IMPLEMENT_VECTOR(uint16_t, trig_globalU)
65 IMPLEMENT_VECTOR(uint16_t, trig_BCID)
66 IMPLEMENT_VECTOR(uint8_t, trig_dTheta)
67 IMPLEMENT_VECTOR(uint8_t, trig_ROI_rID)
68 IMPLEMENT_VECTOR(uint8_t, trig_ROI_phiID)
69
70
71}
72
73#undef IMPLEMENT_VECTOR
74#undef IMPLEMENT_SCALAR
#define IMPLEMENT_SCALAR(DATA_TYPE, VAR_NAME)
#define IMPLEMENT_VECTOR(DATA_TYPE, VAR_NAME)
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setWord1 uint16_t
setEventNumber uint32_t