ATLAS Offline Software
InnerDetector
InDetDetDescr
TRT_Cabling
src
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
*/
16
#include "
AthenaBaseComps/AthAlgTool.h
"
17
18
#include "Identifier/Identifier.h"
19
#include "
Identifier/IdentifierHash.h
"
20
#include "
Identifier/IdContext.h
"
21
22
#include "
TRT_CablingData.h
"
23
#include "
TRT_ReadoutGeometry/TRT_DetectorManager.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
33
class
TRT_FillCablingData_DC3
:
public
AthAlgTool
{
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
51
TRT_CablingData
*
fillData
();
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
();
59
void
defineCollID_broken_FDR
();
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
65
const
TRT_ID
*
m_TRTHelper
;
66
StringProperty
m_inputFilename
;
67
68
bool
m_PartialDetector
;
69
70
std::set< uint32_t >
m_validSourceIds
;
71
72
IdContext
m_cntx
;
73
74
TRT_CablingData
*
m_cabling
=
nullptr
;
75
76
// Define parameters
77
void
defineParameters
();
78
79
// Fill Tables with IDs for all straws
80
void
defineTables
();
81
void
defineTables_broken_FDR
();
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:221
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
Generated on Thu Nov 7 2024 21:30:34 for ATLAS Offline Software by
1.8.18