ATLAS Offline Software
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):
7 namespace {
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  }
29 namespace 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
39  IMPLEMENT_SCALAR(uint8_t , sectID)
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_BCID)
64  IMPLEMENT_VECTOR(uint8_t, trig_dTheta)
65  IMPLEMENT_VECTOR(uint8_t, trig_ROI_rID)
66  IMPLEMENT_VECTOR(uint8_t, trig_ROI_phiID)
67 
68 
69 }
70 
71 #undef IMPLEMENT_VECTOR
72 #undef IMPLEMENT_SCALAR
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
PixelByteStreamErrors::BCID
@ BCID
Definition: PixelByteStreamErrors.h:13
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
IMPLEMENT_VECTOR
#define IMPLEMENT_VECTOR(DATA_TYPE, VAR_NAME)
Definition: NSWMMTPRDO_v1.cxx:10
IMPLEMENT_SCALAR
#define IMPLEMENT_SCALAR(DATA_TYPE, VAR_NAME)
Definition: NSWMMTPRDO_v1.cxx:20
NSWMMTPRDO_v1.h
TRT_PAI_gasdata::EC
const float EC[NC]
Energy levels for Carbon.
Definition: TRT_PAI_gasdata.h:241