ATLAS Offline Software
CommonGeoDB.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 def InitializeGeometryParameters(dbGeomCursor):
4  """Read version name, layout and dbm from AtlasCommon table.
5 
6  dbGeomCursor: AtlasGeoDBInterface instance
7  """
8 
9  dbId, dbCommon, dbParam = dbGeomCursor.GetCurrentLeafContent("AtlasCommon")
10 
11  params = {"Run" : "UNDEFINED",
12  "GeoType" : "UNDEFINED"}
13 
14  if len(dbId)>0:
15  key = dbId[0]
16  if "CONFIG" in dbParam :
17  params["Run"] = dbCommon[key][dbParam.index("CONFIG")]
18  if "GEOTYPE" in dbParam :
19  params["GeoType"] = dbCommon[key][dbParam.index("GEOTYPE")]
20 
21  return params
22 
24  """Read version name, layout and dbm from AtlasCommon table in SQLite
25 
26  sqliteDbReader: AtlasGeoDBInterface_SQLite instance
27  """
28 
29  dbData = sqliteDbReader.GetData("AtlasCommon")
30 
31  params = {"Run" : "UNDEFINED",
32  "GeoType" : "UNDEFINED"}
33 
34  if dbData:
35  if "CONFIG" in dbData[0].keys():
36  params["Run"] = dbData[0]["CONFIG"]
37  if "GEOTYPE" in dbData[0].keys():
38  params["GeoType"] = dbData[0]["GEOTYPE"]
39 
40  return params
41 
42 
44  """Read luminosity detectors from the DB
45 
46  dbGeomCursor: AtlasGeoDBInterface instance
47  """
48 
49  dbId, dbCommon, dbParam = dbGeomCursor.GetCurrentLeafContent("LuminositySwitches")
50 
51  params = {"BCMPrime" : False,
52  "PLR" : False}
53 
54  if len(dbId):
55  key = dbId[0]
56  if "BCMPRIME" in dbParam :
57  params["BCMPrime"] = dbCommon[key][dbParam.index("BCMPRIME")] == 1
58  if "PLR" in dbParam :
59  params["PLR"] = dbCommon[key][dbParam.index("PLR")] == 1
60 
61  return params
62 
64  """Read luminosity detectors from LuminositySwitches table in the SQLite DB
65 
66  sqliteDbReader: AtlasGeoDBInterface_SQLite instance
67  """
68 
69  dbData = sqliteDbReader.GetData("LuminositySwitches")
70 
71  params = {"BCMPrime" : False,
72  "PLR" : False}
73 
74  if dbData:
75  if "BCMPRIME" in dbData[0].keys():
76  params["BCMPrime"] = dbData[0]["BCMPRIME"] == 1
77  if "PLR" in dbData[0].keys():
78  params["PLR"] = dbData[0]["PLR"] == 1
79 
80  return params
81 
82 def SetupLocalSqliteGeometryDb(geometryFilePath,geometryTag):
83  """ Configure the reading of local SQLite Geometry Database file
84 
85  This process consists of three steps
86  1. It is necessary to create ./Geometry directory
87  2. Place in this directory a symlink to the geometryFilePath with the name 'geometryTag.db'
88  3. Prepend '.' to the CALIBPATH environment
89  """
90 
91  import os
92  if not os.path.exists("Geometry"):
93  try:
94  os.mkdir("Geometry")
95  except FileExistsError:
96  pass
97  linkName = geometryTag + ".db"
98  linkPath = os.path.join("Geometry",linkName)
99  if not os.path.exists(linkPath):
100  os.symlink(geometryFilePath,linkPath)
101  if 'CALIBPATH' in os.environ.keys():
102  os.environ['CALIBPATH']='.:'+ os.environ['CALIBPATH']
103  else:
104  os.environ['CALIBPATH']='.'
105 
106  return
107 
python.CommonGeoDB.SetupLocalSqliteGeometryDb
def SetupLocalSqliteGeometryDb(geometryFilePath, geometryTag)
Definition: CommonGeoDB.py:82
python.CommonGeoDB.InitializeGeometryParameters_SQLite
def InitializeGeometryParameters_SQLite(sqliteDbReader)
Definition: CommonGeoDB.py:23
python.CommonGeoDB.InitializeGeometryParameters
def InitializeGeometryParameters(dbGeomCursor)
Definition: CommonGeoDB.py:3
python.CommonGeoDB.InitializeLuminosityDetectorParameters_SQLite
def InitializeLuminosityDetectorParameters_SQLite(sqliteDbReader)
Definition: CommonGeoDB.py:63
python.CommonGeoDB.InitializeLuminosityDetectorParameters
def InitializeLuminosityDetectorParameters(dbGeomCursor)
Definition: CommonGeoDB.py:43
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790