ATLAS Offline Software
Loading...
Searching...
No Matches
Control
xAODRootAccess
python
ClassNameManips.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2
3
# Helper functions for class name manipulations
4
5
# For some of the finding
6
import
re
7
8
# For logging errors and warnings
9
from
AthenaCommon
import
Logging
10
cnm_log = Logging.logging.getLogger(
'ClassNameManips'
)
11
12
def
pers_to_trans_name
(p):
13
# Baseline: transient name is identical
14
t = p
15
# Let's look for a version in the name
16
vers = re.findall(
r'_v\d+'
,t )
17
if
len(vers)>1:
18
cnm_log.warning(
'Input name '
+p+
' seems to have multiple version numbers: '
+str(vers)+
' - will wipe them all'
)
19
for
v
in
vers:
20
# Wipe out the version
21
t = t.replace(v,
''
)
22
# Now convert data vectors
23
if
'DataVector<'
in
t:
24
t = t.replace(
'DataVector<'
,
''
).
replace
(
'>'
,
''
)
25
t =
'Container#'
.join(t.split(
'#'
))
26
cnm_log.debug(
'Translated '
+p+
' to '
+t)
27
return
t
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition
hcg.cxx:310
python.ClassNameManips.pers_to_trans_name
pers_to_trans_name(p)
Definition
ClassNameManips.py:12
Generated on
for ATLAS Offline Software by
1.14.0