ATLAS Offline Software
TRT_FillCablingData_SR1_ECC.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_SR1_ECC class - class used for filling
7 // of TRT Mapping in case of SR1 Cosmics
8 // P.T. Keener
9 //
10 #ifndef TRT_FILLCABLINGDATA_SR1_ECC_H
11 #define TRT_FILLCABLINGDATA_SR1_ECC_H
12 
13 
14 /*
15  * Base class
16  */
18 
19 #include "Identifier/Identifier.h"
21 #include "Identifier/IdContext.h"
22 
23 #include "TRT_CablingData.h"
25 #include "InDetIdentifier/TRT_ID.h"
26 
27 #include "eformat/SourceIdentifier.h" // change to new eformat v3
28 
30 
31 #include <map>
32 #include <vector>
33 #include <stdint.h>
34 
35 
36 
38 
39 public:
40 
41  // Constructor
42  TRT_FillCablingData_SR1_ECC(const std::string& type, const std::string& name,
43  const IInterface* parent);
44 
45  // Destructor
47 
48  //AlgTool InterfaceID
49  static const InterfaceID& interfaceID();
50 
51  virtual StatusCode initialize();
52 
53  virtual StatusCode finalize();
54 
55  // Fill the data
57 
58  //Define map of collection IDs for all ROBs
59  void defineCollID();
60 
61  // Get ROBIDs for each Detector Element (Straw Layer)
62  std::vector<uint32_t> getRobID(Identifier id) const;
63 
64  void fillCollID(uint32_t rob_id, std::vector<IdentifierHash> & ids);
65 
66 private:
67 
70 
72 
73  // Define parameters
74  void defineParameters();
75 
76  // Fill Tables with IDs for all straws
77  void defineTables();
78 
79  int m_numberOfRings = 0;
83  // int m_numberOfStrawsInBarrelROD;
84  // int m_shiftForRightBarrelStraws;
86 
87 
88  // Source ID for all robs
89  // std::vector<uint32_t> m_allRobs;
90 
91  // Vector for the mapping from phi to ROB Source ID
92  std::map<int, std::vector<uint32_t> > m_phi_to_source;
93 
94  // Identifiers for all straws;
95  // Make 2D because IDs are different depending on which ROD we are
96  std::vector< std::vector<Identifier> > m_identfierForAllStraws;
97  // std::vector<Identifier> m_identfierForAllStraws;
98 
99  // Hashed Identifiers for all straws;
100  std::vector< std::vector<IdentifierHash> > m_identfierHashForAllStraws;
101 
102  // Identifiers for all Collections for RODs
103  std::vector<std::vector<IdentifierHash> *> m_collID;
104 
105  // Private version of number of straws in each layer
106  std::vector< int > m_numberOfStrawsInLayers;
107 
108  // buffer offset to straw maps per ROD connector
109  std::map< int, int > m_1BS_1BL_map;
110  std::map< int, int > m_2BS_2BL1_map;
111  std::map< int, int > m_2BL2_3BL1_map;
112  std::map< int, int > m_3BL2_map;
113  std::map< int, int > m_3BS_map;
114 
115  std::map< int, int > m_1FS_1FL_map;
116  std::map< int, int > m_2FS_2FL1_map;
117  std::map< int, int > m_2FL2_3FL1_map;
118  std::map< int, int > m_3FL2_map;
119  std::map< int, int > m_3FS_map;
120 
121  std::map< int, int > m_ec_1l_map;
122  std::map< int, int > m_ec_2l_map;
123  std::map< int, int > m_ec_3l_map;
124 
125  std::map< int, int > m_ec_1r_map;
126  std::map< int, int > m_ec_2r_map;
127  std::map< int, int > m_ec_3r_map;
128 
129  // int m_NumberOfMapFiles;
130 
131 
133 
134 };
135 
136 #endif //TRT_FILLCABLINGDATA_SR1_H
TRT_FillCablingData_SR1_ECC::m_ec_1r_map
std::map< int, int > m_ec_1r_map
Definition: TRT_FillCablingData_SR1_ECC.h:125
TRT_FillCablingData_SR1_ECC::~TRT_FillCablingData_SR1_ECC
virtual ~TRT_FillCablingData_SR1_ECC()
Definition: TRT_FillCablingData_SR1_ECC.cxx:56
TRT_FillCablingData_SR1_ECC::defineParameters
void defineParameters()
Definition: TRT_FillCablingData_SR1_ECC.cxx:107
TRT_DetectorManager.h
TRT_CablingData.h
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TRT_FillCablingData_SR1_ECC::m_identfierHashForAllStraws
std::vector< std::vector< IdentifierHash > > m_identfierHashForAllStraws
Definition: TRT_FillCablingData_SR1_ECC.h:100
TRT_FillCablingData_SR1_ECC::m_ec_2l_map
std::map< int, int > m_ec_2l_map
Definition: TRT_FillCablingData_SR1_ECC.h:122
TRT_FillCablingData_SR1_ECC::defineTables
void defineTables()
Definition: TRT_FillCablingData_SR1_ECC.cxx:150
TRT_FillCablingData_SR1_ECC::interfaceID
static const InterfaceID & interfaceID()
Definition: TRT_FillCablingData_SR1_ECC.cxx:60
TRT_FillCablingData_SR1_ECC::m_2BL2_3BL1_map
std::map< int, int > m_2BL2_3BL1_map
Definition: TRT_FillCablingData_SR1_ECC.h:111
TRT_ID.h
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
TRT_FillCablingData_SR1_ECC::defineCollID
void defineCollID()
Definition: TRT_FillCablingData_SR1_ECC.cxx:881
TRT_FillCablingData_SR1_ECC::m_cabling
TRT_CablingData * m_cabling
Definition: TRT_FillCablingData_SR1_ECC.h:71
TRT_FillCablingData_SR1_ECC::initialize
virtual StatusCode initialize()
Definition: TRT_FillCablingData_SR1_ECC.cxx:65
TRT_FillCablingData_SR1_ECC::m_1FS_1FL_map
std::map< int, int > m_1FS_1FL_map
Definition: TRT_FillCablingData_SR1_ECC.h:115
TRT_FillCablingData_SR1_ECC::m_3BS_map
std::map< int, int > m_3BS_map
Definition: TRT_FillCablingData_SR1_ECC.h:113
TRT_FillCablingData_SR1_ECC::m_TRTHelper
const TRT_ID * m_TRTHelper
Definition: TRT_FillCablingData_SR1_ECC.h:68
TRT_FillCablingData_SR1_ECC::TRT_FillCablingData_SR1_ECC
TRT_FillCablingData_SR1_ECC(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TRT_FillCablingData_SR1_ECC.cxx:47
TRT_FillCablingData_SR1_ECC::m_cntx
IdContext m_cntx
Definition: TRT_FillCablingData_SR1_ECC.h:69
TRT_FillCablingData_SR1_ECC::m_numberOfRings
int m_numberOfRings
Definition: TRT_FillCablingData_SR1_ECC.h:79
TRT_FillCablingData_SR1_ECC::m_numberOfLayersA
int m_numberOfLayersA
Definition: TRT_FillCablingData_SR1_ECC.h:80
TRT_FillCablingData_SR1_ECC::m_2FL2_3FL1_map
std::map< int, int > m_2FL2_3FL1_map
Definition: TRT_FillCablingData_SR1_ECC.h:117
TRT_FillCablingData_SR1_ECC::m_ec_3l_map
std::map< int, int > m_ec_3l_map
Definition: TRT_FillCablingData_SR1_ECC.h:123
TRT_FillCablingData_SR1_ECC::m_identfierForAllStraws
std::vector< std::vector< Identifier > > m_identfierForAllStraws
Definition: TRT_FillCablingData_SR1_ECC.h:96
TRT_FillCablingData_SR1_ECC::fillCollID
void fillCollID(uint32_t rob_id, std::vector< IdentifierHash > &ids)
Definition: TRT_FillCablingData_SR1_ECC.cxx:905
IdContext.h
TRT_FillCablingData_SR1_ECC::m_numberOfStrawsInLayers
std::vector< int > m_numberOfStrawsInLayers
Definition: TRT_FillCablingData_SR1_ECC.h:106
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TRT_FillCablingData_SR1_ECC::m_CableMap
GlobalCableMap m_CableMap
Definition: TRT_FillCablingData_SR1_ECC.h:132
TRT_FillCablingData_SR1_ECC::m_ec_1l_map
std::map< int, int > m_ec_1l_map
Definition: TRT_FillCablingData_SR1_ECC.h:121
TRT_FillCablingData_SR1_ECC::m_3FS_map
std::map< int, int > m_3FS_map
Definition: TRT_FillCablingData_SR1_ECC.h:119
TRT_FillCablingData_SR1_ECC::m_collID
std::vector< std::vector< IdentifierHash > * > m_collID
Definition: TRT_FillCablingData_SR1_ECC.h:103
TRT_FillCablingData_SR1_ECC::m_numberOfLayersB
int m_numberOfLayersB
Definition: TRT_FillCablingData_SR1_ECC.h:81
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
IdentifierHash.h
TRT_FillCablingData_Types.h
TRT_FillCablingData_SR1_ECC::m_ec_3r_map
std::map< int, int > m_ec_3r_map
Definition: TRT_FillCablingData_SR1_ECC.h:127
TRT_FillCablingData_SR1_ECC::m_3FL2_map
std::map< int, int > m_3FL2_map
Definition: TRT_FillCablingData_SR1_ECC.h:118
TRT_FillCablingData_SR1_ECC::m_1BS_1BL_map
std::map< int, int > m_1BS_1BL_map
Definition: TRT_FillCablingData_SR1_ECC.h:109
TRT_FillCablingData_SR1_ECC::m_numberOfLayersC
int m_numberOfLayersC
Definition: TRT_FillCablingData_SR1_ECC.h:82
TRT_ID
Definition: TRT_ID.h:84
TRT_FillCablingData_SR1_ECC::m_3BL2_map
std::map< int, int > m_3BL2_map
Definition: TRT_FillCablingData_SR1_ECC.h:112
TRT_FillCablingData_SR1_ECC::m_numberOfIdentifierSectors
int m_numberOfIdentifierSectors
Definition: TRT_FillCablingData_SR1_ECC.h:85
TRT_CablingData
Definition: TRT_CablingData.h:18
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
GlobalCableMap
std::map< int, std::vector< GlobalCableMap_t * > > GlobalCableMap
Definition: TRT_FillCablingData_Types.h:20
TRT_FillCablingData_SR1_ECC::fillData
TRT_CablingData * fillData()
Definition: TRT_FillCablingData_SR1_ECC.cxx:101
TRT_FillCablingData_SR1_ECC::m_2BS_2BL1_map
std::map< int, int > m_2BS_2BL1_map
Definition: TRT_FillCablingData_SR1_ECC.h:110
TRT_FillCablingData_SR1_ECC::finalize
virtual StatusCode finalize()
Definition: TRT_FillCablingData_SR1_ECC.cxx:92
TRT_FillCablingData_SR1_ECC::m_2FS_2FL1_map
std::map< int, int > m_2FS_2FL1_map
Definition: TRT_FillCablingData_SR1_ECC.h:116
TRT_FillCablingData_SR1_ECC::m_ec_2r_map
std::map< int, int > m_ec_2r_map
Definition: TRT_FillCablingData_SR1_ECC.h:126
AthAlgTool
Definition: AthAlgTool.h:26
TRT_FillCablingData_SR1_ECC
Definition: TRT_FillCablingData_SR1_ECC.h:37
TRT_FillCablingData_SR1_ECC::getRobID
std::vector< uint32_t > getRobID(Identifier id) const
Definition: TRT_FillCablingData_SR1_ECC.cxx:1103
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
TRT_FillCablingData_SR1_ECC::m_phi_to_source
std::map< int, std::vector< uint32_t > > m_phi_to_source
Definition: TRT_FillCablingData_SR1_ECC.h:92
Identifier
Definition: IdentifierFieldParser.cxx:14