ATLAS Offline Software
TRT_FillCablingData_DC3.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //
6 // TRT_FillCablingData_DC3 class - class used for filling
7 // of TRT Mapping in case of full ATLAS with the ROD05
8 // P.T. Keener
9 //
10 #ifndef TRT_FILLCABLINGDATA_DC3_H
11 #define TRT_FILLCABLINGDATA_DC3_H
12 
13 /*
14  * Base class
15  */
17 
18 #include "Identifier/Identifier.h"
20 #include "Identifier/IdContext.h"
21 
22 #include "TRT_CablingData.h"
24 #include "InDetIdentifier/TRT_ID.h"
25 
26 #include "eformat/SourceIdentifier.h" // change to new eformat v3
27 
28 #include <map>
29 #include <set>
30 #include <vector>
31 #include <stdint.h>
32 
34 
35  public:
36 
37  // Constructor
38  TRT_FillCablingData_DC3(const std::string& type, const std::string& name,
39  const IInterface* parent);
40 
41  // Destructor
42  virtual ~TRT_FillCablingData_DC3();
43 
44  //AlgTool InterfaceID
45  static const InterfaceID& interfaceID();
46 
47  virtual StatusCode initialize();
48  virtual StatusCode finalize();
49 
50  // Fill the data
52 
53  // Get ROBIDs for each Detector Element (Straw Layer)
54  std::vector<uint32_t> getRobID(Identifier id) const;
55 
56  private:
57  //Define map of collection IDs for all ROBs
58  void defineCollID();
60 
61  void fillCollID(uint32_t rob_id, std::vector<IdentifierHash> & ids);
62  void fillCollID_broken_FDR(uint32_t rob_id, std::vector<IdentifierHash> & ids);
63 
64 
66  StringProperty m_inputFilename;
67 
69 
70  std::set< uint32_t > m_validSourceIds;
71 
73 
75 
76  // Define parameters
77  void defineParameters();
78 
79  // Fill Tables with IDs for all straws
80  void defineTables();
82 
83  bool m_broken_FDR_Cabling = false;
84  bool m_RealData;
85 
86  int m_numberOfRings = 0;
87  int m_numberOfLayers[3]{};
88 
89  // Identifiers for all straws;
90  // Make 2D because IDs are different depending on which ROD we are
91  std::vector< std::vector<Identifier> > m_identfierForAllStraws;
92 
93  // Hashed Identifiers for all straws;
94  std::vector< std::vector<IdentifierHash> > m_identfierHashForAllStraws;
95 
96  // Identifiers for all Collections for RODs
97  std::vector<std::vector<IdentifierHash> *> m_collID;
98 
99  // Private version of number of straws in each layer
100  std::vector< int > m_numberOfStrawsInLayers;
101  std::vector< int > m_StrawsPerLayer;
102 
103  // Wheel to ROD index for EC
104  int m_StrawLayerToRod[160]{};
105 
106  // buffer offset to straw maps
107  std::map< int, int > m_barrel_a_map;
108  std::map< int, int > m_barrel_c_map;
109 
110  std::map< int, int > m_eca_l0_map;
111  std::map< int, int > m_eca_l1_map;
112  std::map< int, int > m_eca_r0_map;
113  std::map< int, int > m_eca_r1_map;
114 
115  std::map< int, int > m_ecc_l0_map;
116  std::map< int, int > m_ecc_l1_map;
117  std::map< int, int > m_ecc_r0_map;
118  std::map< int, int > m_ecc_r1_map;
119 
120 };
121 
122 #endif //TRT_FILLCABLINGDATA_DC3_H
TRT_FillCablingData_DC3::fillData
TRT_CablingData * fillData()
Definition: TRT_FillCablingData_DC3.cxx:135
TRT_FillCablingData_DC3::fillCollID_broken_FDR
void fillCollID_broken_FDR(uint32_t rob_id, std::vector< IdentifierHash > &ids)
Definition: TRT_FillCablingData_DC3.cxx:1818
TRT_FillCablingData_DC3::m_eca_l1_map
std::map< int, int > m_eca_l1_map
Definition: TRT_FillCablingData_DC3.h:111
TRT_FillCablingData_DC3::defineCollID_broken_FDR
void defineCollID_broken_FDR()
Definition: TRT_FillCablingData_DC3.cxx:1740
TRT_FillCablingData_DC3::m_ecc_r0_map
std::map< int, int > m_ecc_r0_map
Definition: TRT_FillCablingData_DC3.h:117
TRT_DetectorManager.h
TRT_CablingData.h
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TRT_FillCablingData_DC3::TRT_FillCablingData_DC3
TRT_FillCablingData_DC3(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TRT_FillCablingData_DC3.cxx:59
TRT_FillCablingData_DC3::m_barrel_c_map
std::map< int, int > m_barrel_c_map
Definition: TRT_FillCablingData_DC3.h:108
TRT_FillCablingData_DC3::interfaceID
static const InterfaceID & interfaceID()
Definition: TRT_FillCablingData_DC3.cxx:77
TRT_ID.h
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
TRT_FillCablingData_DC3::m_StrawLayerToRod
int m_StrawLayerToRod[160]
Definition: TRT_FillCablingData_DC3.h:104
TRT_FillCablingData_DC3::m_cntx
IdContext m_cntx
Definition: TRT_FillCablingData_DC3.h:72
TRT_FillCablingData_DC3::initialize
virtual StatusCode initialize()
Definition: TRT_FillCablingData_DC3.cxx:82
TRT_FillCablingData_DC3::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_DC3.cxx:1980
TRT_FillCablingData_DC3::m_identfierForAllStraws
std::vector< std::vector< Identifier > > m_identfierForAllStraws
Definition: TRT_FillCablingData_DC3.h:91
TRT_FillCablingData_DC3::m_eca_l0_map
std::map< int, int > m_eca_l0_map
Definition: TRT_FillCablingData_DC3.h:110
TRT_FillCablingData_DC3::fillCollID
void fillCollID(uint32_t rob_id, std::vector< IdentifierHash > &ids)
Definition: TRT_FillCablingData_DC3.cxx:1042
TRT_FillCablingData_DC3::m_collID
std::vector< std::vector< IdentifierHash > * > m_collID
Definition: TRT_FillCablingData_DC3.h:97
IdContext.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRT_FillCablingData_DC3::m_eca_r0_map
std::map< int, int > m_eca_r0_map
Definition: TRT_FillCablingData_DC3.h:112
TRT_FillCablingData_DC3::m_cabling
TRT_CablingData * m_cabling
Definition: TRT_FillCablingData_DC3.h:74
AthAlgTool.h
TRT_FillCablingData_DC3::m_TRTHelper
const TRT_ID * m_TRTHelper
Definition: TRT_FillCablingData_DC3.h:65
TRT_FillCablingData_DC3::m_barrel_a_map
std::map< int, int > m_barrel_a_map
Definition: TRT_FillCablingData_DC3.h:107
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TRT_FillCablingData_DC3::m_eca_r1_map
std::map< int, int > m_eca_r1_map
Definition: TRT_FillCablingData_DC3.h:113
TRT_FillCablingData_DC3::m_validSourceIds
std::set< uint32_t > m_validSourceIds
Definition: TRT_FillCablingData_DC3.h:70
TRT_FillCablingData_DC3::m_ecc_r1_map
std::map< int, int > m_ecc_r1_map
Definition: TRT_FillCablingData_DC3.h:118
TRT_FillCablingData_DC3::m_numberOfRings
int m_numberOfRings
Definition: TRT_FillCablingData_DC3.h:86
TRT_FillCablingData_DC3::m_ecc_l0_map
std::map< int, int > m_ecc_l0_map
Definition: TRT_FillCablingData_DC3.h:115
TRT_FillCablingData_DC3::finalize
virtual StatusCode finalize()
Definition: TRT_FillCablingData_DC3.cxx:125
TRT_FillCablingData_DC3
Definition: TRT_FillCablingData_DC3.h:33
TRT_FillCablingData_DC3::m_RealData
bool m_RealData
Definition: TRT_FillCablingData_DC3.h:84
TRT_FillCablingData_DC3::m_broken_FDR_Cabling
bool m_broken_FDR_Cabling
Definition: TRT_FillCablingData_DC3.h:83
TRT_FillCablingData_DC3::defineCollID
void defineCollID()
Definition: TRT_FillCablingData_DC3.cxx:964
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
IdentifierHash.h
TRT_FillCablingData_DC3::defineParameters
void defineParameters()
Definition: TRT_FillCablingData_DC3.cxx:141
TRT_ID
Definition: TRT_ID.h:84
TRT_FillCablingData_DC3::m_PartialDetector
bool m_PartialDetector
Definition: TRT_FillCablingData_DC3.h:68
TRT_CablingData
Definition: TRT_CablingData.h:18
TRT_FillCablingData_DC3::m_identfierHashForAllStraws
std::vector< std::vector< IdentifierHash > > m_identfierHashForAllStraws
Definition: TRT_FillCablingData_DC3.h:94
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TRT_FillCablingData_DC3::m_inputFilename
StringProperty m_inputFilename
Definition: TRT_FillCablingData_DC3.h:66
TRT_FillCablingData_DC3::~TRT_FillCablingData_DC3
virtual ~TRT_FillCablingData_DC3()
Definition: TRT_FillCablingData_DC3.cxx:73
TRT_FillCablingData_DC3::defineTables
void defineTables()
Definition: TRT_FillCablingData_DC3.cxx:176
TRT_FillCablingData_DC3::m_ecc_l1_map
std::map< int, int > m_ecc_l1_map
Definition: TRT_FillCablingData_DC3.h:116
AthAlgTool
Definition: AthAlgTool.h:26
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
TRT_FillCablingData_DC3::m_StrawsPerLayer
std::vector< int > m_StrawsPerLayer
Definition: TRT_FillCablingData_DC3.h:101
TRT_FillCablingData_DC3::m_numberOfLayers
int m_numberOfLayers[3]
Definition: TRT_FillCablingData_DC3.h:87
TRT_FillCablingData_DC3::m_numberOfStrawsInLayers
std::vector< int > m_numberOfStrawsInLayers
Definition: TRT_FillCablingData_DC3.h:100
TRT_FillCablingData_DC3::defineTables_broken_FDR
void defineTables_broken_FDR()
Definition: TRT_FillCablingData_DC3.cxx:1143
Identifier
Definition: IdentifierFieldParser.cxx:14